@ppdocs/mcp 3.2.31 → 3.2.33
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/dist/cli.js +28 -12
- package/package.json +1 -1
- package/templates/commands/pp/DiagnosticProtocol.md +0 -82
- package/templates/commands/pp/Execution_Task.md +0 -84
- package/templates/commands/pp/Sentinel_4.md +0 -87
- package/templates/commands/pp/SynchronizationProtocol.md +0 -90
- package/templates/commands/pp/audit.md +0 -87
- package/templates/commands/pp/discuss.md +0 -90
- package/templates/commands/pp/execute.md +0 -151
- package/templates/commands/pp/protocol.md +0 -181
package/dist/cli.js
CHANGED
|
@@ -155,6 +155,20 @@ function writePpdocsConfig(cwd, opts) {
|
|
|
155
155
|
}
|
|
156
156
|
async function initProject(opts) {
|
|
157
157
|
const cwd = process.cwd();
|
|
158
|
+
// ★ 版本检查: 防止 npx 缓存导致安装旧版
|
|
159
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
160
|
+
const currentVersion = pkg.version;
|
|
161
|
+
try {
|
|
162
|
+
const latest = execSync('npm view @ppdocs/mcp version', { encoding: 'utf-8', timeout: 5000 }).trim();
|
|
163
|
+
if (latest && latest !== currentVersion) {
|
|
164
|
+
console.log(`\n⚠️ 当前版本 ${currentVersion}, 最新版本 ${latest}`);
|
|
165
|
+
console.log(` npx 缓存了旧版本, 请运行:\n`);
|
|
166
|
+
console.log(` npx -y @ppdocs/mcp@${latest} init ${process.argv.slice(3).join(' ')}\n`);
|
|
167
|
+
console.log(` 或清除缓存: rm -rf ~/.npm/_npx && npx -y @ppdocs/mcp@latest init ...\n`);
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch { /* 离线或超时, 跳过检查 */ }
|
|
158
172
|
const apiUrl = writePpdocsConfig(cwd, opts);
|
|
159
173
|
// Install workflow templates based on IDE detection
|
|
160
174
|
const detectedIdes = detectIDEs(cwd);
|
|
@@ -539,21 +553,23 @@ function installCursorTemplates(cwd, apiUrl, user) {
|
|
|
539
553
|
// ★ 通用工作流安装 — 全平台共享 (删旧 + 写新)
|
|
540
554
|
// 所有 IDE 最终都通过此函数安装 .agents/workflows/ 下的工作流文件
|
|
541
555
|
// ========================================================================
|
|
542
|
-
/** 工作流版本映射表: 模板文件名 → { 工作流命令名, 描述 } */
|
|
556
|
+
/** 工作流版本映射表: 模板文件名 → { 工作流命令名, 描述 } — 仅保留 5 个核心 */
|
|
543
557
|
const WORKFLOW_MAP = {
|
|
544
|
-
'
|
|
545
|
-
'
|
|
546
|
-
'sync.md': { name: 'pp-sync', desc: 'Knowledge Graph Deep-Sync Protocol' },
|
|
547
|
-
'review.md': { name: 'pp-shencha', desc: '审查任务成果' },
|
|
558
|
+
'init.md': { name: 'pp-init', desc: '知识图谱初始化' },
|
|
559
|
+
'sync.md': { name: 'pp-sync', desc: '知识图谱同步' },
|
|
548
560
|
'diagnose.md': { name: 'pp-diagnose', desc: '深度问题诊断' },
|
|
549
|
-
'
|
|
550
|
-
'
|
|
551
|
-
'discuss.md': { name: 'pp-discuss', desc: '讨论响应与协作' },
|
|
552
|
-
'Zero_Defec_Genesis.md': { name: 'plan', desc: '零缺陷创生协议' },
|
|
553
|
-
'SynchronizationProtocol.md': { name: 'pp-syncpro', desc: 'Knowledge Graph Quick-Sync Protocol' },
|
|
561
|
+
'Zero_Defec_Genesis.md': { name: 'plan', desc: '方案制定' },
|
|
562
|
+
'review.md': { name: 'pp-shencha', desc: '任务成果审查' },
|
|
554
563
|
};
|
|
555
|
-
/** 已废弃的旧版工作流文件名 (
|
|
556
|
-
const LEGACY_WORKFLOW_NAMES = [
|
|
564
|
+
/** 已废弃的旧版工作流文件名 (安装时自动清理) */
|
|
565
|
+
const LEGACY_WORKFLOW_NAMES = [
|
|
566
|
+
// 旧版中文名
|
|
567
|
+
'pp-fenxi.md', 'pp-review.md',
|
|
568
|
+
// 旧版英文名
|
|
569
|
+
'diagnosticprotocol.md', 'zhixing.md', 'paln.md', 'fenxi.md', 'shencha.md',
|
|
570
|
+
// v3.2.31 移除的工作流
|
|
571
|
+
'pp-task.md', 'pp-execute.md', 'pp-audit.md', 'pp-discuss.md', 'pp-syncpro.md',
|
|
572
|
+
];
|
|
557
573
|
/**
|
|
558
574
|
* 通用工作流安装: 删除旧版 → 写入最新版到 .agents/workflows/
|
|
559
575
|
* 全平台共享: Antigravity / Claude Code / Cursor / Codex / Kiro
|
package/package.json
CHANGED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# 🔍 "Deep-Trace" Diagnostic Protocol (深层溯源诊断协议)
|
|
2
|
-
|
|
3
|
-
核心理念:**先在宏观地图(图谱)上定位,再在微观战场(代码)上排查,绝不盲目翻看代码。**
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
### 1.第一阶段:知识锚定 (Knowledge Anchoring) ⚓️
|
|
8
|
-
🔹 **核心目标**:在动手之前,通过 PPDocs 明确“正确应该是什么样”。
|
|
9
|
-
✏️ **动作**:
|
|
10
|
-
* **查询图谱**:输入问题关键词,提取标准业务逻辑。
|
|
11
|
-
* **建立基准**:以图谱中的描述作为“真理标准 (Truth)”。
|
|
12
|
-
× **禁区**:
|
|
13
|
-
* 禁止在未查询图谱前,直接跳入代码库阅读(防止陷入细节泥潭)。
|
|
14
|
-
|
|
15
|
-
### 2.第二阶段:抽象映射 (Abstract Mapping) 🗺️
|
|
16
|
-
🔹 **核心目标**:利用链式思维 (CoT),绘制高层级逻辑流。
|
|
17
|
-
✏️ **动作**:
|
|
18
|
-
* **绘制流程**:忽略实现细节,仅画出模块间的输入/输出流转(数据流)。
|
|
19
|
-
* **可视化**:生成 ASCII 或 Mermaid 流程图,展示当前链路。
|
|
20
|
-
* **标记疑点**:在流程图上圈出逻辑可能断裂的节点。
|
|
21
|
-
|
|
22
|
-
### 3.第三阶段:靶点锁定 (Target Locking) 🎯
|
|
23
|
-
🔹 **核心目标**:将问题范围从“整个项目”缩小到“单一节点”。
|
|
24
|
-
✏️ **动作**:
|
|
25
|
-
* **定位区域**:确定问题具体发生在 PPDocs 的哪个 `Node`(节点)或 `Edge`(连线)上。
|
|
26
|
-
* **隔离上下文**:只关注该节点的前置依赖(Pre-requisites)和后置影响(Post-effects)。
|
|
27
|
-
|
|
28
|
-
### 4.第三阶段:双层取证 (Dual-Layer Forensics) 🕵️
|
|
29
|
-
🔹 **核心目标**:对比“理论(图谱)”与“现实(代码)”的差异。
|
|
30
|
-
✏️ **动作**:
|
|
31
|
-
* **左眼看图谱**:阅读 PPDocs 中该节点的逻辑定义。
|
|
32
|
-
* **右眼看代码**:审查该节点对应的实际代码实现。
|
|
33
|
-
* **寻找裂痕**:
|
|
34
|
-
* 🔴 **代码错误 (Bug)**:图谱逻辑正确,代码实现错误。
|
|
35
|
-
* 🟠 **设计缺陷 (Design Flaw)**:代码符合图谱,但结果依然错误(图谱本身逻辑有误)。
|
|
36
|
-
* 🟡 **文档脱节 (Sync Issue)**:代码逻辑正确且有效,但图谱未记载(需同步)。
|
|
37
|
-
|
|
38
|
-
### 5.第五阶段:分析结案 (Verdict) 📝
|
|
39
|
-
🔹 **核心目标**:输出可执行的诊断报告。
|
|
40
|
-
✏️ **动作**:
|
|
41
|
-
* 输出标准化的**《问题诊断报告》**。
|
|
42
|
-
* **流转**:将报告作为输入,传递给 **[任务方案生成工作流]** 进行修复。
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
### 📊 诊断逻辑可视化图解 (ASCII)
|
|
47
|
-
|
|
48
|
-
```text
|
|
49
|
-
+-------------------------+
|
|
50
|
-
| 🚨 问题触发 (Issue) |
|
|
51
|
-
+------------+------------+
|
|
52
|
-
|
|
|
53
|
-
v
|
|
54
|
-
+------------+------------+
|
|
55
|
-
| ⚓️ 知识锚定 (PPDocs) | <--- 获取标准逻辑 (Truth)
|
|
56
|
-
+------------+------------+
|
|
57
|
-
|
|
|
58
|
-
v
|
|
59
|
-
[ 🗺️ 抽象逻辑层 ]
|
|
60
|
-
+-------------------------+
|
|
61
|
-
| Step1 -> Step2 ... | (绘制链式流程)
|
|
62
|
-
| | |
|
|
63
|
-
| [ ? ] <---------+--- 🎯 锁定可疑节点
|
|
64
|
-
+-----------+-------------+
|
|
65
|
-
|
|
|
66
|
-
v
|
|
67
|
-
+-----------+-------------+
|
|
68
|
-
| 🕵️ 双层取证 (Compare) |
|
|
69
|
-
+-----+-------------+-----+
|
|
70
|
-
| |
|
|
71
|
-
(📜 PPDocs) vs (💻 Code)
|
|
72
|
-
| |
|
|
73
|
-
+------+------+
|
|
74
|
-
|
|
|
75
|
-
v
|
|
76
|
-
/-------+-------\
|
|
77
|
-
/ 根本原因? \
|
|
78
|
-
v v
|
|
79
|
-
+--------------+ +--------------+
|
|
80
|
-
| 🐛 代码 Bug | | 📐 设计/文档错 |
|
|
81
|
-
| (Fix Code) | | (Fix Graph) |
|
|
82
|
-
+--------------+ +--------------+
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
# ⚡️ "Ockham's Blade" Execution Protocol (奥卡姆之刃执行协议)
|
|
2
|
-
|
|
3
|
-
该工作流旨在执行已确认的方案。核心原则:**拒绝冗余,一行搞定,模块解耦,逻辑确权。**
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
### 1.第一阶段:逻辑确权 (Knowledge Anchor) 🧠
|
|
8
|
-
🔹 **核心目标**:消除所有不确定性,确保逻辑绝对正确。
|
|
9
|
-
✏️ **动作**:
|
|
10
|
-
* 解析任务需求。
|
|
11
|
-
* 遇到模糊逻辑,立即查询**知识图谱 (Knowledge Graph)** 确认标准流程。
|
|
12
|
-
× **禁区**:
|
|
13
|
-
* 禁止基于猜测编写代码。
|
|
14
|
-
* 禁止模糊定义的变量。
|
|
15
|
-
|
|
16
|
-
### 2.第二阶段:架构定义 (Structure & Taxonomy) 🏗️
|
|
17
|
-
🔹 **核心目标**:目录清晰,分类准确,模块独立。
|
|
18
|
-
✏️ **动作**:
|
|
19
|
-
* 构建标准目录树 (Directory Tree)。
|
|
20
|
-
* 定义原子化模块 (Atomic Modules)。
|
|
21
|
-
* 确保接口通用,支持复用调用。
|
|
22
|
-
× **禁区**:
|
|
23
|
-
* 禁止模块间产生强耦合 (Zero Coupling)。
|
|
24
|
-
* 禁止混乱的文件层级。
|
|
25
|
-
|
|
26
|
-
### 3.第三阶段:极简实现 (Minimalist Coding) 🚀
|
|
27
|
-
🔹 **核心目标**:不造轮子,极致压缩代码行数。
|
|
28
|
-
✏️ **动作**:
|
|
29
|
-
* 最大化调用现有库与复用功能。
|
|
30
|
-
* 利用链式调用、推导式等语法特性。
|
|
31
|
-
× **禁区**:
|
|
32
|
-
* **能一行代码解决的问题,严格禁止使用第二行。**
|
|
33
|
-
* 禁止重复造轮子 (DRY Principle)。
|
|
34
|
-
|
|
35
|
-
### 4.第四阶段:最终交付 (Delivery) 📦
|
|
36
|
-
🔹 **核心目标**:输出可直接运行、可维护的成果。
|
|
37
|
-
✏️ **动作**:
|
|
38
|
-
* 输出标准化的文件结构。
|
|
39
|
-
* 交付模块化源码。
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
### 📊 执行逻辑可视化图解 (ASCII)
|
|
44
|
-
|
|
45
|
-
```text
|
|
46
|
-
+-----------------------+
|
|
47
|
-
| 🚀 任务启动 (Start) |
|
|
48
|
-
+-----------+-----------+
|
|
49
|
-
|
|
|
50
|
-
v
|
|
51
|
-
+-----------+-----------+
|
|
52
|
-
| 🧠 逻辑是否清晰? | <-----+
|
|
53
|
-
+-----------+-----------+ |
|
|
54
|
-
(❌ NO) | (✅ YES) |
|
|
55
|
-
| v |
|
|
56
|
-
+------+-----+ +----------------+ |
|
|
57
|
-
| 🔍 查图谱 | | 🏗️ 架构设计 | |
|
|
58
|
-
+------------+ +-------+--------+ |
|
|
59
|
-
| |
|
|
60
|
-
v |
|
|
61
|
-
+-------+--------+ |
|
|
62
|
-
| ♻️ 存在轮子? | |
|
|
63
|
-
+-------+--------+ |
|
|
64
|
-
/ \ |
|
|
65
|
-
(YES)/ \(NO)
|
|
66
|
-
v v
|
|
67
|
-
+-------+-------+ +-------+-------+
|
|
68
|
-
| ✏️ 直接调用 | | ✏️ 原子编写 |
|
|
69
|
-
+-------+-------+ +-------+-------+
|
|
70
|
-
| |
|
|
71
|
-
+----------+-----------+
|
|
72
|
-
|
|
|
73
|
-
v
|
|
74
|
-
+-------+-------+
|
|
75
|
-
| 📏 极简审查 | <-----+
|
|
76
|
-
+-------+-------+ |
|
|
77
|
-
| |
|
|
78
|
-
/-----------+----------\ |
|
|
79
|
-
/ 是否多于一行? \ |
|
|
80
|
-
v v |
|
|
81
|
-
+-------+-------+ +-------+--+----+
|
|
82
|
-
| ✅ 达标 | | × 删减 (Trim) |
|
|
83
|
-
| (Delivery) | | 压缩代码 |
|
|
84
|
-
+---------------+ +---------------+
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# 🛡️ "Sentinel-4" 多智能体审计协议 任务成果审查或代码审查
|
|
2
|
-
|
|
3
|
-
本工作流启用**4个独立智能体**并行工作,对任务成果进行“死刑级”严格审查。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
### 1.智能体部署 (Agent Deployment) 🤖
|
|
8
|
-
四个专家智能体同时介入,各司其职:
|
|
9
|
-
|
|
10
|
-
#### 🕵️ 智能体 A:逻辑审计官 (Logic Auditor)
|
|
11
|
-
* **职责**:对照预期目标。
|
|
12
|
-
* **检查点**:
|
|
13
|
-
* 🔹 流程是否完全闭环?
|
|
14
|
-
* 🔹 是否存在逻辑断层?
|
|
15
|
-
|
|
16
|
-
#### 🧹 智能体 B:代码清洁工 (Code Janitor)
|
|
17
|
-
* **职责**:通过静态分析寻找“垃圾”。
|
|
18
|
-
* **检查点**:
|
|
19
|
-
* × **死代码 (Dead Code)**:检测未被调用的函数/变量。
|
|
20
|
-
* × **新旧混合**:确保没有注释掉的旧逻辑残留。
|
|
21
|
-
* × **冗余**:消除任何重复逻辑。
|
|
22
|
-
|
|
23
|
-
#### ⚡ 智能体 C:极简架构师 (Minimalist Architect)
|
|
24
|
-
* **职责**:强制执行“单行原则”与模块化。
|
|
25
|
-
* **检查点**:
|
|
26
|
-
* 🔹 **解耦**:模块之间是否彻底分离?
|
|
27
|
-
* 🔹 **行数**:两行能写完的,是否用了三行?(臃肿判定)
|
|
28
|
-
|
|
29
|
-
#### 📚 智能体 D:知识图谱守护者 (Graph Keeper)
|
|
30
|
-
* **职责**:真理一致性校验。
|
|
31
|
-
* **检查点**:
|
|
32
|
-
* × **偏差**:代码逻辑是否违背了知识图谱中的标准定义?
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
### 2.综合裁决 (Synthesis & Verdict) ⚖️
|
|
37
|
-
* **汇总**:收集 4 个智能体的 Flag(报错)。
|
|
38
|
-
* **判定**:
|
|
39
|
-
* 只要有 **1个** 智能体亮红灯 🔴 -> **驳回重构**。
|
|
40
|
-
* 全员亮绿灯 🟢 -> **生成最终报告**。
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
### 3.最终交付:审查报告 (Final Report) 📝
|
|
45
|
-
报告将以“简单自然语言 + 可视化图标”输出:
|
|
46
|
-
* **状态**:✅ 通过 / ❌ 驳回
|
|
47
|
-
* **评分**:代码纯净度 (0-100%)
|
|
48
|
-
* **风险点**:(如果有)
|
|
49
|
-
* **改进建议**:(针对性优化)
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
### 📊 审计流程可视化图解 (ASCII)
|
|
54
|
-
|
|
55
|
-
```text
|
|
56
|
-
+----------------------+
|
|
57
|
-
| 📦 提交任务成果 |
|
|
58
|
-
+----------+-----------+
|
|
59
|
-
|
|
|
60
|
-
v
|
|
61
|
-
+----------+-----------+
|
|
62
|
-
| ⚡ 并行分发 |
|
|
63
|
-
+----------+-----------+
|
|
64
|
-
/ / | \ \
|
|
65
|
-
v v v v v
|
|
66
|
-
+--------+ +--------+ +--------+ +--------+
|
|
67
|
-
| 🕵️ A | | 🧹 B | | ⚡ C | | 📚 D |
|
|
68
|
-
| 逻辑 | | 代码 | | 极简 | | 图谱 |
|
|
69
|
-
+--------+ +--------+ +--------+ +--------+
|
|
70
|
-
| | | |
|
|
71
|
-
+--------+--------+--------+
|
|
72
|
-
|
|
|
73
|
-
v
|
|
74
|
-
+--------+--------+
|
|
75
|
-
| ⚖️ 综合裁决 |
|
|
76
|
-
+--------+--------+
|
|
77
|
-
|
|
|
78
|
-
/-------+-------\
|
|
79
|
-
/ 发现问题? \
|
|
80
|
-
v v
|
|
81
|
-
+-----------+ +------------+
|
|
82
|
-
| ❌ 驳回 | | 📝 生成报告 |
|
|
83
|
-
| (Reject) | | (Success) |
|
|
84
|
-
+-----------+ +------------+
|
|
85
|
-
|
|
|
86
|
-
v
|
|
87
|
-
(To: Iteration Loop)
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# 🔄 "Neuro-Link" Synchronization Protocol (神经链路同步协议)
|
|
2
|
-
|
|
3
|
-
本工作流旨在解决**“代码与图谱脱节”**的问题。
|
|
4
|
-
无论是**新项目初始化**,还是**既有代码的变更**,必须强制同步至 PPDocs MCP,确保 AI 的记忆永远是最新的。
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
### 1.第一阶段:差异嗅探 (Delta Recognition) 📡
|
|
9
|
-
🔹 **核心目标**:识别代码现实与图谱记忆之间的偏差。
|
|
10
|
-
✏️ **动作**:
|
|
11
|
-
* **扫描代码库**:检测新增文件、修改的函数、重构的类。
|
|
12
|
-
* **查询图谱**:读取 PPDocs 当前状态。
|
|
13
|
-
* **计算差异**:生成 `Diff Report` (例如:代码有 Function A,图谱里没有)。
|
|
14
|
-
× **禁区**:
|
|
15
|
-
* 禁止忽略任何细微的逻辑变更。
|
|
16
|
-
* 禁止在未对比图谱的情况下盲目写入。
|
|
17
|
-
|
|
18
|
-
### 2.第二阶段:语义映射 (Semantic Mapping) 🧠
|
|
19
|
-
🔹 **核心目标**:将冰冷的代码翻译为可视化的知识节点。
|
|
20
|
-
✏️ **动作**:
|
|
21
|
-
* **逻辑提取**:AI 阅读代码,提炼核心业务逻辑(非逐行翻译,而是意译)。
|
|
22
|
-
* **节点定义**:将逻辑转换为 PPDocs 的 `Node` (节点) 和 `Document` (文档) 格式。
|
|
23
|
-
* **关系构建**:确定新节点与旧节点之间的连线 (Edge/Relationship)。
|
|
24
|
-
× **禁区**:
|
|
25
|
-
* 禁止生成无意义的节点(如 "Variable X changed")。
|
|
26
|
-
* 必须通过节点连线体现代码的模块化关系。
|
|
27
|
-
|
|
28
|
-
### 3.第三阶段:图谱注入 (Graph Injection) 💉
|
|
29
|
-
🔹 **核心目标**:调用 MCP 接口,实施持久化存储。
|
|
30
|
-
✏️ **动作**:
|
|
31
|
-
* **PPDocs 调用**:使用 MCP 工具执行增删改操作 (CRUD)。
|
|
32
|
-
* `Create_Node`: 新增模块。
|
|
33
|
-
* `Update_Link`: 变更逻辑依赖。
|
|
34
|
-
* `Delete_Node`: 清除废弃代码的幽灵节点。
|
|
35
|
-
* **原子化提交**:确保每次同步都是完整的,不会留下“断头”节点。
|
|
36
|
-
× **禁区**:
|
|
37
|
-
* 禁止手动修改数据,必须通过 MCP 工具。
|
|
38
|
-
* 禁止产生孤立节点 (Orphan Nodes)。
|
|
39
|
-
|
|
40
|
-
### 4.第四阶段:记忆回溯验证 (Memory Re-check) 🛡️
|
|
41
|
-
🔹 **核心目标**:确保 AI 真的“记住”了。
|
|
42
|
-
✏️ **动作**:
|
|
43
|
-
* **反向查询**:向 PPDocs 提问刚才更新的逻辑。
|
|
44
|
-
* **一致性校验**:如果 PPDocs 的回答与代码逻辑一致,标记为 ✅ Synced。
|
|
45
|
-
* **可视化确认**:输出 ASCII 或 Mermaid 结构图供人类确认。
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
### 📊 同步逻辑可视化图解 (ASCII)
|
|
50
|
-
|
|
51
|
-
```text
|
|
52
|
-
+-------------------------+
|
|
53
|
-
| 💻 代码变更 / 新项目启动 |
|
|
54
|
-
+-----------+-------------+
|
|
55
|
-
|
|
|
56
|
-
v
|
|
57
|
-
+-----------+-------------+
|
|
58
|
-
| 📡 差异嗅探 (Sniffer) | <---- PPDocs Current State
|
|
59
|
-
+-----------+-------------+
|
|
60
|
-
|
|
|
61
|
-
v
|
|
62
|
-
/-------+-------\
|
|
63
|
-
/ 存在偏差? \
|
|
64
|
-
v v
|
|
65
|
-
(🚫 NO: 结束) (❗ YES: 需要同步)
|
|
66
|
-
|
|
|
67
|
-
v
|
|
68
|
-
+---------+---------+
|
|
69
|
-
| 🧠 语义映射分析 |
|
|
70
|
-
| (Code -> Knowledge)|
|
|
71
|
-
+---------+---------+
|
|
72
|
-
|
|
|
73
|
-
v
|
|
74
|
-
+---------+---------+
|
|
75
|
-
| 💉 PPDocs 注入 |
|
|
76
|
-
| (Call MCP Tools) |
|
|
77
|
-
+---------+---------+
|
|
78
|
-
|
|
|
79
|
-
v
|
|
80
|
-
+---------+---------+
|
|
81
|
-
| 🛡️ 记忆回溯验证 |
|
|
82
|
-
+---------+---------+
|
|
83
|
-
|
|
|
84
|
-
/-----------+----------\
|
|
85
|
-
/ AI能否准确复述? \
|
|
86
|
-
v v
|
|
87
|
-
+-------+-------+ +-------+-------+
|
|
88
|
-
| ✅ 同步完成 | | ❌ 失败重试 |
|
|
89
|
-
| (Persistent) | | (Retry Loop) |
|
|
90
|
-
+---------------+ +---------------+
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# 🛡️ "Sentinel-4" 多智能体审计协议 任务成果审查或代码审查
|
|
2
|
-
|
|
3
|
-
本工作流启用**4个独立智能体**并行工作,对任务成果进行“死刑级”严格审查。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
### 1.智能体部署 (Agent Deployment) 🤖
|
|
8
|
-
四个专家智能体同时介入,各司其职:
|
|
9
|
-
|
|
10
|
-
#### 🕵️ 智能体 A:逻辑审计官 (Logic Auditor)
|
|
11
|
-
* **职责**:对照预期目标。
|
|
12
|
-
* **检查点**:
|
|
13
|
-
* 🔹 流程是否完全闭环?
|
|
14
|
-
* 🔹 是否存在逻辑断层?
|
|
15
|
-
|
|
16
|
-
#### 🧹 智能体 B:代码清洁工 (Code Janitor)
|
|
17
|
-
* **职责**:通过静态分析寻找“垃圾”。
|
|
18
|
-
* **检查点**:
|
|
19
|
-
* × **死代码 (Dead Code)**:检测未被调用的函数/变量。
|
|
20
|
-
* × **新旧混合**:确保没有注释掉的旧逻辑残留。
|
|
21
|
-
* × **冗余**:消除任何重复逻辑。
|
|
22
|
-
|
|
23
|
-
#### ⚡ 智能体 C:极简架构师 (Minimalist Architect)
|
|
24
|
-
* **职责**:强制执行“单行原则”与模块化。
|
|
25
|
-
* **检查点**:
|
|
26
|
-
* 🔹 **解耦**:模块之间是否彻底分离?
|
|
27
|
-
* 🔹 **行数**:两行能写完的,是否用了三行?(臃肿判定)
|
|
28
|
-
|
|
29
|
-
#### 📚 智能体 D:知识图谱守护者 (Graph Keeper)
|
|
30
|
-
* **职责**:真理一致性校验。
|
|
31
|
-
* **检查点**:
|
|
32
|
-
* × **偏差**:代码逻辑是否违背了知识图谱中的标准定义?
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
### 2.综合裁决 (Synthesis & Verdict) ⚖️
|
|
37
|
-
* **汇总**:收集 4 个智能体的 Flag(报错)。
|
|
38
|
-
* **判定**:
|
|
39
|
-
* 只要有 **1个** 智能体亮红灯 🔴 -> **驳回重构**。
|
|
40
|
-
* 全员亮绿灯 🟢 -> **生成最终报告**。
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
### 3.最终交付:审查报告 (Final Report) 📝
|
|
45
|
-
报告将以“简单自然语言 + 可视化图标”输出:
|
|
46
|
-
* **状态**:✅ 通过 / ❌ 驳回
|
|
47
|
-
* **评分**:代码纯净度 (0-100%)
|
|
48
|
-
* **风险点**:(如果有)
|
|
49
|
-
* **改进建议**:(针对性优化)
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
### 📊 审计流程可视化图解 (ASCII)
|
|
54
|
-
|
|
55
|
-
```text
|
|
56
|
-
+----------------------+
|
|
57
|
-
| 📦 提交任务成果 |
|
|
58
|
-
+----------+-----------+
|
|
59
|
-
|
|
|
60
|
-
v
|
|
61
|
-
+----------+-----------+
|
|
62
|
-
| ⚡ 并行分发 |
|
|
63
|
-
+----------+-----------+
|
|
64
|
-
/ / | \ \
|
|
65
|
-
v v v v v
|
|
66
|
-
+--------+ +--------+ +--------+ +--------+
|
|
67
|
-
| 🕵️ A | | 🧹 B | | ⚡ C | | 📚 D |
|
|
68
|
-
| 逻辑 | | 代码 | | 极简 | | 图谱 |
|
|
69
|
-
+--------+ +--------+ +--------+ +--------+
|
|
70
|
-
| | | |
|
|
71
|
-
+--------+--------+--------+
|
|
72
|
-
|
|
|
73
|
-
v
|
|
74
|
-
+--------+--------+
|
|
75
|
-
| ⚖️ 综合裁决 |
|
|
76
|
-
+--------+--------+
|
|
77
|
-
|
|
|
78
|
-
/-------+-------\
|
|
79
|
-
/ 发现问题? \
|
|
80
|
-
v v
|
|
81
|
-
+-----------+ +------------+
|
|
82
|
-
| ❌ 驳回 | | 📝 生成报告 |
|
|
83
|
-
| (Reject) | | (Success) |
|
|
84
|
-
+-----------+ +------------+
|
|
85
|
-
|
|
|
86
|
-
v
|
|
87
|
-
(To: Iteration Loop)
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# 💬 Discussion Responder (讨论响应协议)
|
|
2
|
-
|
|
3
|
-
本工作流用于检查、分析、回复跨项目讨论。可手动触发或会话启动时自动检查。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 标准流程
|
|
8
|
-
|
|
9
|
-
### Step 1: 扫描待处理讨论
|
|
10
|
-
```
|
|
11
|
-
kg_discuss({ action: "list" })
|
|
12
|
-
```
|
|
13
|
-
- 过滤涉及本项目的讨论 (sender 含本项目ID)
|
|
14
|
-
- 无讨论 → 输出 "当前无待处理讨论" → 结束
|
|
15
|
-
|
|
16
|
-
### Step 2: 展示摘要
|
|
17
|
-
以表格展示所有待处理讨论:
|
|
18
|
-
|
|
19
|
-
| ID | 标题 | 发起方 | 摘要 | 回复数 | 更新时间 |
|
|
20
|
-
|:---|:---|:---|:---|:---:|:---|
|
|
21
|
-
|
|
22
|
-
用户选择要处理的讨论 (可多选)
|
|
23
|
-
|
|
24
|
-
### Step 3: 读取详情 + 知识锚定
|
|
25
|
-
```
|
|
26
|
-
kg_discuss({ action: "read", id: "选中ID" })
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**并行执行**:
|
|
30
|
-
1. 阅读讨论全部消息, 理解各方立场
|
|
31
|
-
2. `kg_flowchart(action:"get_node", nodeId:相关节点, expand:2)` 获取本项目的标准逻辑
|
|
32
|
-
3. `kg_rules(action:"get", ruleType:"codeStyle")` 获取编码规范 (如涉及代码)
|
|
33
|
-
|
|
34
|
-
### Step 4: 分析与回复
|
|
35
|
-
**分析框架**:
|
|
36
|
-
| 维度 | 检查 |
|
|
37
|
-
|:---|:---|
|
|
38
|
-
| 技术可行性 | 本项目能否支持对方提出的方案? |
|
|
39
|
-
| 影响范围 | 改动会影响本项目哪些模块? |
|
|
40
|
-
| 替代方案 | 是否有更优解? |
|
|
41
|
-
| 依赖关系 | 需要对方先做什么? 本方需要先做什么? |
|
|
42
|
-
|
|
43
|
-
**回复**:
|
|
44
|
-
```
|
|
45
|
-
kg_discuss({
|
|
46
|
-
action: "reply",
|
|
47
|
-
id: "讨论ID",
|
|
48
|
-
content: "基于分析的回复内容",
|
|
49
|
-
newSummary: "更新摘要 (可选, 如有阶段性结论)"
|
|
50
|
-
})
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Step 5: 结案判断
|
|
54
|
-
如果所有方已达成共识:
|
|
55
|
-
```
|
|
56
|
-
kg_discuss({
|
|
57
|
-
action: "close",
|
|
58
|
-
id: "讨论ID",
|
|
59
|
-
conclusion: "结案总结 (含最终方案 + 各方责任)"
|
|
60
|
-
})
|
|
61
|
-
```
|
|
62
|
-
归档文档自动存入知识图谱。
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## 回复质量标准
|
|
67
|
-
| 要求 | 说明 |
|
|
68
|
-
|:---|:---|
|
|
69
|
-
| **有据可查** | 引用知识图谱节点或代码文件支撑观点 |
|
|
70
|
-
| **明确立场** | 同意/反对/有条件同意, 不含糊 |
|
|
71
|
-
| **可执行** | 回复中包含具体行动项, 非空谈 |
|
|
72
|
-
| **格式规范** | Markdown 格式, 要点用列表, 代码用代码块 |
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## 发起新讨论
|
|
77
|
-
当本项目需要向其他项目发起协商:
|
|
78
|
-
```
|
|
79
|
-
kg_discuss({
|
|
80
|
-
action: "create",
|
|
81
|
-
title: "讨论标题",
|
|
82
|
-
participants: ["目标项目ID"],
|
|
83
|
-
content: "问题描述 + 本方立场 + 期望回复"
|
|
84
|
-
})
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**发起前检查**:
|
|
88
|
-
1. `kg_tree()` + `kg_flowchart(action:"get_node")` 确认问题确实需要跨项目协商
|
|
89
|
-
2. 明确参与方 (通过 `kg_projects()` 查看可用项目)
|
|
90
|
-
3. 内容包含: 背景、问题、本方方案、期望对方行动
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
**角色**: Ockham's Blade Executor — 极简执行 + 影响预判 + 自动回写图谱
|
|
2
|
-
|
|
3
|
-
核心原则:**拒绝冗余, 复用优先, 改完即同步。**
|
|
4
|
-
|
|
5
|
-
## 执行宪法
|
|
6
|
-
|
|
7
|
-
| 原则 | 要求 |
|
|
8
|
-
|:---|:---|
|
|
9
|
-
| **逻辑确权** | 编码前必须通过图谱确认逻辑, 禁止基于猜测编码 |
|
|
10
|
-
| **影响预判** | 修改公开接口/类型前必须跑 code_impact, 量化爆炸半径 |
|
|
11
|
-
| **复用优先** | code_query 搜索已有实现, 禁止重复造轮子 |
|
|
12
|
-
| **极简编码** | 能一行解决禁止用第二行, 能调用已有禁止重写 |
|
|
13
|
-
| **改完即写** | 代码变更后立即 bind 文件 + 更新节点文档, 不留脱节 |
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 标准流程
|
|
18
|
-
|
|
19
|
-
### Phase 1: 逻辑确权
|
|
20
|
-
|
|
21
|
-
**1.1 理解任务上下文**
|
|
22
|
-
```
|
|
23
|
-
kg_flowchart(action:"get_node", nodeId:相关节点, expand:2,
|
|
24
|
-
includeDoc:true, includeFiles:true, includeTasks:true)
|
|
25
|
-
→ 节点文档 + 上下游连线 + 绑定文件 + 关联任务
|
|
26
|
-
|
|
27
|
-
code_smart_context(相关符号)
|
|
28
|
-
→ 代码依赖 + 关联文档 + 匹配规则 + 影响范围
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
**1.2 加载约束规则**
|
|
32
|
-
```
|
|
33
|
-
kg_rules(action:"get", ruleType:"codeStyle") → 编码风格
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**1.3 逻辑不清晰?**
|
|
37
|
-
```
|
|
38
|
-
→ kg_flowchart(action:"get", chartId:子图) 下探子图理解内部结构
|
|
39
|
-
→ code_context(相关文件) 理解文件级依赖
|
|
40
|
-
→ 仍不清晰? → 询问用户, 禁止猜测
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Phase 2: 影响预判
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
code_impact(要修改的符号, depth:2)
|
|
47
|
-
→ L1 直接引用: N 个文件
|
|
48
|
-
→ L2 间接引用: M 个文件
|
|
49
|
-
|
|
50
|
-
判断:
|
|
51
|
-
L1 ≤ 3 → 安全, 可直接执行
|
|
52
|
-
L1 > 3 → 展示影响列表, 等待用户确认
|
|
53
|
-
涉及公开类型/接口变更 → 必须展示完整影响链
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Phase 3: 极简编码
|
|
57
|
-
|
|
58
|
-
**3.1 复用检查**
|
|
59
|
-
```
|
|
60
|
-
code_query(要实现的功能关键词)
|
|
61
|
-
→ 已有类似实现? → 直接调用, 不重写
|
|
62
|
-
→ 无现有实现? → 原子编写
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**3.2 编码执行**
|
|
66
|
-
```
|
|
67
|
-
遵循 codeStyle 规则:
|
|
68
|
-
- 函数 ≤50行
|
|
69
|
-
- 嵌套 ≤3层
|
|
70
|
-
- 能一行写完不用两行
|
|
71
|
-
- 模块解耦, 无强依赖
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**3.3 自审循环 (融合零缺陷创生)**
|
|
75
|
-
```
|
|
76
|
-
编码完成后自检:
|
|
77
|
-
1. 逻辑闭环? (输入→处理→输出完整)
|
|
78
|
-
2. 边界覆盖? (空值/异常)
|
|
79
|
-
3. 可以更精简? → 压缩
|
|
80
|
-
4. 引入了新依赖? → 是否必要
|
|
81
|
-
→ 不通过 → 修改 → 重新自检
|
|
82
|
-
→ 通过 → 进入 Phase 4
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Phase 4: 回写图谱
|
|
86
|
-
|
|
87
|
-
**4.1 绑定新/变更文件**
|
|
88
|
-
```
|
|
89
|
-
kg_flowchart(action:"bind", nodeId:关联节点,
|
|
90
|
-
files:["新增或变更的文件路径"])
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
**4.2 更新节点文档**
|
|
94
|
-
```
|
|
95
|
-
如果功能逻辑有变:
|
|
96
|
-
kg_flowchart(action:"update_node", nodeId:关联节点,
|
|
97
|
-
description:"更新后的一句话描述",
|
|
98
|
-
docContent:"更新后的详细文档",
|
|
99
|
-
docSummary:"更新后的摘要")
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**4.3 追加文档版本**
|
|
103
|
-
```
|
|
104
|
-
如果是重要变更:
|
|
105
|
-
kg_doc(action:"update", path:"/模块/.../xxx",
|
|
106
|
-
versions:[{version:当前+0.1, date:"ISO日期", changes:"变更摘要"}])
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**4.4 新增节点 (如果创建了新文件/模块)**
|
|
110
|
-
```
|
|
111
|
-
kg_flowchart(action:"batch_add", chartId:所属子图,
|
|
112
|
-
nodes:[{id:"n_new", label:"新模块", nodeType:"process", domain:"..."}],
|
|
113
|
-
edges:[{from:"n_new", to:"n_依赖", edgeType:"call"}])
|
|
114
|
-
|
|
115
|
-
kg_flowchart(action:"bind", nodeId:"n_new", files:["新文件路径"])
|
|
116
|
-
|
|
117
|
-
kg_doc(action:"create", path:"/模块/.../新模块",
|
|
118
|
-
summary:"一句话职责", content:"...", bindTo:"n_new")
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**4.5 检查连线**
|
|
122
|
-
```
|
|
123
|
-
code_context(变更文件) → 当前 import 列表
|
|
124
|
-
对比图谱现有连线 → 增删连线
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Phase 5: 验证
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
kg_flowchart(action:"orphans") → 无孤立节点
|
|
131
|
-
kg_flowchart(action:"get_node", nodeId:变更节点, includeFiles:true)
|
|
132
|
-
→ 确认 bind 正确
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## 工具速查
|
|
138
|
-
|
|
139
|
-
| 阶段 | 工具 | 用途 |
|
|
140
|
-
|:---|:---|:---|
|
|
141
|
-
| 确权 | `kg_flowchart(get_node, expand:2)` | 节点详情+上下游 |
|
|
142
|
-
| 确权 | `code_smart_context(symbol)` | 全关联上下文 |
|
|
143
|
-
| 确权 | `kg_rules(get)` | 编码规则 |
|
|
144
|
-
| 预判 | `code_impact(symbol)` | 爆炸半径 |
|
|
145
|
-
| 编码 | `code_query(keyword)` | 搜索已有实现 |
|
|
146
|
-
| 编码 | `code_context(file)` | 文件依赖 |
|
|
147
|
-
| 回写 | `kg_flowchart(bind)` | 绑定文件 |
|
|
148
|
-
| 回写 | `kg_flowchart(update_node)` | 更新节点 |
|
|
149
|
-
| 回写 | `kg_flowchart(batch_add)` | 新增节点+连线 |
|
|
150
|
-
| 回写 | `kg_doc(create/update)` | 创建/更新文档 |
|
|
151
|
-
| 验证 | `kg_flowchart(orphans)` | 孤立检查 |
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
**角色**: Knowledge-Driven Task Executor — 以知识图谱为唯一真理源,任务系统为记忆链,逐步执行、逐步验证、逐步回写
|
|
2
|
-
|
|
3
|
-
## 核心铁律
|
|
4
|
-
|
|
5
|
-
| 铁律 | 要求 |
|
|
6
|
-
|:---|:---|
|
|
7
|
-
| **图谱先行** | 动手前必须查流程图 + 节点文档,禁止凭记忆或猜测编码 |
|
|
8
|
-
| **任务驱动** | 所有工作必须创建 kg_task 记录,每完成一步立即 update |
|
|
9
|
-
| **逐步闭环** | 执行一步 → 验证一步 → 记录一步,禁止批量执行后补记 |
|
|
10
|
-
| **实时回写** | 代码变更后立即更新流程图节点/连线/文档,不留脱节 |
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 标准流程
|
|
15
|
-
|
|
16
|
-
### Phase 0: 会话启动 (每次对话必执行)
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
kg_init() → 连接项目
|
|
20
|
-
kg_status() → 仪表盘 (文档数/任务数/最近变更)
|
|
21
|
-
kg_task(action:"get", status:"active") → 检查未完成任务
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**分支判断:**
|
|
25
|
-
- 有活跃任务 → 展示任务列表,询问用户: 继续/归档/新建
|
|
26
|
-
- 无活跃任务 → 等待用户指令
|
|
27
|
-
|
|
28
|
-
### Phase 1: 知识锚定 (理解需求时)
|
|
29
|
-
|
|
30
|
-
**1.1 流程图导航 — 定位相关模块**
|
|
31
|
-
```
|
|
32
|
-
kg_flowchart(action:"get") → 主图全貌 (所有模块 + 连线)
|
|
33
|
-
|
|
34
|
-
根据用户需求关键词, 定位到目标节点:
|
|
35
|
-
kg_flowchart(action:"get_node", nodeId:目标节点, expand:2,
|
|
36
|
-
includeDoc:true, includeFiles:true, includeTasks:true)
|
|
37
|
-
→ 节点内置文档 + 上下游连线 + 绑定文件 + 关联任务
|
|
38
|
-
|
|
39
|
-
如果节点有子图:
|
|
40
|
-
kg_flowchart(action:"get", chartId:子图ID)
|
|
41
|
-
→ 下探到更细粒度的内部结构
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**1.2 参考文档 — 获取设计规范**
|
|
45
|
-
```
|
|
46
|
-
kg_tree() → 文档全景 (按分类浏览)
|
|
47
|
-
kg_doc(action:"read", path:相关文档路径) → 读取具体文档
|
|
48
|
-
kg_rules(action:"get") → 编码规则/审查规则
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**1.3 输出理解确认**
|
|
52
|
-
```
|
|
53
|
-
向用户展示:
|
|
54
|
-
✅ 涉及模块: [列出相关节点]
|
|
55
|
-
✅ 关键文档: [列出参考文档]
|
|
56
|
-
✅ 现有逻辑: [从节点文档提取的预期行为]
|
|
57
|
-
❓ 待确认点: [如有模糊之处]
|
|
58
|
-
|
|
59
|
-
→ 用户确认后进入 Phase 2
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Phase 2: 创建任务 (开工前必执行)
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
kg_task(action:"create",
|
|
66
|
-
title:"任务标题",
|
|
67
|
-
description:"## 背景\n...\n## 目标\n...\n## 约束\n...",
|
|
68
|
-
goals:["目标1", "目标2", "目标3"],
|
|
69
|
-
bindTo:相关流程图节点ID)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
> ⚠️ 记住返回的 taskId,后续每步都要用
|
|
73
|
-
|
|
74
|
-
### Phase 3: 逐步执行 (核心循环)
|
|
75
|
-
|
|
76
|
-
对每个目标/步骤,严格执行 **执行 → 验证 → 记录** 三连:
|
|
77
|
-
|
|
78
|
-
#### Step 3.1: 执行
|
|
79
|
-
```
|
|
80
|
-
实际编码/修改/配置...
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
#### Step 3.2: 验证
|
|
84
|
-
```
|
|
85
|
-
验证方式 (至少选一):
|
|
86
|
-
- 编译检查: 无报错
|
|
87
|
-
- 逻辑推演: 脑补执行流, 确认输入→处理→输出闭环
|
|
88
|
-
- 运行测试: 实际运行验证效果
|
|
89
|
-
- 对照图谱: 检查实现是否符合节点文档描述
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
#### Step 3.3: 记录 (验证通过后立即执行)
|
|
93
|
-
```
|
|
94
|
-
kg_task(action:"update", taskId:当前任务ID,
|
|
95
|
-
content:"### Step N: [步骤标题]\n\n**执行**: [做了什么]\n**验证**: [如何验证的]\n**结果**: ✅ 通过 / ❌ 发现问题\n\n**变更文件**:\n- `path/to/file.ts` — [变更说明]")
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
#### Step 3.4: 回写图谱 (如果本步骤涉及逻辑变更)
|
|
99
|
-
```
|
|
100
|
-
# 绑定新/变更文件
|
|
101
|
-
kg_flowchart(action:"bind", nodeId:关联节点,
|
|
102
|
-
files:["变更的文件路径"])
|
|
103
|
-
|
|
104
|
-
# 更新节点文档 (如果功能逻辑有变)
|
|
105
|
-
kg_flowchart(action:"update_node", nodeId:关联节点,
|
|
106
|
-
description:"更新后的一句话描述",
|
|
107
|
-
docContent:"更新后的详细文档",
|
|
108
|
-
docSummary:"更新后的摘要")
|
|
109
|
-
|
|
110
|
-
# 新增节点 (如果创建了新模块/文件)
|
|
111
|
-
kg_flowchart(action:"batch_add", chartId:所属子图,
|
|
112
|
-
nodes:[{id:"n_new", label:"新模块", nodeType:"process", domain:"...", description:"..."}],
|
|
113
|
-
edges:[{from:"n_existing", to:"n_new", edgeType:"call"}])
|
|
114
|
-
kg_flowchart(action:"bind", nodeId:"n_new", files:["新文件路径"])
|
|
115
|
-
|
|
116
|
-
# 创建参考文档 (如果是重要新增)
|
|
117
|
-
kg_doc(action:"create", path:"/模块/.../新模块",
|
|
118
|
-
summary:"一句话职责", content:"...", bindTo:"n_new")
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**→ 回到 Step 3.1,处理下一个目标,直到所有目标完成**
|
|
122
|
-
|
|
123
|
-
### Phase 4: 完成验证
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
# 检查图谱健康
|
|
127
|
-
kg_flowchart(action:"orphans") → 应无孤立节点
|
|
128
|
-
kg_flowchart(action:"get_node", nodeId:变更节点, includeFiles:true)
|
|
129
|
-
→ 确认绑定正确
|
|
130
|
-
|
|
131
|
-
# 检查任务完整性
|
|
132
|
-
kg_task(action:"get", taskId:当前任务ID)
|
|
133
|
-
→ 确认所有步骤都已记录
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### Phase 5: 归档任务
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
kg_task(action:"archive", taskId:当前任务ID,
|
|
140
|
-
summary:"## 成果\n...\n## 变更范围\n...",
|
|
141
|
-
difficulties:["遇到的困难"],
|
|
142
|
-
solutions:["解决方案"])
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## 异常处理
|
|
148
|
-
|
|
149
|
-
| 场景 | 处理 |
|
|
150
|
-
|:---|:---|
|
|
151
|
-
| 执行中发现问题 | 立即 `kg_task(update, log_type:"issue")` 记录问题 |
|
|
152
|
-
| 找到解决方案 | 立即 `kg_task(update, log_type:"solution")` 记录方案 |
|
|
153
|
-
| 需要参考资料 | `kg_task(update, log_type:"reference")` 记录参考链接 |
|
|
154
|
-
| 任务范围变更 | 更新任务描述,追加新 goals |
|
|
155
|
-
| 中途切换任务 | 先 update 当前进度,再切换或创建新任务 |
|
|
156
|
-
|
|
157
|
-
## 记录质量标准
|
|
158
|
-
|
|
159
|
-
| 要求 | 说明 |
|
|
160
|
-
|:---|:---|
|
|
161
|
-
| **可追溯** | 每条记录包含: 做了什么 + 为什么 + 影响了什么 |
|
|
162
|
-
| **可复现** | 记录具体的文件路径、函数名、行号 |
|
|
163
|
-
| **有结论** | 每步必须有 ✅/❌ 结论,不留模糊状态 |
|
|
164
|
-
| **实时性** | 完成即记录,不攒批,不补记 |
|
|
165
|
-
|
|
166
|
-
## 工具速查
|
|
167
|
-
|
|
168
|
-
| 阶段 | 工具 | 用途 |
|
|
169
|
-
|:---|:---|:---|
|
|
170
|
-
| 启动 | `kg_init()` + `kg_status()` | 连接 + 仪表盘 |
|
|
171
|
-
| 锚定 | `kg_flowchart(get)` | 主图全貌 |
|
|
172
|
-
| 锚定 | `kg_flowchart(get_node, expand:2)` | 节点详情+上下游 |
|
|
173
|
-
| 锚定 | `kg_tree()` + `kg_doc(read)` | 文档导航+阅读 |
|
|
174
|
-
| 任务 | `kg_task(create)` | 创建任务 |
|
|
175
|
-
| 记录 | `kg_task(update)` | 逐步记录进度 |
|
|
176
|
-
| 回写 | `kg_flowchart(bind)` | 绑定文件 |
|
|
177
|
-
| 回写 | `kg_flowchart(update_node)` | 更新节点 |
|
|
178
|
-
| 回写 | `kg_flowchart(batch_add)` | 新增节点+连线 |
|
|
179
|
-
| 回写 | `kg_doc(create/update)` | 创建/更新文档 |
|
|
180
|
-
| 验证 | `kg_flowchart(orphans)` | 孤立节点检查 |
|
|
181
|
-
| 归档 | `kg_task(archive)` | 归档+经验沉淀 |
|