Skip to content

Commit d368146

Browse files
committed
fix(blueprint-prompt): 增量更新时强制逐个搜索验证每个target选择器,禁止走马观花式检查 (v1.2.5)
1 parent 25c88a3 commit d368146

3 files changed

Lines changed: 11 additions & 3 deletions

File tree

extension/esbuild.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ esbuild.build({
1515
}).then(() => {
1616
// 自动同步到所有已安装的 IDE 扩展目录(开发便利)
1717
const home = process.env.USERPROFILE || "";
18-
const extName = "testpilot-ai.testpilot-ai-1.2.4";
18+
const extName = "testpilot-ai.testpilot-ai-1.2.5";
1919
const ideDirs = [
2020
path.join(home, ".vscode", "extensions", extName),
2121
path.join(home, ".trae", "extensions", extName),

extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "testpilot-ai",
33
"displayName": "TestPilot AI",
44
"description": "AI驱动的自动化测试机器人 — 像人类一样操作UI、发现Bug、自动修复",
5-
"version": "1.2.4",
5+
"version": "1.2.5",
66
"publisher": "testpilot-ai",
77
"engines": {
88
"vscode": "^1.85.0"

extension/src/sidebarProvider.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,15 @@ export class SidebarProvider implements vscode.WebviewViewProvider {
615615
lines.push(`3. 通读项目源代码,确认已实现的功能列表`);
616616
lines.push(`4. 检查 testpilot/ 目录是否已有蓝本文件:`);
617617
lines.push(` - 若【没有蓝本】:按规则从零生成完整蓝本,保存到 testpilot/ 目录`);
618-
lines.push(` - 若【已有蓝本】:读取现有蓝本,与源码对比,仅更新有变化的字段/场景/步骤,保留正确部分不动,最终覆盖写回原文件(禁止新建额外文件)`);
618+
lines.push(` - 若【已有蓝本】:必须按以下步骤做增量更新(禁止跳过任意一步):`);
619+
lines.push(` a. 读取现有蓝本,列出其中所有 target 选择器`);
620+
lines.push(` b. 对每个 target,在项目源码中搜索该选择器(用 id、class、placeholder、type 等真实属性)`);
621+
lines.push(` - 搜到:保留`);
622+
lines.push(` - 搜不到或已失效:更正为源码中实际存在的选择器`);
623+
lines.push(` c. 检查源码中是否有新增功能未被现有蓝本覆盖,若有则补充对应场景`);
624+
lines.push(` d. 检查已删除的功能,删除对应场景`);
625+
lines.push(` e. 将更新后的完整蓝本覆盖写回原文件(禁止新建额外文件)`);
626+
lines.push(` ⚠️ 禁止仅凭印象或整体扫描就宣布"无需更新"——必须逐个搜索验证每个 target`);
619627

620628
const prompt = lines.join("\n");
621629
await vscode.env.clipboard.writeText(prompt);

0 commit comments

Comments
 (0)