@pm_zhousl/xinyun-ai-init 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/init/xinyun-ai-init/README.md +97 -3
- package/init/xinyun-ai-init/rules/directory-self-completion.md +3 -0
- package/init/xinyun-ai-init/rules/frameworks/README.md +16 -0
- package/init/xinyun-ai-init/rules/frameworks/backend/php/thinkphp.md +5 -0
- package/init/xinyun-ai-init/rules/frameworks/frontend/uni-app.md +5 -0
- package/init/xinyun-ai-init/rules/frameworks/frontend/wechat-miniprogram.md +5 -0
- package/init/xinyun-ai-init/rules/init-rules.md +3 -0
- package/init/xinyun-ai-init/rules/session-workbench.md +26 -0
- package/init/xinyun-ai-init/rules/upgrade-rules.md +3 -0
- package/init/xinyun-ai-init/templates/AGENTS.template.md +8 -0
- package/init/xinyun-ai-init/templates/core-rules.template.md +59 -0
- package/init/xinyun-ai-init/templates/current-task.template.md +34 -0
- package/init/xinyun-ai-init/templates/manifest.template.json +6 -2
- package/init/xinyun-ai-init/templates/project-check.template.md +9 -0
- package/init/xinyun-ai-init/templates/project-guide.template.md +30 -1
- package/init/xinyun-ai-init/templates/project-index.template.json +32 -0
- package/init/xinyun-ai-init/templates/workstreams-readme.template.md +15 -0
- package/init/xinyun-ai-init/version.json +1 -1
- package/package.json +1 -1
- package/scripts/verify-init-package.js +95 -8
- package/test-scenarios/README.md +3 -3
- package/test-scenarios/review-template.md +6 -2
- package/test-scenarios/scenarios.md +91 -4
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
本目录是“欣芸技术开发 Agent 流”的初始化包,负责把完整 AI 执行要求下发到目标项目。
|
|
4
4
|
|
|
5
|
-
当前规则版本:`1.
|
|
5
|
+
当前规则版本:`1.4.0`。
|
|
6
6
|
|
|
7
7
|
## Codex 一句话入口
|
|
8
8
|
|
|
@@ -35,8 +35,11 @@ AI 读取本文件后,必须按以下方式执行:
|
|
|
35
35
|
9. 复杂改动可使用双会话执行闭环,主会话负责计划和复核,执行会话只按任务单执行。
|
|
36
36
|
10. 需求模糊、涉及改动或出现高风险词时,先做中文需求解析和任务分型;普通咨询不强制输出完整解析结构。
|
|
37
37
|
11. 新功能、大改、重构、跨端、规则或索引调整时,先做全局影响审视;首次极速初始化不强制创建全局审视目录。
|
|
38
|
-
12.
|
|
39
|
-
13.
|
|
38
|
+
12. 识别 ThinkPHP、uni-app、微信小程序时必须输出证据路径、证据类型、识别状态和覆盖范围,遵守读取预算。
|
|
39
|
+
13. 多仓库 Git 只做只读索引与端口映射,不执行任何 Git 写操作。
|
|
40
|
+
14. 字段新增、删除、重命名、类型 / 含义变化、API 映射或前端展示变化时,先做有边界的字段影响审视。
|
|
41
|
+
15. 首次初始化不执行语言级语法检查、lint、typecheck、测试或构建命令;本机缺少运行时只记录为待确认,不展开长解释。
|
|
42
|
+
16. 完成后用中文输出初始化或升级结果、项目导读、待确认问题和后续短指令。
|
|
40
43
|
|
|
41
44
|
## 初始化授权边界
|
|
42
45
|
|
|
@@ -123,6 +126,10 @@ CLI 只负责生成 `xinyun-ai-init/`,不创建 `xinyun-ai/`,也不修改业
|
|
|
123
126
|
|
|
124
127
|
任务类型至少包括:问题排查、新功能开发、UI 调整、API / 接口调整、数据库 / SQL、商业逻辑、Git / 发布、文档沉淀、规则调整、临时咨询。
|
|
125
128
|
|
|
129
|
+
字段变更类任务还必须细分为:数据库字段新增 / 删除 / 重命名、字段类型或含义变更、API 字段调整、字段展示或渲染调整。
|
|
130
|
+
|
|
131
|
+
字段相关需求必须输出字段分类和专项路由:字段影响审视 / 普通改动计划 / SQL 提醒 / 业务流程理解。信息不足时最多追问 1-3 个关键问题,不得直接脑补并修改代码。
|
|
132
|
+
|
|
126
133
|
高歧义表达包括:优化一下、处理一下、不对、怪怪的、照之前、顺便、差不多、参考一下。
|
|
127
134
|
|
|
128
135
|
高风险词包括:订单、支付、退款、优惠券、会员、权益、金额、积分、分润、提现、结算、权限、删除、批量、发布、回滚。
|
|
@@ -237,6 +244,75 @@ rules/frameworks/frontend/wechat-miniprogram.md
|
|
|
237
244
|
|
|
238
245
|
未识别到对应框架时,不强行套用该框架规则。
|
|
239
246
|
|
|
247
|
+
框架识别默认预算:
|
|
248
|
+
|
|
249
|
+
- 每个端口从端口根目录向下最多发现 3 层目录。
|
|
250
|
+
- 每个端口最多读取 20 个关键文件。
|
|
251
|
+
- 正向识别必须列出证据路径和证据类型,如依赖、配置、入口、目录结构、代码特征。
|
|
252
|
+
- 只有单一线索时标注 `推断` 或 `待确认`。
|
|
253
|
+
- 预算内无证据时标注 `未在项目中发现`。
|
|
254
|
+
- 超预算、权限不足或路径不可读时标注 `状态未知`,并写明 `覆盖范围:部分` 和未检查范围。
|
|
255
|
+
- 不把 uni-app 规则套到原生微信小程序,也不把微信小程序规则套到 uni-app。
|
|
256
|
+
|
|
257
|
+
识别输出建议:
|
|
258
|
+
|
|
259
|
+
```md
|
|
260
|
+
## 轻量框架识别
|
|
261
|
+
- workstream:
|
|
262
|
+
- 框架候选:
|
|
263
|
+
- 识别状态:已确认 / 推断 / 待确认 / 未在项目中发现 / 状态未知
|
|
264
|
+
- 覆盖范围:完整 / 部分
|
|
265
|
+
- 发现预算:目录深度 3 层、关键文件 20 个
|
|
266
|
+
- 证据:路径、证据类型、命中内容摘要
|
|
267
|
+
- 未检查范围:
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## 字段变更影响审视
|
|
271
|
+
|
|
272
|
+
当需求涉及字段新增、删除、重命名、类型变化、含义变化、API 映射变化或前端展示变化时,AI 必须先做字段影响审视,再进入改动计划。
|
|
273
|
+
|
|
274
|
+
字段影响审视必须区分数据库字段、API 字段和前端展示字段。
|
|
275
|
+
|
|
276
|
+
默认审视范围:
|
|
277
|
+
|
|
278
|
+
- 数据库表结构、migration、Model、Entity、ORM、查询和写入。
|
|
279
|
+
- Service、DAO、参数校验、状态流转、计算、缓存和队列。
|
|
280
|
+
- API 请求、响应、DTO、Serializer 和接口文档。
|
|
281
|
+
- 各端表单、列表、详情、表格、筛选、状态、格式化、图表、导出和打印。
|
|
282
|
+
- Mock、Seed、测试数据、空值、旧值、默认值、历史数据和兼容性。
|
|
283
|
+
|
|
284
|
+
默认预算:
|
|
285
|
+
|
|
286
|
+
- 检索根目录为项目根目录和已确认端口 / workstream 根目录。
|
|
287
|
+
- 每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录。
|
|
288
|
+
- 排除 `node_modules`、`dist`、`build`、`vendor`、`.git`、`.codegraph`、`storage`、`runtime`、`unpackage`、`coverage`、二进制文件和明确生成目录。
|
|
289
|
+
- CodeGraph 可用时,结构性影响优先使用 CodeGraph;CodeGraph 不可用时,降级为入口文件、配置文件、结构化检索和限定范围文本检索,并标注降级状态。
|
|
290
|
+
- 动态 SQL、动态字段名、序列化、反射和生成代码无法确认时,列为 `待确认` 或 `可能遗漏位置`。
|
|
291
|
+
- 超过预算时停止扩展检索,标注 `审视状态:部分覆盖`、`状态未知` 和 `可能遗漏位置`。
|
|
292
|
+
|
|
293
|
+
字段影响审视输出契约:
|
|
294
|
+
|
|
295
|
+
```md
|
|
296
|
+
## 字段影响审视
|
|
297
|
+
- 审视状态:完整覆盖 / 部分覆盖 / 状态未知
|
|
298
|
+
- 字段分类:数据库字段 / API 字段 / 前端展示字段
|
|
299
|
+
- 字段名称与原含义:
|
|
300
|
+
- 调整后含义:
|
|
301
|
+
- 检索根目录:
|
|
302
|
+
- 排除目录与文件:
|
|
303
|
+
- CodeGraph 状态:可用 / 不可用 / 降级
|
|
304
|
+
- 降级原因:
|
|
305
|
+
- 工具预算:
|
|
306
|
+
- 证据列表:路径、位置、匹配内容、判断状态
|
|
307
|
+
- 已覆盖范围:
|
|
308
|
+
- 可能遗漏位置:
|
|
309
|
+
- 旧数据兼容方案:
|
|
310
|
+
- 最终风险:
|
|
311
|
+
- 是否需要用户确认:
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
只改展示方式时,不得顺手修改数据库和 API。未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
|
315
|
+
|
|
240
316
|
## 执行模式
|
|
241
317
|
|
|
242
318
|
如果项目没有 `xinyun-ai/`:
|
|
@@ -325,6 +401,24 @@ AI 可以读取 Git 状态、总结 diff、建议 commit message 和 tag;未
|
|
|
325
401
|
|
|
326
402
|
多端多仓库改动后,应按仓库分别输出交付摘要和建议 commit message,不要混成一个提交建议。
|
|
327
403
|
|
|
404
|
+
### 多仓库 Git 只读索引与端口映射
|
|
405
|
+
|
|
406
|
+
AI 可以建立“项目 → 端口 / workstream → Git 仓库”的只读索引,但全程禁止 Git 写操作。
|
|
407
|
+
|
|
408
|
+
默认发现预算:
|
|
409
|
+
|
|
410
|
+
- 从项目根目录向下最多发现 4 层目录。
|
|
411
|
+
- 最多记录 20 个仓库候选和 200 个相关目录 / 文件条目。
|
|
412
|
+
- 覆盖根仓库、嵌套 `.git`、子模块和 worktree。
|
|
413
|
+
- 超过预算、权限不足、路径不可读或状态无法确认时,标注 `状态未知`,不得判断为无 Git。
|
|
414
|
+
- 预算内完成检查且无 Git 证据时,标注 `未在项目中发现`。
|
|
415
|
+
|
|
416
|
+
仓库索引字段:`repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
417
|
+
|
|
418
|
+
`kind` 取值为:`root` / `nested` / `submodule` / `worktree`。
|
|
419
|
+
|
|
420
|
+
只读 Git 操作范围:读取状态、分支、remote、diff 摘要和配置证据。禁止 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout`、`switch`、回滚和切分支。
|
|
421
|
+
|
|
328
422
|
## 按需补齐
|
|
329
423
|
|
|
330
424
|
后续识别到新端、模块或能力时,只在 `xinyun-ai/` 内补齐对应目录和说明文件。
|
|
@@ -13,3 +13,6 @@
|
|
|
13
13
|
- 首次极速初始化不强制创建 `xinyun-ai/global-review/`。
|
|
14
14
|
- 创建或更新全局审视后,必须同步 `xinyun-ai/global-review/index.json` 和 `xinyun-ai/index/project-index.json`。
|
|
15
15
|
- 全局审视最小字段包括:`reviewId`、触发原因、关联任务、影响层、已确认内容、推断内容、待确认内容、风险点、后续动作、创建时间、更新时间。
|
|
16
|
+
- 识别到端口框架线索时,可按需补齐 `workstreams/<端>/`,记录 ThinkPHP / uni-app / 微信小程序识别证据、证据类型、发现预算、覆盖范围、`未在项目中发现` 或 `状态未知`。
|
|
17
|
+
- 识别到多仓库 Git 结构时,可按需补齐端口 Git 只读索引,记录 `repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`,不得执行 Git 写操作。
|
|
18
|
+
- 触发字段影响审视时,可按需补齐字段审视记录,记录字段分类、检索根目录、排除项、CodeGraph 状态、证据、可能遗漏位置、兼容方案和确认状态。
|
|
@@ -27,3 +27,19 @@ frameworks/frontend/<framework>.md
|
|
|
27
27
|
- 如需进一步确认,放到后续任务按需补齐。
|
|
28
28
|
- 未识别到对应框架时,不强行套用该框架规则。
|
|
29
29
|
- 多端项目应分别说明每个端口的框架、入口、启动线索和请求链路线索。
|
|
30
|
+
- 每个端口从端口根目录向下最多发现 3 层目录,最多读取 20 个关键文件。
|
|
31
|
+
- 正向识别必须列出证据路径和证据类型,证据类型包括依赖、配置、入口、目录结构和代码特征。
|
|
32
|
+
- 预算内无识别证据时标注 `未在项目中发现`。
|
|
33
|
+
- 权限不足、路径不可读或超过预算时标注 `状态未知`,同时写明 `覆盖范围:部分` 和未检查范围。
|
|
34
|
+
- 单一线索只能标注 `推断` 或 `待确认`。
|
|
35
|
+
- 不把 uni-app 规则套到原生微信小程序,也不把微信小程序规则套到 uni-app。
|
|
36
|
+
|
|
37
|
+
## 输出字段
|
|
38
|
+
|
|
39
|
+
- workstream
|
|
40
|
+
- 框架候选
|
|
41
|
+
- 识别状态:已确认 / 推断 / 待确认 / 未在项目中发现 / 状态未知
|
|
42
|
+
- 覆盖范围:完整 / 部分
|
|
43
|
+
- 发现预算:目录深度 3 层、关键文件 20 个
|
|
44
|
+
- 证据:路径、证据类型、命中内容摘要
|
|
45
|
+
- 未检查范围
|
|
@@ -27,3 +27,8 @@
|
|
|
27
27
|
- 首次初始化不为确认 ThinkPHP 做全量 grep。
|
|
28
28
|
- 不把 ThinkPHP 规则套到其他 PHP 框架。
|
|
29
29
|
- 不默认生成大量 ThinkPHP 说明文件。
|
|
30
|
+
- 每个端口从端口根目录向下最多发现 3 层目录,最多读取 20 个关键文件。
|
|
31
|
+
- 正向识别必须输出证据路径和证据类型:依赖、入口、目录结构、配置或代码特征。
|
|
32
|
+
- 预算内无 ThinkPHP 证据时标注 `未在项目中发现`。
|
|
33
|
+
- 超预算、权限不足或路径不可读时标注 `状态未知` 和 `覆盖范围:部分`,并列出未检查范围。
|
|
34
|
+
- 单一线索不能直接确认 ThinkPHP,只能标注 `推断` 或 `待确认`。
|
|
@@ -29,3 +29,8 @@
|
|
|
29
29
|
- 只发现单一线索时,标注为 `推断` 或 `待确认`,不得直接当作已确认 uni-app 项目。
|
|
30
30
|
- 首次初始化不为确认 uni-app 做全量 grep。
|
|
31
31
|
- 不把 uni-app 规则套到原生微信小程序。
|
|
32
|
+
- 每个端口从端口根目录向下最多发现 3 层目录,最多读取 20 个关键文件。
|
|
33
|
+
- 正向识别必须输出证据路径和证据类型:依赖、配置、入口、目录结构或代码特征。
|
|
34
|
+
- 预算内无 uni-app 证据时标注 `未在项目中发现`。
|
|
35
|
+
- 超预算、权限不足或路径不可读时标注 `状态未知` 和 `覆盖范围:部分`,并列出未检查范围。
|
|
36
|
+
- 不把原生微信小程序规则反向套到 uni-app。
|
|
@@ -29,3 +29,8 @@
|
|
|
29
29
|
- 只发现单一线索时,标注为 `推断` 或 `待确认`,不得直接当作已确认微信小程序项目。
|
|
30
30
|
- 首次初始化不为确认微信小程序做全量 grep。
|
|
31
31
|
- 不把微信小程序规则套到 uni-app。
|
|
32
|
+
- 每个端口从端口根目录向下最多发现 3 层目录,最多读取 20 个关键文件。
|
|
33
|
+
- 正向识别必须输出证据路径和证据类型:配置、入口、页面结构、目录结构或代码特征。
|
|
34
|
+
- 预算内无微信小程序证据时标注 `未在项目中发现`。
|
|
35
|
+
- 超预算、权限不足或路径不可读时标注 `状态未知` 和 `覆盖范围:部分`,并列出未检查范围。
|
|
36
|
+
- 不把 uni-app 规则反向套到原生微信小程序。
|
|
@@ -15,3 +15,6 @@
|
|
|
15
15
|
- 首次极速初始化不强制创建 `xinyun-ai/global-review/`。
|
|
16
16
|
- 需求模糊、涉及改动或出现高风险词时,先做中文需求解析;普通咨询不强制输出完整解析结构。
|
|
17
17
|
- 中文需求解析最多追问 1-3 个关键问题。
|
|
18
|
+
- ThinkPHP、uni-app、微信小程序轻量识别每个端口最多发现 3 层目录、读取 20 个关键文件,必须记录证据路径、证据类型、识别状态和覆盖范围。
|
|
19
|
+
- 多仓库 Git 只读索引最多发现 4 层目录、20 个仓库候选和 200 个目录 / 文件条目,只读取状态与证据,不执行 Git 写操作。
|
|
20
|
+
- 字段新增、删除、重命名、类型 / 含义变化、API 映射或前端展示变化时,先做字段影响审视;未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
|
@@ -24,6 +24,10 @@ xinyun-ai/index/session-current.md
|
|
|
24
24
|
|
|
25
25
|
双会话交接单至少记录:执行前 Git 或文件状态、实际修改文件、diff 摘要、测试结果、未完成事项、新风险和是否存在超范围修改。
|
|
26
26
|
|
|
27
|
+
字段变更任务单还必须记录字段分类、专项路由、字段影响审视状态、检索根目录、排除项、CodeGraph 状态、证据预算、允许修改文件、禁止修改范围、SQL / migration / seed 禁止项和用户确认状态。
|
|
28
|
+
|
|
29
|
+
多仓库 Git 任务单还必须记录只读仓库索引:`repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`,以及是否存在 `状态未知` 或 `未在项目中发现`。
|
|
30
|
+
|
|
27
31
|
状态机至少包含:待确认、待执行、执行中、暂停待复核、待主会话复核、已完成、失败、中断、超时、阻塞、取消、需重新确认。
|
|
28
32
|
|
|
29
33
|
失败、中断、超时后不得自动重试。重试必须由主会话重新确认并增加 `attempt`,不能覆盖历史交接结果。
|
|
@@ -52,6 +56,20 @@ xinyun-ai/index/session-current.md
|
|
|
52
56
|
|
|
53
57
|
## 数据库 / API / UI / 配置影响
|
|
54
58
|
|
|
59
|
+
## 字段影响审视
|
|
60
|
+
|
|
61
|
+
- 字段分类:
|
|
62
|
+
- 专项路由:
|
|
63
|
+
- 审视状态:
|
|
64
|
+
- 检索根目录:
|
|
65
|
+
- 排除目录与文件:
|
|
66
|
+
- CodeGraph 状态:
|
|
67
|
+
- 工具预算:
|
|
68
|
+
- 证据列表:
|
|
69
|
+
- 可能遗漏位置:
|
|
70
|
+
- 旧数据兼容方案:
|
|
71
|
+
- 是否需要用户确认:
|
|
72
|
+
|
|
55
73
|
## 验证命令
|
|
56
74
|
|
|
57
75
|
## 验收标准
|
|
@@ -90,4 +108,12 @@ xinyun-ai/index/session-current.md
|
|
|
90
108
|
## 是否执行过高风险操作
|
|
91
109
|
|
|
92
110
|
## 是否发现新影响范围
|
|
111
|
+
|
|
112
|
+
## 字段影响审视交接
|
|
113
|
+
|
|
114
|
+
- 审视状态:
|
|
115
|
+
- 实际证据数量:
|
|
116
|
+
- 可能遗漏位置:
|
|
117
|
+
- 兼容方案变化:
|
|
118
|
+
- 是否触发重新确认:
|
|
93
119
|
```
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
- 是否需要补充中文需求解析和任务分型规则。
|
|
26
26
|
- 是否需要补充 `xinyun-ai/global-review/` 按需创建规则。
|
|
27
27
|
- 是否需要补充轻量框架适配识别规则。
|
|
28
|
+
- 是否需要补充框架识别证据路径、证据类型、发现预算、`状态未知` 和 `未在项目中发现` 语义。
|
|
29
|
+
- 是否需要补充多仓库 Git 只读索引字段:`repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
30
|
+
- 是否需要补充字段影响审视、字段任务分型和字段专项路由规则。
|
|
28
31
|
- 当前 `xinyun-ai/manifest.json` 的版本是否低于初始化包版本。
|
|
29
32
|
|
|
30
33
|
涉及正式规则、目录结构、索引结构或旧规则合并时,必须先确认。
|
|
@@ -58,6 +58,8 @@
|
|
|
58
58
|
|
|
59
59
|
任务类型至少包括:问题排查、新功能开发、UI 调整、API / 接口调整、数据库 / SQL、商业逻辑、Git / 发布、文档沉淀、规则调整、临时咨询。
|
|
60
60
|
|
|
61
|
+
字段变更类任务必须细分为:数据库字段新增 / 删除 / 重命名、字段类型或含义变更、API 字段调整、字段展示或渲染调整,并路由到字段影响审视 / 普通改动计划 / SQL 提醒 / 业务流程理解。
|
|
62
|
+
|
|
61
63
|
高歧义表达包括:优化一下、处理一下、不对、怪怪的、照之前、顺便、差不多、参考一下。
|
|
62
64
|
|
|
63
65
|
高风险词包括:订单、支付、退款、优惠券、会员、权益、金额、积分、分润、提现、结算、权限、删除、批量、发布、回滚。
|
|
@@ -82,6 +84,12 @@
|
|
|
82
84
|
|
|
83
85
|
未获用户明确确认前,AI 不得自动执行 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout` 回滚或切分支。
|
|
84
86
|
|
|
87
|
+
多仓库 Git 只读索引最多向下发现 4 层目录、记录 20 个仓库候选和 200 个目录 / 文件条目;仓库索引必须包含 `repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。预算内无证据标注 `未在项目中发现`;超预算、权限不足、路径不可读或状态无法确认标注 `状态未知`。
|
|
88
|
+
|
|
89
|
+
ThinkPHP、uni-app、微信小程序轻量识别每个端口最多发现 3 层目录、读取 20 个关键文件。正向识别必须输出证据路径和证据类型;预算内无证据标注 `未在项目中发现`;超预算、权限不足或路径不可读标注 `状态未知` 和 `覆盖范围:部分`;不得混用 uni-app 与原生微信小程序规则。
|
|
90
|
+
|
|
91
|
+
字段新增、删除、重命名、类型变化、含义变化、API 映射变化或前端展示变化时,必须先做字段影响审视,区分数据库字段 / API 字段 / 前端展示字段,说明检索根目录、排除项、CodeGraph 状态、证据列表、覆盖范围、可能遗漏、旧数据兼容方案、风险和确认状态。每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录;未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
|
92
|
+
|
|
85
93
|
复杂改动可使用双会话执行闭环。主会话负责理解中文需求、识别任务类型和影响范围、生成改动计划、等待用户确认、生成执行任务单、复核执行结果并输出最终交付结论。执行会话负责读取任务单、只在确认范围内执行、进行必要验证、输出执行交接单、不创建第三个会话、不自行扩大范围。
|
|
86
94
|
|
|
87
95
|
双会话文件契约:`xinyun-ai/current-task.md` 由主会话维护;`xinyun-ai/index/session-current.md` 是主会话创建的临时执行任务单,执行会话只读;`xinyun-ai/handoffs/current-execution.md` 是执行会话写入的执行交接单,主会话只读复核。
|
|
@@ -84,6 +84,9 @@
|
|
|
84
84
|
- 需求模糊、涉及改动或出现高风险词时,先做中文需求语义规范化;普通咨询不强制输出完整解析结构。
|
|
85
85
|
- 中文需求解析格式必须保留用户原话,并包含 AI 理解、任务类型、影响对象、可能涉及、不确定点、风险词、是否需要追问和下一步处理方式。
|
|
86
86
|
- 任务类型至少包括:问题排查、新功能开发、UI 调整、API / 接口调整、数据库 / SQL、商业逻辑、Git / 发布、文档沉淀、规则调整、临时咨询。
|
|
87
|
+
- 字段变更类任务必须细分为:数据库字段新增 / 删除 / 重命名、字段类型或含义变更、API 字段调整、字段展示或渲染调整。
|
|
88
|
+
- 字段相关需求必须输出字段分类和专项路由:字段影响审视 / 普通改动计划 / SQL 提醒 / 业务流程理解。
|
|
89
|
+
- 字段影响审视触发后必须说明影响对象、检索范围、证据、待确认位置和下一步处理方式;信息不足时最多追问 1-3 个关键问题。
|
|
87
90
|
- 高歧义表达包括:优化一下、处理一下、不对、怪怪的、照之前、顺便、差不多、参考一下。
|
|
88
91
|
- 高风险词包括:订单、支付、退款、优惠券、会员、权益、金额、积分、分润、提现、结算、权限、删除、批量、发布、回滚。
|
|
89
92
|
- 高歧义需求最多追问 1-3 个关键问题;信息足够时直接进入对应任务流程。
|
|
@@ -152,6 +155,10 @@
|
|
|
152
155
|
- AI 可以读取 Git 状态、总结 diff、建议 commit message 和 tag。
|
|
153
156
|
- 未获用户明确确认前,不得自动执行 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout` 回滚或切分支。
|
|
154
157
|
- 多端多仓库改动后,应按仓库分别输出交付摘要和建议 commit message。
|
|
158
|
+
- 多仓库 Git 只读索引最多向下发现 4 层目录、记录 20 个仓库候选和 200 个目录 / 文件条目。
|
|
159
|
+
- Git 仓库索引必须覆盖根仓库、嵌套 `.git`、子模块和 worktree,并记录 `repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
160
|
+
- Git 只读索引全程禁止 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout`、`switch`、回滚和切分支。
|
|
161
|
+
- 预算内无 Git 证据时标注 `未在项目中发现`;超预算、权限不足、路径不可读或状态无法确认时标注 `状态未知`,不得判断为无 Git。
|
|
155
162
|
|
|
156
163
|
## 框架适配
|
|
157
164
|
|
|
@@ -163,6 +170,58 @@
|
|
|
163
170
|
- 不为确认框架做全量 grep 或追完整调用链。
|
|
164
171
|
- 如需进一步确认,放到后续任务按需补齐。
|
|
165
172
|
- 未识别到对应框架时,不强行套用该框架规则。
|
|
173
|
+
- 每个端口从端口根目录向下最多发现 3 层目录,最多读取 20 个关键文件。
|
|
174
|
+
- 正向识别必须输出证据路径和证据类型,如依赖、配置、入口、目录结构、代码特征。
|
|
175
|
+
- 预算内无识别证据时标注 `未在项目中发现`;超预算、权限不足或路径不可读时标注 `状态未知` 和 `覆盖范围:部分`。
|
|
176
|
+
- 不把 uni-app 规则套到原生微信小程序,也不把微信小程序规则套到 uni-app。
|
|
177
|
+
|
|
178
|
+
框架识别输出建议:
|
|
179
|
+
|
|
180
|
+
```md
|
|
181
|
+
## 轻量框架识别
|
|
182
|
+
- workstream:
|
|
183
|
+
- 框架候选:
|
|
184
|
+
- 识别状态:已确认 / 推断 / 待确认 / 未在项目中发现 / 状态未知
|
|
185
|
+
- 覆盖范围:完整 / 部分
|
|
186
|
+
- 发现预算:目录深度 3 层、关键文件 20 个
|
|
187
|
+
- 证据:路径、证据类型、命中内容摘要
|
|
188
|
+
- 未检查范围:
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## 字段变更影响审视
|
|
192
|
+
|
|
193
|
+
- 字段新增、删除、重命名、类型变化、含义变化、API 映射变化或前端展示变化,必须先做字段影响审视。
|
|
194
|
+
- 字段影响审视必须区分数据库字段、API 字段和前端展示字段。
|
|
195
|
+
- 检查范围包括数据库表结构、migration、Model、Entity、ORM、查询写入、Service、DAO、参数校验、状态流转、计算、缓存、队列、API 请求 / 响应 / DTO / Serializer / 文档、各端表单 / 列表 / 详情 / 表格 / 筛选 / 状态 / 格式化 / 图表 / 导出 / 打印、Mock / Seed / 测试数据 / 空值 / 旧值 / 默认值 / 历史数据 / 兼容性。
|
|
196
|
+
- 检索根目录为项目根目录和已确认端口 / workstream 根目录。
|
|
197
|
+
- 每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录。
|
|
198
|
+
- 排除 `node_modules`、`dist`、`build`、`vendor`、`.git`、`.codegraph`、`storage`、`runtime`、`unpackage`、`coverage`、二进制文件和明确生成目录。
|
|
199
|
+
- CodeGraph 可用时,结构性影响优先使用 CodeGraph;CodeGraph 不可用时,降级为入口文件、配置文件、结构化检索和限定范围文本检索,并标注降级状态。
|
|
200
|
+
- 动态 SQL、动态字段名、序列化、反射和生成代码无法确认时,列为 `待确认` 或 `可能遗漏位置`。
|
|
201
|
+
- 超过预算时停止扩展检索,标注 `审视状态:部分覆盖`、`状态未知` 和 `可能遗漏位置`。
|
|
202
|
+
- 只改展示方式时,不得顺手修改数据库和 API。
|
|
203
|
+
- 未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
|
204
|
+
|
|
205
|
+
字段影响审视输出契约:
|
|
206
|
+
|
|
207
|
+
```md
|
|
208
|
+
## 字段影响审视
|
|
209
|
+
- 审视状态:完整覆盖 / 部分覆盖 / 状态未知
|
|
210
|
+
- 字段分类:数据库字段 / API 字段 / 前端展示字段
|
|
211
|
+
- 字段名称与原含义:
|
|
212
|
+
- 调整后含义:
|
|
213
|
+
- 检索根目录:
|
|
214
|
+
- 排除目录与文件:
|
|
215
|
+
- CodeGraph 状态:可用 / 不可用 / 降级
|
|
216
|
+
- 降级原因:
|
|
217
|
+
- 工具预算:
|
|
218
|
+
- 证据列表:路径、位置、匹配内容、判断状态
|
|
219
|
+
- 已覆盖范围:
|
|
220
|
+
- 可能遗漏位置:
|
|
221
|
+
- 旧数据兼容方案:
|
|
222
|
+
- 最终风险:
|
|
223
|
+
- 是否需要用户确认:
|
|
224
|
+
```
|
|
166
225
|
|
|
167
226
|
## 理解深度状态
|
|
168
227
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
- 用户原话:
|
|
7
7
|
- AI 理解:
|
|
8
8
|
- 任务类型:
|
|
9
|
+
- 字段任务分型:
|
|
10
|
+
- 字段专项路由:
|
|
9
11
|
- 影响对象:
|
|
10
12
|
- 可能涉及:
|
|
11
13
|
- 不确定点:
|
|
@@ -31,6 +33,38 @@
|
|
|
31
33
|
- 推断内容:
|
|
32
34
|
- 待确认内容:
|
|
33
35
|
- Git 模式与仓库影响:
|
|
36
|
+
- 多仓库 Git 只读索引:
|
|
37
|
+
- repoRoot:
|
|
38
|
+
- path:
|
|
39
|
+
- workstream:
|
|
40
|
+
- kind:
|
|
41
|
+
- parentRepo:
|
|
42
|
+
- branch:
|
|
43
|
+
- remote:
|
|
44
|
+
- status:
|
|
45
|
+
- evidence:
|
|
46
|
+
- 轻量框架识别:
|
|
47
|
+
- workstream:
|
|
48
|
+
- 框架候选:
|
|
49
|
+
- 识别状态:
|
|
50
|
+
- 覆盖范围:
|
|
51
|
+
- 发现预算:
|
|
52
|
+
- 证据:
|
|
53
|
+
- 未检查范围:
|
|
54
|
+
- 字段影响审视:
|
|
55
|
+
- 审视状态:
|
|
56
|
+
- 字段分类:
|
|
57
|
+
- 字段名称与原含义:
|
|
58
|
+
- 调整后含义:
|
|
59
|
+
- 检索根目录:
|
|
60
|
+
- 排除目录与文件:
|
|
61
|
+
- CodeGraph 状态:
|
|
62
|
+
- 证据列表:
|
|
63
|
+
- 已覆盖范围:
|
|
64
|
+
- 可能遗漏位置:
|
|
65
|
+
- 旧数据兼容方案:
|
|
66
|
+
- 最终风险:
|
|
67
|
+
- 是否需要用户确认:
|
|
34
68
|
- 前端官方组件 / API 选型:
|
|
35
69
|
- 双会话执行:
|
|
36
70
|
- taskId:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"projectName": "",
|
|
3
|
-
"xinyunAiVersion": "1.
|
|
3
|
+
"xinyunAiVersion": "1.4.0",
|
|
4
4
|
"scriptVersion": "2026.07.16",
|
|
5
5
|
"schemaVersion": "1",
|
|
6
6
|
"initializationMode": "fast",
|
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
"unifiedEntryPriority": true,
|
|
27
27
|
"legacyHandoffClassification": true,
|
|
28
28
|
"globalReview": true,
|
|
29
|
-
"chineseRequirementParsing": true
|
|
29
|
+
"chineseRequirementParsing": true,
|
|
30
|
+
"frameworkEvidenceBudget": true,
|
|
31
|
+
"readonlyGitRepositoryIndex": true,
|
|
32
|
+
"boundedFieldImpactReview": true,
|
|
33
|
+
"fieldChangeRequirementRouting": true
|
|
30
34
|
}
|
|
31
35
|
}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
- 配置线索:待填写
|
|
16
16
|
- 测试体系线索:待填写
|
|
17
17
|
- Git 模式与仓库线索:待填写
|
|
18
|
+
- 多仓库 Git 只读索引:待填写
|
|
18
19
|
- 已有 AI 痕迹:待填写
|
|
19
20
|
- 旧 AI 沉淀来源:待填写
|
|
20
21
|
- 可接管内容:待填写
|
|
@@ -23,8 +24,16 @@
|
|
|
23
24
|
- 不存在的旧路径:待填写
|
|
24
25
|
- 规则入口优先级:待填写
|
|
25
26
|
- 中文需求解析触发情况:待填写
|
|
27
|
+
- 字段变更任务分型与专项路由:待填写
|
|
26
28
|
- 全局影响审视触发情况:待填写
|
|
27
29
|
- 轻量框架识别:待填写
|
|
30
|
+
- 证据路径与证据类型:待填写
|
|
31
|
+
- 发现预算与覆盖范围:待填写
|
|
32
|
+
- 字段影响审视:待填写
|
|
33
|
+
- 字段分类:待填写
|
|
34
|
+
- 检索根目录与排除项:待填写
|
|
35
|
+
- CodeGraph 状态与降级说明:待填写
|
|
36
|
+
- 证据、可能遗漏和兼容方案:待填写
|
|
28
37
|
|
|
29
38
|
## 待确认问题
|
|
30
39
|
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
- 用户原话:待填写。
|
|
41
41
|
- AI 理解:待填写。
|
|
42
42
|
- 任务类型:待填写。
|
|
43
|
+
- 字段任务分型:待填写。
|
|
44
|
+
- 字段专项路由:待填写。
|
|
43
45
|
- 影响对象:待填写。
|
|
44
46
|
- 风险词:待填写。
|
|
45
47
|
- 是否需要追问:待填写。
|
|
@@ -64,9 +66,36 @@
|
|
|
64
66
|
|
|
65
67
|
待填写。
|
|
66
68
|
|
|
69
|
+
## 多仓库 Git 只读索引
|
|
70
|
+
|
|
71
|
+
- Git 模式:待填写。
|
|
72
|
+
- 发现预算:最多 4 层、20 个仓库候选、200 个目录 / 文件条目。
|
|
73
|
+
- 仓库记录字段:`repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
74
|
+
- 只读状态:待填写。
|
|
75
|
+
- 未确认 / 状态未知范围:待填写。
|
|
76
|
+
|
|
67
77
|
## 轻量框架识别结果
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
- 识别预算:每端最多 3 层目录、20 个关键文件。
|
|
80
|
+
- ThinkPHP:待填写。
|
|
81
|
+
- uni-app:待填写。
|
|
82
|
+
- 微信小程序:待填写。
|
|
83
|
+
- 证据路径和证据类型:待填写。
|
|
84
|
+
- 覆盖范围:待填写。
|
|
85
|
+
- 未检查范围:待填写。
|
|
86
|
+
|
|
87
|
+
## 字段影响审视
|
|
88
|
+
|
|
89
|
+
- 是否触发:待填写。
|
|
90
|
+
- 字段分类:数据库字段 / API 字段 / 前端展示字段 / 未确认。
|
|
91
|
+
- 审视状态:完整覆盖 / 部分覆盖 / 状态未知。
|
|
92
|
+
- 检索根目录:待填写。
|
|
93
|
+
- 排除目录与文件:待填写。
|
|
94
|
+
- CodeGraph 状态:待填写。
|
|
95
|
+
- 证据列表:待填写。
|
|
96
|
+
- 可能遗漏位置:待填写。
|
|
97
|
+
- 旧数据兼容方案:待填写。
|
|
98
|
+
- 确认状态:待填写。
|
|
70
99
|
|
|
71
100
|
## 数据库、API、测试体系发现情况
|
|
72
101
|
|
|
@@ -8,6 +8,33 @@
|
|
|
8
8
|
},
|
|
9
9
|
"database": "unknown",
|
|
10
10
|
"api": "unknown",
|
|
11
|
+
"frameworks": {
|
|
12
|
+
"frameworkEvidenceBudget": true,
|
|
13
|
+
"evidenceBudget": {
|
|
14
|
+
"maxDepthPerWorkstream": 3,
|
|
15
|
+
"maxKeyFilesPerWorkstream": 20
|
|
16
|
+
},
|
|
17
|
+
"records": []
|
|
18
|
+
},
|
|
19
|
+
"gitRepositories": {
|
|
20
|
+
"mode": "unknown",
|
|
21
|
+
"readonly": true,
|
|
22
|
+
"discoveryBudget": {
|
|
23
|
+
"maxDepth": 4,
|
|
24
|
+
"maxCandidates": 20,
|
|
25
|
+
"maxEntries": 200
|
|
26
|
+
},
|
|
27
|
+
"records": []
|
|
28
|
+
},
|
|
29
|
+
"fieldImpactReview": {
|
|
30
|
+
"enabled": true,
|
|
31
|
+
"budgetPerWorkstream": {
|
|
32
|
+
"maxCandidateFiles": 300,
|
|
33
|
+
"maxMatches": 1000,
|
|
34
|
+
"maxEvidence": 50
|
|
35
|
+
},
|
|
36
|
+
"records": []
|
|
37
|
+
},
|
|
11
38
|
"tests": "unknown",
|
|
12
39
|
"handoffs": {
|
|
13
40
|
"activeTask": "none",
|
|
@@ -38,5 +65,10 @@
|
|
|
38
65
|
"trigger": "ambiguous_or_change_or_high_risk",
|
|
39
66
|
"ordinaryConsultationRequiresFullParsing": false
|
|
40
67
|
},
|
|
68
|
+
"fieldChangeRequirementRouting": {
|
|
69
|
+
"enabled": true,
|
|
70
|
+
"fieldTypes": ["数据库字段", "API 字段", "前端展示字段", "未确认"],
|
|
71
|
+
"routes": ["字段影响审视", "普通改动计划", "SQL 提醒", "业务流程理解"]
|
|
72
|
+
},
|
|
41
73
|
"lastUpdatedAt": ""
|
|
42
74
|
}
|
|
@@ -19,3 +19,18 @@
|
|
|
19
19
|
## 端口 Git 仓库
|
|
20
20
|
|
|
21
21
|
待填写。
|
|
22
|
+
|
|
23
|
+
## 端口轻量框架识别
|
|
24
|
+
|
|
25
|
+
- 每个端口最多发现 3 层目录、读取 20 个关键文件。
|
|
26
|
+
- 正向识别记录证据路径和证据类型。
|
|
27
|
+
- 预算内无证据标注 `未在项目中发现`。
|
|
28
|
+
- 超预算、权限不足或路径不可读标注 `状态未知` 和 `覆盖范围:部分`。
|
|
29
|
+
- 不混用 uni-app 与原生微信小程序规则。
|
|
30
|
+
|
|
31
|
+
## 端口字段影响审视
|
|
32
|
+
|
|
33
|
+
- 每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录。
|
|
34
|
+
- 字段分类:数据库字段 / API 字段 / 前端展示字段 / 未确认。
|
|
35
|
+
- 记录检索根目录、排除项、CodeGraph 状态、证据、覆盖范围、可能遗漏位置和兼容方案。
|
|
36
|
+
- 未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
package/package.json
CHANGED
|
@@ -90,18 +90,18 @@ function verifyPackageFiles() {
|
|
|
90
90
|
);
|
|
91
91
|
|
|
92
92
|
addCheck(
|
|
93
|
-
"package.json 版本为 1.
|
|
94
|
-
packageJson.version === "1.
|
|
93
|
+
"package.json 版本为 1.4.0",
|
|
94
|
+
packageJson.version === "1.4.0",
|
|
95
95
|
`当前版本为 ${packageJson.version}`
|
|
96
96
|
);
|
|
97
97
|
addCheck(
|
|
98
|
-
"version.json 版本为 1.
|
|
99
|
-
versionJson.version === "1.
|
|
98
|
+
"version.json 版本为 1.4.0",
|
|
99
|
+
versionJson.version === "1.4.0",
|
|
100
100
|
`当前版本为 ${versionJson.version}`
|
|
101
101
|
);
|
|
102
102
|
addCheck(
|
|
103
|
-
"manifest.template.json 版本为 1.
|
|
104
|
-
manifestTemplate.xinyunAiVersion === "1.
|
|
103
|
+
"manifest.template.json 版本为 1.4.0",
|
|
104
|
+
manifestTemplate.xinyunAiVersion === "1.4.0",
|
|
105
105
|
`当前版本为 ${manifestTemplate.xinyunAiVersion}`
|
|
106
106
|
);
|
|
107
107
|
}
|
|
@@ -189,6 +189,19 @@ function verifyInitRules() {
|
|
|
189
189
|
"不得自动重试",
|
|
190
190
|
"是否执行过高风险操作",
|
|
191
191
|
"交付输出要求",
|
|
192
|
+
"字段变更类任务还必须细分为",
|
|
193
|
+
"字段影响审视 / 普通改动计划 / SQL 提醒 / 业务流程理解",
|
|
194
|
+
"多仓库 Git 只读索引与端口映射",
|
|
195
|
+
"最多记录 20 个仓库候选和 200 个相关目录 / 文件条目",
|
|
196
|
+
"`repoRoot`",
|
|
197
|
+
"`parentRepo`",
|
|
198
|
+
"`kind`",
|
|
199
|
+
"字段变更影响审视",
|
|
200
|
+
"每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录",
|
|
201
|
+
"排除 `node_modules`、`dist`、`build`、`vendor`",
|
|
202
|
+
"CodeGraph 可用时,结构性影响优先使用 CodeGraph",
|
|
203
|
+
"旧数据兼容方案",
|
|
204
|
+
"未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动",
|
|
192
205
|
]);
|
|
193
206
|
|
|
194
207
|
requireIncludes("init/xinyun-ai-init/templates/AGENTS.template.md", [
|
|
@@ -214,6 +227,11 @@ function verifyInitRules() {
|
|
|
214
227
|
"最多追问 1-3 个关键问题",
|
|
215
228
|
"全局影响审视",
|
|
216
229
|
"首次极速初始化不强制创建",
|
|
230
|
+
"字段变更类任务必须细分为",
|
|
231
|
+
"多仓库 Git 只读索引最多向下发现 4 层目录",
|
|
232
|
+
"仓库索引必须包含 `repoRoot`",
|
|
233
|
+
"ThinkPHP、uni-app、微信小程序轻量识别每个端口最多发现 3 层目录",
|
|
234
|
+
"字段新增、删除、重命名、类型变化、含义变化",
|
|
217
235
|
]);
|
|
218
236
|
|
|
219
237
|
requireIncludes("init/xinyun-ai-init/templates/core-rules.template.md", [
|
|
@@ -259,6 +277,14 @@ function verifyInitRules() {
|
|
|
259
277
|
"不得自动重试",
|
|
260
278
|
"人工启动第二会话",
|
|
261
279
|
"交付输出",
|
|
280
|
+
"字段变更类任务必须细分为",
|
|
281
|
+
"多仓库 Git 只读索引最多向下发现 4 层目录",
|
|
282
|
+
"`repoRoot`、`path`、`workstream`、`kind`、`parentRepo`",
|
|
283
|
+
"每个端口从端口根目录向下最多发现 3 层目录",
|
|
284
|
+
"正向识别必须输出证据路径和证据类型",
|
|
285
|
+
"字段变更影响审视",
|
|
286
|
+
"每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录",
|
|
287
|
+
"字段影响审视输出契约",
|
|
262
288
|
]);
|
|
263
289
|
|
|
264
290
|
requireIncludes("init/xinyun-ai-init/templates/current-task.template.md", [
|
|
@@ -273,6 +299,10 @@ function verifyInitRules() {
|
|
|
273
299
|
"用户确认状态",
|
|
274
300
|
"交付状态",
|
|
275
301
|
"下一步动作",
|
|
302
|
+
"字段任务分型",
|
|
303
|
+
"字段专项路由",
|
|
304
|
+
"多仓库 Git 只读索引",
|
|
305
|
+
"字段影响审视",
|
|
276
306
|
]);
|
|
277
307
|
|
|
278
308
|
requireIncludes("init/xinyun-ai-init/templates/project-index.template.json", [
|
|
@@ -283,6 +313,10 @@ function verifyInitRules() {
|
|
|
283
313
|
"globalReview",
|
|
284
314
|
"requirementParsing",
|
|
285
315
|
"createOnFastInit",
|
|
316
|
+
"frameworkEvidenceBudget",
|
|
317
|
+
"gitRepositories",
|
|
318
|
+
"fieldImpactReview",
|
|
319
|
+
"fieldChangeRequirementRouting",
|
|
286
320
|
]);
|
|
287
321
|
|
|
288
322
|
requireIncludes("init/xinyun-ai-init/rules/session-workbench.md", [
|
|
@@ -294,6 +328,9 @@ function verifyInitRules() {
|
|
|
294
328
|
"可接管、不接管、待确认",
|
|
295
329
|
"中文需求解析结果",
|
|
296
330
|
"全局影响审视摘要",
|
|
331
|
+
"字段变更任务单还必须记录字段分类",
|
|
332
|
+
"多仓库 Git 任务单还必须记录只读仓库索引",
|
|
333
|
+
"字段影响审视交接",
|
|
297
334
|
]);
|
|
298
335
|
|
|
299
336
|
requireIncludes("init/xinyun-ai-init/templates/project-guide.template.md", [
|
|
@@ -301,6 +338,9 @@ function verifyInitRules() {
|
|
|
301
338
|
"中文需求解析与任务分型",
|
|
302
339
|
"全局影响审视",
|
|
303
340
|
"待确认内容",
|
|
341
|
+
"多仓库 Git 只读索引",
|
|
342
|
+
"字段影响审视",
|
|
343
|
+
"字段任务分型",
|
|
304
344
|
]);
|
|
305
345
|
|
|
306
346
|
requireIncludes("init/xinyun-ai-init/templates/project-check.template.md", [
|
|
@@ -308,6 +348,10 @@ function verifyInitRules() {
|
|
|
308
348
|
"中文需求解析触发情况",
|
|
309
349
|
"全局影响审视触发情况",
|
|
310
350
|
"待确认内容",
|
|
351
|
+
"多仓库 Git 只读索引",
|
|
352
|
+
"字段变更任务分型与专项路由",
|
|
353
|
+
"证据路径与证据类型",
|
|
354
|
+
"字段影响审视",
|
|
311
355
|
]);
|
|
312
356
|
|
|
313
357
|
requireIncludes("init/xinyun-ai-init/rules/init-rules.md", [
|
|
@@ -316,6 +360,8 @@ function verifyInitRules() {
|
|
|
316
360
|
"可接管、不接管、待确认",
|
|
317
361
|
"首次极速初始化不强制创建",
|
|
318
362
|
"最多追问 1-3 个关键问题",
|
|
363
|
+
"多仓库 Git 只读索引最多发现 4 层目录",
|
|
364
|
+
"字段新增、删除、重命名",
|
|
319
365
|
]);
|
|
320
366
|
|
|
321
367
|
requireIncludes("init/xinyun-ai-init/rules/upgrade-rules.md", [
|
|
@@ -323,6 +369,9 @@ function verifyInitRules() {
|
|
|
323
369
|
"中文需求解析",
|
|
324
370
|
"xinyun-ai/global-review/",
|
|
325
371
|
"不自动迁移全部旧 AI 文档",
|
|
372
|
+
"框架识别证据路径、证据类型",
|
|
373
|
+
"多仓库 Git 只读索引字段",
|
|
374
|
+
"字段影响审视",
|
|
326
375
|
]);
|
|
327
376
|
|
|
328
377
|
requireIncludes("init/xinyun-ai-init/rules/directory-self-completion.md", [
|
|
@@ -330,6 +379,9 @@ function verifyInitRules() {
|
|
|
330
379
|
"首次极速初始化不强制创建",
|
|
331
380
|
"xinyun-ai/global-review/index.json",
|
|
332
381
|
"`reviewId`",
|
|
382
|
+
"端口框架线索",
|
|
383
|
+
"多仓库 Git 结构",
|
|
384
|
+
"字段审视记录",
|
|
333
385
|
]);
|
|
334
386
|
}
|
|
335
387
|
|
|
@@ -344,6 +396,10 @@ function verifyTestScenarios() {
|
|
|
344
396
|
"中文需求语义规范化测试",
|
|
345
397
|
"高风险词触发保护测试",
|
|
346
398
|
"普通咨询不强制完整解析测试",
|
|
399
|
+
"框架识别证据与预算测试",
|
|
400
|
+
"多仓库 Git 只读索引测试",
|
|
401
|
+
"数据库字段变更全链路影响审视测试",
|
|
402
|
+
"中文字段变更任务分型测试",
|
|
347
403
|
"当前必测场景",
|
|
348
404
|
]);
|
|
349
405
|
|
|
@@ -354,11 +410,15 @@ function verifyTestScenarios() {
|
|
|
354
410
|
"统一入口与旧规则失效判定测试",
|
|
355
411
|
"中文需求语义规范化测试",
|
|
356
412
|
"高风险词触发保护测试",
|
|
413
|
+
"框架识别证据与预算测试",
|
|
414
|
+
"多仓库 Git 只读索引测试",
|
|
415
|
+
"数据库字段变更全链路影响审视测试",
|
|
416
|
+
"中文字段变更任务分型测试",
|
|
357
417
|
]);
|
|
358
418
|
|
|
359
419
|
requireIncludes("test-scenarios/README.md", [
|
|
360
|
-
"pm_zhousl-xinyun-ai-init-1.
|
|
361
|
-
"当前必测场景为 `scenarios.md` 的 1-
|
|
420
|
+
"pm_zhousl-xinyun-ai-init-1.4.0.tgz",
|
|
421
|
+
"当前必测场景为 `scenarios.md` 的 1-26",
|
|
362
422
|
]);
|
|
363
423
|
}
|
|
364
424
|
|
|
@@ -377,14 +437,41 @@ function verifyFrameworkRules() {
|
|
|
377
437
|
requireIncludes("init/xinyun-ai-init/rules/frameworks/backend/php/thinkphp.md", [
|
|
378
438
|
"topthink/framework",
|
|
379
439
|
"think\\facade",
|
|
440
|
+
"最多发现 3 层目录",
|
|
441
|
+
"最多读取 20 个关键文件",
|
|
442
|
+
"证据路径和证据类型",
|
|
443
|
+
"未在项目中发现",
|
|
444
|
+
"状态未知",
|
|
445
|
+
"覆盖范围:部分",
|
|
380
446
|
]);
|
|
381
447
|
requireIncludes("init/xinyun-ai-init/rules/frameworks/frontend/uni-app.md", [
|
|
382
448
|
"pages.json",
|
|
383
449
|
"vite-plugin-uni",
|
|
450
|
+
"最多发现 3 层目录",
|
|
451
|
+
"最多读取 20 个关键文件",
|
|
452
|
+
"证据路径和证据类型",
|
|
453
|
+
"未在项目中发现",
|
|
454
|
+
"状态未知",
|
|
455
|
+
"覆盖范围:部分",
|
|
456
|
+
"不把原生微信小程序规则反向套到 uni-app",
|
|
384
457
|
]);
|
|
385
458
|
requireIncludes("init/xinyun-ai-init/rules/frameworks/frontend/wechat-miniprogram.md", [
|
|
386
459
|
"project.config.json",
|
|
387
460
|
".wxml",
|
|
461
|
+
"最多发现 3 层目录",
|
|
462
|
+
"最多读取 20 个关键文件",
|
|
463
|
+
"证据路径和证据类型",
|
|
464
|
+
"未在项目中发现",
|
|
465
|
+
"状态未知",
|
|
466
|
+
"覆盖范围:部分",
|
|
467
|
+
"不把 uni-app 规则反向套到原生微信小程序",
|
|
468
|
+
]);
|
|
469
|
+
requireIncludes("init/xinyun-ai-init/rules/frameworks/README.md", [
|
|
470
|
+
"证据路径和证据类型",
|
|
471
|
+
"发现预算:目录深度 3 层、关键文件 20 个",
|
|
472
|
+
"未在项目中发现",
|
|
473
|
+
"状态未知",
|
|
474
|
+
"覆盖范围:部分",
|
|
388
475
|
]);
|
|
389
476
|
}
|
|
390
477
|
|
package/test-scenarios/README.md
CHANGED
|
@@ -37,7 +37,7 @@ npm pack
|
|
|
37
37
|
随后在临时项目中使用 tarball 测试。注意不要直接执行 `npx <tarball> --force`,该形式可能不会正确调用 bin。推荐:
|
|
38
38
|
|
|
39
39
|
```powershell
|
|
40
|
-
npx --yes --package E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm\pm_zhousl-xinyun-ai-init-1.
|
|
40
|
+
npx --yes --package E:\ai-fabu-xiangmu\AI开发初始化脚本\xinyun-ai-init-npm\pm_zhousl-xinyun-ai-init-1.4.0.tgz xinyun-ai-init --force --no-version-check
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
### 3. 线上回归测试
|
|
@@ -59,9 +59,9 @@ npx --yes @pm_zhousl/xinyun-ai-init@latest --force
|
|
|
59
59
|
- 必测场景:用于判断当前版本是否可以发布。
|
|
60
60
|
- 观察场景:用于收集后续优化建议,不作为当前版本发布阻断项。
|
|
61
61
|
|
|
62
|
-
当前必测场景为 `scenarios.md` 的 1-
|
|
62
|
+
当前必测场景为 `scenarios.md` 的 1-26。
|
|
63
63
|
|
|
64
|
-
当前观察场景为 `scenarios.md` 的
|
|
64
|
+
当前观察场景为 `scenarios.md` 的 27。Skill 触发机制仍在后续候选池中,不进入当前可发布范围。
|
|
65
65
|
|
|
66
66
|
## 自动校验
|
|
67
67
|
|
|
@@ -42,7 +42,11 @@
|
|
|
42
42
|
| 20. 使用者体验与交付结果测试 | 待填写 | 待填写 | 待填写 |
|
|
43
43
|
| 21. AI 检索与回复轻量规则测试 | 待填写 | 待填写 | 待填写 |
|
|
44
44
|
| 22. 双会话执行闭环(MVP)测试 | 待填写 | 待填写 | 待填写 |
|
|
45
|
-
| 23.
|
|
45
|
+
| 23. 框架识别证据与预算测试 | 待填写 | 待填写 | 待填写 |
|
|
46
|
+
| 24. 多仓库 Git 只读索引测试 | 待填写 | 待填写 | 待填写 |
|
|
47
|
+
| 25. 数据库字段变更全链路影响审视测试 | 待填写 | 待填写 | 待填写 |
|
|
48
|
+
| 26. 中文字段变更任务分型测试 | 待填写 | 待填写 | 待填写 |
|
|
49
|
+
| 27. Skill 触发测试(观察项,不阻断发布) | 待填写 | 待填写 | 待填写 |
|
|
46
50
|
|
|
47
51
|
## 详细问题
|
|
48
52
|
|
|
@@ -60,4 +64,4 @@
|
|
|
60
64
|
- 可以后续优化:
|
|
61
65
|
- 不建议纳入本版本:
|
|
62
66
|
|
|
63
|
-
说明:Skill 触发测试是观察项。除非它影响 1-
|
|
67
|
+
说明:Skill 触发测试是观察项。除非它影响 1-26 的必测场景,否则不作为当前版本不可发布的理由。
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## 测试分级说明
|
|
4
4
|
|
|
5
|
-
- 必测场景:1-
|
|
6
|
-
- 观察场景:
|
|
5
|
+
- 必测场景:1-26,用于判断当前版本是否可以发布。
|
|
6
|
+
- 观察场景:27,用于收集后续优化建议,不作为当前版本发布阻断项。
|
|
7
7
|
|
|
8
|
-
当前必测场景为 1-
|
|
8
|
+
当前必测场景为 1-26;当前观察场景为 27。
|
|
9
9
|
|
|
10
10
|
## 1. 初始化可用性测试
|
|
11
11
|
|
|
@@ -412,7 +412,94 @@
|
|
|
412
412
|
- 主会话是否读取交接单后再输出最终交付结论。
|
|
413
413
|
- 失败、中断、超时后是否不会自动重试;重试是否需要主会话重新确认并增加 `attempt`。
|
|
414
414
|
|
|
415
|
-
## 23.
|
|
415
|
+
## 23. 框架识别证据与预算测试
|
|
416
|
+
|
|
417
|
+
目标:验证 ThinkPHP、uni-app、微信小程序轻量识别输出证据、预算和状态语义。
|
|
418
|
+
|
|
419
|
+
准备:
|
|
420
|
+
|
|
421
|
+
- 分别准备 ThinkPHP、uni-app、原生微信小程序和无法确认框架的目录。
|
|
422
|
+
- 准备一个混合项目,包含多个端口。
|
|
423
|
+
|
|
424
|
+
测试指令:
|
|
425
|
+
|
|
426
|
+
```md
|
|
427
|
+
请识别这个项目里有哪些端口和框架,只做轻量识别,不要全量扫描。
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
验收点:
|
|
431
|
+
|
|
432
|
+
- 是否每个端口最多发现 3 层目录、读取 20 个关键文件。
|
|
433
|
+
- 正向识别是否输出证据路径和证据类型。
|
|
434
|
+
- 单一线索是否标注 `推断` 或 `待确认`。
|
|
435
|
+
- 预算内无证据是否标注 `未在项目中发现`。
|
|
436
|
+
- 超预算、权限不足或路径不可读是否标注 `状态未知` 和 `覆盖范围:部分`。
|
|
437
|
+
- 是否没有把 uni-app 规则套到原生微信小程序,也没有反向套用。
|
|
438
|
+
|
|
439
|
+
## 24. 多仓库 Git 只读索引测试
|
|
440
|
+
|
|
441
|
+
目标:验证根仓库、嵌套仓库、子模块和 worktree 能被只读识别并映射到端口。
|
|
442
|
+
|
|
443
|
+
准备:
|
|
444
|
+
|
|
445
|
+
- 分别准备单仓库、多仓库、混合仓库、无 Git、子模块和 worktree 示例。
|
|
446
|
+
|
|
447
|
+
测试指令:
|
|
448
|
+
|
|
449
|
+
```md
|
|
450
|
+
帮我梳理这个项目每个端口分别对应哪个 Git 仓库,只读查看,不要做任何 Git 写操作。
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
验收点:
|
|
454
|
+
|
|
455
|
+
- 是否最多发现 4 层目录、记录 20 个仓库候选和 200 个目录 / 文件条目。
|
|
456
|
+
- 是否输出 `repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
457
|
+
- `kind` 是否能区分 `root` / `nested` / `submodule` / `worktree`。
|
|
458
|
+
- 预算内无 Git 证据是否标注 `未在项目中发现`。
|
|
459
|
+
- 超预算、权限不足、路径不可读或状态无法确认是否标注 `状态未知`,且不判断为无 Git。
|
|
460
|
+
- 是否没有执行 commit、tag、push、pull、merge、rebase、reset、checkout、switch、回滚或切分支。
|
|
461
|
+
|
|
462
|
+
## 25. 数据库字段变更全链路影响审视测试
|
|
463
|
+
|
|
464
|
+
目标:验证字段变更不会被直接当成局部代码修改,而是先做有边界的全链路影响审视。
|
|
465
|
+
|
|
466
|
+
测试指令:
|
|
467
|
+
|
|
468
|
+
```md
|
|
469
|
+
把订单表里的 user_id 字段改成 member_id,接口和前端也要一起调整,先不要改代码。
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
验收点:
|
|
473
|
+
|
|
474
|
+
- 是否识别字段新增 / 删除 / 重命名 / 类型变化 / 含义变化 / API 映射变化 / 前端展示变化。
|
|
475
|
+
- 是否区分数据库字段、API 字段和前端展示字段。
|
|
476
|
+
- 是否说明检索根目录、排除目录与文件、CodeGraph 状态和降级原因。
|
|
477
|
+
- 是否遵守每端最多 300 个候选文件、1000 条匹配结果和 50 条证据记录。
|
|
478
|
+
- 是否输出证据列表、已覆盖范围、可能遗漏位置、旧数据兼容方案和最终风险。
|
|
479
|
+
- 动态 SQL、动态字段名、序列化、反射或生成代码无法确认时,是否列为 `待确认` 或 `可能遗漏位置`。
|
|
480
|
+
- 只改展示方式时,是否没有顺手修改数据库和 API。
|
|
481
|
+
- 未确认前是否没有执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
|
482
|
+
|
|
483
|
+
## 26. 中文字段变更任务分型测试
|
|
484
|
+
|
|
485
|
+
目标:验证中文字段需求能被正确路由到字段影响审视、普通改动计划、SQL 提醒或业务流程理解。
|
|
486
|
+
|
|
487
|
+
测试指令:
|
|
488
|
+
|
|
489
|
+
```md
|
|
490
|
+
订单详情里的客户字段不太对,数据库、接口和页面上所有地方都帮我改一下,先给方案。
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
验收点:
|
|
494
|
+
|
|
495
|
+
- 是否保留用户原话。
|
|
496
|
+
- 是否识别为字段相关需求。
|
|
497
|
+
- 是否输出字段分类:数据库字段 / API 字段 / 前端展示字段 / 未确认。
|
|
498
|
+
- 是否输出专项路由:字段影响审视 / 普通改动计划 / SQL 提醒 / 业务流程理解。
|
|
499
|
+
- 信息不足时是否最多追问 1-3 个关键问题。
|
|
500
|
+
- 是否没有直接脑补字段含义并修改代码。
|
|
501
|
+
|
|
502
|
+
## 27. Skill 触发测试(观察项)
|
|
416
503
|
|
|
417
504
|
目标:观察 AI 是否具备按任务触发 Skill 的倾向。
|
|
418
505
|
|