@roarpeng/graphflow 1.7.6 → 1.7.7

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +183 -183
  3. package/dist/graph/context-slicer-types.d.ts +4 -0
  4. package/dist/graph/context-slicer-types.d.ts.map +1 -1
  5. package/dist/graph/context-slicer-types.js +5 -1
  6. package/dist/graph/context-slicer-types.js.map +1 -1
  7. package/dist/graph/context-slicer.d.ts.map +1 -1
  8. package/dist/graph/context-slicer.js +8 -2
  9. package/dist/graph/context-slicer.js.map +1 -1
  10. package/dist/graph/graph-utils.d.ts +7 -0
  11. package/dist/graph/graph-utils.d.ts.map +1 -1
  12. package/dist/graph/graph-utils.js +65 -1
  13. package/dist/graph/graph-utils.js.map +1 -1
  14. package/dist/graph/query-expand.d.ts.map +1 -1
  15. package/dist/graph/query-expand.js +1 -0
  16. package/dist/graph/query-expand.js.map +1 -1
  17. package/dist/integrations/skill-installer.d.ts +6 -0
  18. package/dist/integrations/skill-installer.d.ts.map +1 -1
  19. package/dist/integrations/skill-installer.js +11 -2
  20. package/dist/integrations/skill-installer.js.map +1 -1
  21. package/dist/learning/skill-flywheel.d.ts +19 -0
  22. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  23. package/dist/learning/skill-flywheel.js +94 -8
  24. package/dist/learning/skill-flywheel.js.map +1 -1
  25. package/dist/learning/skill-store.d.ts.map +1 -1
  26. package/dist/learning/skill-store.js +1 -0
  27. package/dist/learning/skill-store.js.map +1 -1
  28. package/dist/learning/skill-types.d.ts +2 -0
  29. package/dist/learning/skill-types.d.ts.map +1 -1
  30. package/dist/learning/skill-types.js.map +1 -1
  31. package/dist/surfaces/cli/runtime/helpers.d.ts.map +1 -1
  32. package/dist/surfaces/cli/runtime/helpers.js +4 -0
  33. package/dist/surfaces/cli/runtime/helpers.js.map +1 -1
  34. package/dist/surfaces/cli/runtime/routing.d.ts +7 -9
  35. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  36. package/dist/surfaces/cli/runtime/routing.js +41 -4
  37. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
1
  # GraphFlow
2
2
 
3
- > **Local-first 代码知识图谱 + 跨会话学习记忆** —— 不只是压缩上下文,还记住项目的决策与教训。
3
+ > **Local-first 代码知识图谱 + 跨会话学习记�?* —�?不只是压缩上下文,还记住项目的决策与教训�?
4
4
 
5
- GraphFlow 把你的仓库变成一张**可查询的代码图谱**,在 agent 读全文之前先返回压缩摘要与锚点(入门钩子:**图谱 + 90%+ token 压缩**);更进一步,它用 **Episodic / Skill / Decision 节点**把每次任务的决策与教训沉淀回图谱,形成跨会话的**学习飞轮**(差异化纵深)。
5
+ GraphFlow 把你的仓库变成一�?*可查询的代码图谱**,在 agent 读全文之前先返回压缩摘要与锚点(入门钩子�?*图谱 + 90%+ token 压缩**);更进一步,它用 **Episodic / Skill / Decision 节点**把每次任务的决策与教训沉淀回图谱,形成跨会话的**学习飞轮**(差异化纵深)�?
6
6
 
7
- TypeScript/Node 本地运行,通过 CLI、MCP、VS Code 扩展对外暴露。**无需 API key、无需配置**即可起步:结构索引 + 离线压缩开箱即用。
7
+ �?TypeScript/Node 本地运行,通过 CLI、MCP、VS Code 扩展对外暴露�?*无需 API key、无需配置**即可起步:结构索�?+ 离线压缩开箱即用�?
8
8
 
9
- ## 30 秒上手
9
+ ## 30 秒上�?
10
10
 
11
11
  无需 API key、无需注册——结构图谱与离线压缩本地直接跑:
12
12
 
13
13
  ```bash
14
- # 1. 建立结构图谱(纯 AST,零 LLM、零网络)
14
+ # 1. 建立结构图谱(纯 AST,零 LLM、零网络�?
15
15
  npx @roarpeng/graphflow graph index .
16
16
 
17
- # 2. 压缩预览:读全文前先拿摘要 + 锚点(通常省 90%+ token
17
+ # 2. 压缩预览:读全文前先拿摘�?+ 锚点(通常�?90%+ token�?
18
18
  npx @roarpeng/graphflow context preview "orchestrator" --json
19
19
  ```
20
20
 
@@ -31,109 +31,109 @@ npx @roarpeng/graphflow context preview "orchestrator" --json
31
31
  }
32
32
  ```
33
33
 
34
- 接好后让 agent 优先调用 `graphflow_context` 取压缩上下文;多步任务用 `graphflow_plan`。配置 provider API key 是**可选**的——只在需要 LLM 规划增强时才用。
34
+ 接好后让 agent 优先调用 `graphflow_context` 取压缩上下文;多步任务用 `graphflow_plan`。配�?provider API key �?*可�?*的——只在需�?LLM 规划增强时才用�?
35
35
 
36
- ## 为什么选 GraphFlow(与同类对比)
36
+ ## 为什么�?GraphFlow(与同类对比�?
37
37
 
38
- 这个赛道里有许多优秀的单点工具,GraphFlow 的定位不是"某一项最强",而是**在代码图谱之上叠加了上下文压缩、规划编排与跨会话学习记忆**——尤其是"记忆型代码图谱"这一块目前少有人占据。诚实对比如下:
38
+ 这个赛道里有许多优秀的单点工具,GraphFlow 的定位不�?某一项最�?,而是**在代码图谱之上叠加了上下文压缩、规划编排与跨会话学习记�?*——尤其是"记忆型代码图�?这一块目前少有人占据。诚实对比如下:
39
39
 
40
40
  | 维度 | **GraphFlow** | CodeGraph | Serena | Repomix |
41
41
  | --- | --- | --- | --- | --- |
42
- | 结构代码图谱 | 多语言 AST 图谱 | 更成熟(★ 更高) | ⚠️ LSP 符号(非全图谱) | ❌ |
43
- | 上下文压缩 | ✅ 两层渐进(结构+向量) | ⚠️ 图查询为主 | ⚠️ 符号级精修 | ✅ 整库打包(无压缩) |
44
- | 规划编排 | DAG / 六顶思考帽 | | ❌ | ❌ |
45
- | **跨会话学习记忆** | Episodic / Skill / Decision 节点 | | ❌ | ❌ |
46
- | Local-first | | | ✅ | ✅ |
47
- | 许可 | Apache-2.0 | MIT | MIT | 宽松开源 |
42
+ | 结构代码图谱 | �?多语言 AST 图谱 | �?更成熟(�?更高�?| ⚠️ LSP 符号(非全图谱) | �?|
43
+ | 上下文压�?| �?两层渐进(结�?向量�?| ⚠️ 图查询为�?| ⚠️ 符号级精�?| �?整库打包(无压缩�?|
44
+ | 规划编排 | �?DAG / 六顶思考帽 | �?| �?| �?|
45
+ | **跨会话学习记�?* | �?Episodic / Skill / Decision 节点 | �?| �?| �?|
46
+ | Local-first | �?| �?| �?| �?|
47
+ | 许可 | Apache-2.0 | MIT | MIT | 宽松开�?|
48
48
 
49
- > 实话实说:论纯图谱的成熟度与社区规模,CodeGraph 更领先;论 LSP 符号编辑标准,Serena 更专精;论整库打包,Repomix 更简单。GraphFlow 的价值在于把"图谱 + 压缩 + 规划 + 学习记忆"合到一处,让 agent 不仅省 token,还能跨会话复用项目经验。
49
+ > 实话实说:论纯图谱的成熟度与社区规模,CodeGraph 更领先;�?LSP 符号编辑标准,Serena 更专精;论整库打包,Repomix 更简单。GraphFlow 的价值在于把"图谱 + 压缩 + 规划 + 学习记忆"合到一处,�?agent 不仅�?token,还能跨会话复用项目经验�?
50
50
 
51
- ## 当前能力总览(v1.7.6+)
51
+ ## 当前能力总览(v1.7.7+�?
52
52
 
53
- | 能力域 | 说明 |
53
+ | 能力�?| 说明 |
54
54
  | --- | --- |
55
- | **任务规划与移交** | 按任务复杂度分流 simple / complex / insight;DAG 规划;**ATP v1.0 Agent Thinking Protocol**:Intent Requirement Six Hats 5-Why First Principles Decision Matrix Planning Reflection(`planInsight(task, opts, true)` 开启完整 8 阶段分析,简单任务自动 short-circuit);Agent 委托模式生成 work items;默认 **bridge 模式**输出结构化任务描述符交给外部 coding agent 执行 |
56
-
57
- | **模型路由** | Smart / Economy tier;多 provider 健康探测与 fallback(**DeepSeek**、OpenAI、Anthropic、百炼、豆包) |
58
- | **知识图谱** | 工作区 AST 索引(TS/JS/Python/Rust/Go/C/C++/Java/Ruby/Kotlin/Swift);File / Module / Symbol 节点 + 依赖/引用/定义/调用/继承边;图谱 artifact 导入/导出 |
59
- | **上下文压缩** | L1/L2/L3 分层锚点;近无损打包;图结构压缩(边权重+PageRank,零成本默认开启);向量召回 + RRF 融合;RepoMap 概览;自适应预算 |
60
- | **持续建图** | 默认 `autoIndexOnSave`;MCP 启动时自动启动 FileWatcher;preview / run 前按需增量索引;MCP `graphflow_index` 单文件增量 |
61
- | **学习飞轮** | Episodic Memory(Jaccard + embedding RRF 语义检索)、Reflection(聚类 + Lesson 提取)、Skill 节点(score ±1,bounded [-20,20])、nightly 学习、技能提示注入规划 |
62
- | **可观测性** | `graphflow_diagnose` 累计 token 节省;VS Code 知识图谱 Snapshot |
63
- | **Agent 接入** | CLI `--json`;MCP stdio(**10 工具**);自动安装 MCP 15+ Agent(Cursor / Claude Code / Windsurf / Cline / Codex / Gemini 等) |
64
- | **VS Code 扩展** | Settings、建图、路由测试、Context Preview、**知识图谱可视化**、Skill Insights、Chat Agent、一键安装 MCP |
65
- | **存储后端** | `file`(JSON)/ `memory` / `sqlite`(FTS5)/ `mcp-http`(Graphify) |
66
- | **多项目隔离** | 全局配置共享 LLM/路由;**图谱路径按当前工作区解析**,不再串读其它项目的 `graphflow-out` |
67
- | **工程质量** | TypeScript strict;**59 测试文件 / 280+ tests**;`npm run ci` 含扩展 esbuild 打包与 bundled runtime smoke |
55
+ | **任务规划与移�?* | 按任务复杂度分流 simple / complex / insight;DAG 规划�?*ATP v1.0 Agent Thinking Protocol**:Intent �?Requirement �?Six Hats �?5-Why �?First Principles �?Decision Matrix �?Planning �?Reflection(`planInsight(task, opts, true)` 开启完�?8 阶段分析,简单任务自�?short-circuit);Agent 委托模式生成 work items;默�?**bridge 模式**输出结构化任务描述符交给外部 coding agent 执行 |
56
+
57
+ | **模型路由** | Smart / Economy �?tier;多 provider 健康探测�?fallback�?*DeepSeek**、OpenAI、Anthropic、百炼、豆包) |
58
+ | **知识图谱** | 工作�?AST 索引(TS/JS/Python/Rust/Go/C/C++/Java/Ruby/Kotlin/Swift);File / Module / Symbol 节点 + 依赖/引用/定义/调用/继承边;图谱 artifact 导入/导出 |
59
+ | **上下文压�?* | L1/L2/L3 分层锚点;近无损打包;图结构压缩(边权重+PageRank,零成本默认开启);向量召�?+ RRF 融合;RepoMap 概览;自适应预算 |
60
+ | **持续建图** | 默认 `autoIndexOnSave`;MCP 启动时自动启�?FileWatcher;preview / run 前按需增量索引;MCP `graphflow_index` 单文件增�?|
61
+ | **学习飞轮** | Episodic Memory(Jaccard + embedding RRF 语义检索)、Reflection(聚�?+ Lesson 提取)、Skill 节点(score ±1,bounded [-20,20])、nightly 学习、技能提示注入规�?|
62
+ | **可观测�?* | `graphflow_diagnose` 累计 token 节省;VS Code 知识图谱 Snapshot |
63
+ | **Agent 接入** | CLI `--json`;MCP stdio�?*10 工具**);自动安装 MCP �?15+ Agent(Cursor / Claude Code / Windsurf / Cline / Codex / Gemini 等) |
64
+ | **VS Code 扩展** | Settings、建图、路由测试、Context Preview�?*知识图谱可视�?*、Skill Insights、Chat Agent、一键安�?MCP |
65
+ | **存储后端** | `file`(JSON�? `memory` / `sqlite`(FTS5�? `mcp-http`(Graphify�?|
66
+ | **多项目隔�?* | 全局配置共享 LLM/路由�?*图谱路径按当前工作区解析**,不再串读其它项目的 `graphflow-out` |
67
+ | **工程质量** | TypeScript strict�?*59 测试文件 / 280+ tests**;`npm run ci` 含扩�?esbuild 打包�?bundled runtime smoke |
68
68
 
69
69
  ### 一句话总结
70
70
 
71
- > task 描述出发,自动规划 路由模型 → 压缩图谱上下文(含向量召回)→ **输出结构化执行描述符交给外部 coding agent**,并把经验沉淀回知识图谱;定位为 **上下文与规划服务(context service)**,而非独立执行器。
71
+ > �?task 描述出发,自动规�?�?路由模型 �?压缩图谱上下文(含向量召回)�?**输出结构化执行描述符交给外部 coding agent**,并把经验沉淀回知识图谱;定位�?**上下文与规划服务(context service�?*,而非独立执行器�?
72
72
 
73
- ### v1.7.0 核心(2026-07
73
+ ### v1.7.0 核心�?026-07�?
74
74
 
75
- **P0 向量召回修正**:废弃 FNV-1a hash embedding,引入 `@xenova/transformers` + `all-MiniLM-L6-v2`(384 维,约 22MB,纯 JS 推理),实现真正的本地语义召回。
75
+ **P0 向量召回修正**:废�?FNV-1a hash embedding,引�?`@xenova/transformers` + `all-MiniLM-L6-v2`�?84 维,�?22MB,纯 JS 推理),实现真正的本地语义召回�?
76
76
 
77
- **P1 移除 hnswlib-node**:彻底移除 C++ 编译依赖,向量召回统一使用纯线性扫描(典型仓库 <10K 节点性能完全够用)。
77
+ **P1 移除 hnswlib-node**:彻底移�?C++ 编译依赖,向量召回统一使用纯线性扫描(典型仓库 <10K 节点性能完全够用)�?
78
78
 
79
- **P2 MCP 工具精简**:18 个工具合并为 10 个核心工具(context、plan、index、insight、diagnose、artifact 等合并),降低 LLM 工具调用认知负荷。
79
+ **P2 MCP 工具精简**�?8 个工具合并为 10 个核心工具(context、plan、index、insight、diagnose、artifact 等合并),降�?LLM 工具调用认知负荷�?
80
80
 
81
- **P2 ATP 自适应截断**:简单任务(低优先级、无约束、短描述)自动 short-circuit,跳过 First Principles / Decision Matrix / Reflection,节省 4-6 LLM 调用。
81
+ **P2 ATP 自适应截断**:简单任务(低优先级、无约束、短描述)自�?short-circuit,跳�?First Principles / Decision Matrix / Reflection,节�?4-6 �?LLM 调用�?
82
82
 
83
83
  ---
84
84
 
85
- ### v1.5.0 核心(2026-07
85
+ ### v1.5.0 核心�?026-07�?
86
86
 
87
- **ATP v1.0 Agent Thinking Protocol**:以文档驱动的全链路思考协议增强深度分析流程。
87
+ **ATP v1.0 Agent Thinking Protocol**:以文档驱动的全链路思考协议增强深度分析流程�?
88
88
 
89
- **新增 5 个分析阶段**(在 Six Hats + 5-Why 基础上补齐):
89
+ **新增 5 个分析阶�?*(在 Six Hats + 5-Why 基础上补齐)�?
90
90
 
91
- 1. **Intent Analysis** — 区分显式/隐式意图、核心问题、非目标、成功标准
92
- 2. **Requirement Analysis** — 结构化功能/非功能需求、优先级、范围(included/excluded
93
- 3. **First Principles** — 拆解到不可再分事实、挑战假设
94
- 4. **Decision Matrix** 多方案按 5 维度打分(complexity/cost/risk/maintainability/impact)比较后推荐
95
- 5. **Plan Reflection** — 规划阶段自评置信度、不确定性、缺失信息、改进方向
91
+ 1. **Intent Analysis** �?区分显式/隐式意图、核心问题、非目标、成功标�?
92
+ 2. **Requirement Analysis** �?结构化功�?非功能需求、优先级、范围(included/excluded�?
93
+ 3. **First Principles** �?拆解到不可再分事实、挑战假�?
94
+ 4. **Decision Matrix** �?多方案按 5 维度打分(complexity/cost/risk/maintainability/impact)比较后推荐
95
+ 5. **Plan Reflection** �?规划阶段自评置信度、不确定性、缺失信息、改进方�?
96
96
 
97
- **ATP 类型 IR**:`atp-schema.ts` 导出 `AgentThinkingProtocol` 完整接口,作为 Multi-Agent 共享中间表示。
97
+ **ATP 类型 IR**:`atp-schema.ts` 导出 `AgentThinkingProtocol` 完整接口,作�?Multi-Agent 共享中间表示�?
98
98
 
99
- **TaskNode 丰富**:新增 `priority`、`complexity`、`verification`、`inputs`、`outputs`、`risks` 6 个可选字段。
99
+ **TaskNode 丰富**:新�?`priority`、`complexity`、`verification`、`inputs`、`outputs`、`risks` 6 个可选字段�?
100
100
 
101
- **Agent 委托扩展**:work items 扩展(+intent +requirement +first-principles +decision-matrix +reflection),submit/merge 闭环不变。
101
+ **Agent 委托扩展**:work items 扩展�?intent +requirement +first-principles +decision-matrix +reflection),submit/merge 闭环不变�?
102
102
 
103
- **向后兼容**:`planInsight(task, options)` 不传第三参数时行为不变;`runFullAtp=true` 启用完整 ATP 8 阶段。
103
+ **向后兼容**:`planInsight(task, options)` 不传第三参数时行为不变;`runFullAtp=true` 启用完整 ATP 8 阶段�?
104
104
 
105
- **P0 残留清理**:移除 VS Code 扩展中对已删除 runtime 方法的调用(`enrichGraph`/`downloadModel`/`showSetupGuide` 命令 + `/enrich` 聊天命令);清理 87 OpenBMB/enrichment 残留代码;移除 `canaryAllowed`/`canaryReason` 5 enrichment 类型字段。
105
+ **P0 残留清理**:移�?VS Code 扩展中对已删�?runtime 方法的调用(`enrichGraph`/`downloadModel`/`showSetupGuide` 命令 + `/enrich` 聊天命令);清理 87 �?OpenBMB/enrichment 残留代码;移�?`canaryAllowed`/`canaryReason` �?5 �?enrichment 类型字段�?
106
106
 
107
- ### v1.4.0 核心(2026-07
107
+ ### v1.4.0 核心�?026-07�?
108
108
 
109
- **奥卡姆剃刀精简**:移除 OpenBMB 本地部署、语义压缩模型、语义增强器、技能进化、金丝雀门控、本地嵌入模型、向量存储等未产生真实价值的模块。留下的是三条经过验证的闭环链路。
109
+ **奥卡姆剃刀精简**:移�?OpenBMB 本地部署、语义压缩模型、语义增强器、技能进化、金丝雀门控、本地嵌入模型、向量存储等未产生真实价值的模块。留下的是三条经过验证的闭环链路�?
110
110
 
111
- **三大核心功能验证修复**:
111
+ **三大核心功能验证修复**�?
112
112
 
113
- 1. **HNSW 向量召回完全打通**(P0 修复)
114
- - `file-indexer` 现在为所有 File/Symbol/Module 节点附加真正的语义 embedding(`@xenova/transformers` + `all-MiniLM-L6-v2`,384 维)
115
- - `orchestrator-context` 现在传递 `embeddingProvider` + `enableVectorRecall` 到压缩管道
113
+ 1. **HNSW 向量召回完全打�?*(P0 修复�?
114
+ - `file-indexer` 现在为所�?File/Symbol/Module 节点附加真正的语�?embedding(`@xenova/transformers` + `all-MiniLM-L6-v2`�?84 维)
115
+ - `orchestrator-context` 现在传�?`embeddingProvider` + `enableVectorRecall` 到压缩管�?
116
116
  - 向量召回统一使用纯线性扫描,无需 C++ 编译依赖
117
117
 
118
- 2. **FileWatcher 接入 MCP 启动**(P0 修复)
119
- - `startFileWatcherIfEnabled` 此前是死代码,现已接入 MCP 服务器启动路径
120
- - 当 `autoIndexOnSave: true` 时自动监听文件变化并增量索引
118
+ 2. **FileWatcher 接入 MCP 启动**(P0 修复�?
119
+ - `startFileWatcherIfEnabled` 此前是死代码,现已接�?MCP 服务器启动路�?
120
+ - �?`autoIndexOnSave: true` 时自动监听文件变化并增量索引
121
121
 
122
- 3. **技能飞轮闭环修复**(P1 修复)
123
- - `skillHints` 解耦:不再依赖 `enableGraphContextInPrompt`,独立注入 worker prompt
124
- - Dangling edges 修复:`applySkillLearning` 现在先创建 Decision 节点再连 `improves`
122
+ 3. **技能飞轮闭环修�?*(P1 修复�?
123
+ - `skillHints` 解耦:不再依赖 `enableGraphContextInPrompt`,独立注�?worker prompt
124
+ - Dangling edges 修复:`applySkillLearning` 现在先创�?Decision 节点再连 `improves` �?
125
125
 
126
126
  ### 历史演进
127
127
 
128
128
  - **v1.3.x**:多项目图谱隔离、Java/Ruby 索引器、MCP 工具扩展、知识图谱可视化
129
- - **v1.0.x**:诚实执行语义(bridge 模式)、三层渐进压缩、混合压缩模型
129
+ - **v1.0.x**:诚实执行语义(bridge 模式)、三层渐进压缩、混合压缩模�?
130
130
  - **v0.6.x**:全局配置脚手架、autoIndexOnSave、runtime 模块化、VS Code esbuild bundle
131
131
 
132
132
  ### 发布信息
133
133
 
134
- - 最新版本:**v1.7.6**(root + vscode-extension);npm:`@roarpeng/graphflow@1.7.6`
135
- - **GitHub Release**:push 到 `main` CI 在 `windows-2022` 上自动构建 VSIX 并发布到 [GitHub Releases](https://github.com/Roarpeng/GraphFlow/releases)
136
- - **npm 发布**:push tag `v*`(如 `v1.4.1`)触发 [Publish npm](https://github.com/Roarpeng/GraphFlow/actions/workflows/publish-npm.yml) 工作流
134
+ - 最新版本:**v1.7.7**(root + vscode-extension);npm:`@roarpeng/graphflow@1.7.7`
135
+ - **GitHub Release**:push �?`main` �?CI �?`windows-2022` 上自动构�?VSIX 并发布到 [GitHub Releases](https://github.com/Roarpeng/GraphFlow/releases)
136
+ - **npm 发布**:push tag `v*`(如 `v1.4.1`)触�?[Publish npm](https://github.com/Roarpeng/GraphFlow/actions/workflows/publish-npm.yml) 工作�?
137
137
  - 变更日志:`CHANGELOG.md`
138
138
 
139
139
  ## 环境要求
@@ -141,7 +141,7 @@ npx @roarpeng/graphflow context preview "orchestrator" --json
141
141
  1. Node.js >= 20
142
142
  2. npm >= 10
143
143
  3. Windows / macOS / Linux 均可
144
- 4. **npm 安装 `@roarpeng/graphflow` 时**:纯 JS/TS 依赖,无原生模块编译
144
+ 4. **npm 安装 `@roarpeng/graphflow` �?*:纯 JS/TS 依赖,无原生模块编译
145
145
 
146
146
  ## 5 分钟本地试跑
147
147
 
@@ -150,16 +150,16 @@ npm install
150
150
  npm run ci
151
151
  ```
152
152
 
153
- 预期:`lint` 无错误、`build` 成功、**280+ tests** 通过、扩展 bundle runtime smoke 通过。
153
+ 预期:`lint` 无错误、`build` 成功�?*280+ tests** 通过、扩�?bundle �?runtime smoke 通过�?
154
154
 
155
155
  ## Agent 工具接入
156
156
 
157
- GraphFlow 支持两种对外接入方式:
157
+ GraphFlow 支持两种对外接入方式�?
158
158
 
159
159
  1. **CLI 机器输出**:核心命令均支持 `--json`
160
160
  2. **MCP stdio server**:Cursor、Claude Code 等可直接调用
161
161
 
162
- 本仓库启动 MCP
162
+ 本仓库启�?MCP�?
163
163
 
164
164
  ```bash
165
165
  npm run start:mcp
@@ -167,26 +167,26 @@ npm run start:mcp
167
167
 
168
168
  ### MCP 工具一览(10 个)
169
169
 
170
- | 工具 | 用途 |
170
+ | 工具 | 用�?|
171
171
  | --- | --- |
172
- | `graphflow_context` | 预览压缩上下文(query)或扩展锚点(anchorId)(**优先调用**) |
173
- | `graphflow_plan` | 多步任务分解与 DAG 规划(mode='simple' 'insight') |
174
- | `graphflow_run` | 规划 + 压缩上下文,输出 bridge 执行描述符 |
175
- | `graphflow_report_outcome` | GraphFlow 汇报任务执行结果,用于学习飞轮 |
176
- | `graphflow_insight` | 提交或合并 agent 分析结果(Six Hats / plan prompts) |
177
- | `graphflow_index` | 全工作区增量建图、单文件建图或全量重建 |
178
- | `graphflow_skill_insights` | 技能学习洞察 |
172
+ | `graphflow_context` | 预览压缩上下文(query)或扩展锚点(anchorId)(**优先调用**�?|
173
+ | `graphflow_plan` | 多步任务分解�?DAG 规划(mode='simple' �?'insight'�?|
174
+ | `graphflow_run` | 规划 + 压缩上下文,输出 bridge 执行描述�?|
175
+ | `graphflow_report_outcome` | �?GraphFlow 汇报任务执行结果,用于学习飞�?|
176
+ | `graphflow_insight` | 提交或合�?agent 分析结果(Six Hats / plan prompts�?|
177
+ | `graphflow_index` | 全工作区增量建图、单文件建图或全量重�?|
178
+ | `graphflow_skill_insights` | 技能学习洞�?|
179
179
  | `graphflow_diagnose` | 路由健康、图谱统计与 token 节省 |
180
- | `graphflow_artifact` | 导出或导入压缩图谱 artifact |
180
+ | `graphflow_artifact` | 导出或导入压缩图�?artifact |
181
181
  | `graphflow_skill_guide` | 获取 GraphFlow Skill 使用指南 |
182
182
 
183
- **MCP 建图提示**:用户级 MCP 进程的 `cwd` 不一定是当前项目。请任选其一:
183
+ **MCP 建图提示**:用户级 MCP 进程�?`cwd` 不一定是当前项目。请任选其一�?
184
184
 
185
- - 调用 `graphflow_index` 时传入 `rootDir`(项目绝对路径)
186
- - MCP 配置中设置 `GRAPHFLOW_WORKSPACE_ROOT` 环境变量
187
- - 使用 VS Code 扩展「建立图谱」或项目级 `.cursor/mcp.json`
185
+ - 调用 `graphflow_index` 时传�?`rootDir`(项目绝对路径)
186
+ - �?MCP 配置中设�?`GRAPHFLOW_WORKSPACE_ROOT` 环境变量
187
+ - 使用 VS Code 扩展「建立图谱」或项目�?`.cursor/mcp.json`
188
188
 
189
- CLI 示例:
189
+ CLI 示例�?
190
190
 
191
191
  ```bash
192
192
  npm run start -- plan "refactor planner and add tests" --json
@@ -196,7 +196,7 @@ npm run start -- graph inspect --json
196
196
 
197
197
  外部 agent 约定文件:`AGENTS.md`、`CLAUDE.md`、`.cursor/rules/graphflow.mdc`
198
198
 
199
- ## 本地功能验证(CLI
199
+ ## 本地功能验证(CLI�?
200
200
 
201
201
  ### 图谱索引
202
202
 
@@ -204,15 +204,15 @@ npm run start -- graph inspect --json
204
204
  npm run start -- graph index .
205
205
  ```
206
206
 
207
- 预期:`indexedFiles=…; indexedSymbols=…`
207
+ 预期:`indexedFiles=�? indexedSymbols=…`
208
208
 
209
- ### 上下文压缩预览
209
+ ### 上下文压缩预�?
210
210
 
211
211
  ```bash
212
212
  npm run start -- context preview "orchestrator"
213
213
  ```
214
214
 
215
- 预期:`summary=…; anchors=…; tokens=…`(相对原始上下文通常可节省 **90%+ token**)
215
+ 预期:`summary=�? anchors=�? tokens=…`(相对原始上下文通常可节�?**90%+ token**�?
216
216
 
217
217
  ### 执行任务 / 规划
218
218
 
@@ -232,25 +232,25 @@ npm run start -- skill insights
232
232
 
233
233
  ## 进阶能力
234
234
 
235
- ### 上下文压缩
235
+ ### 上下文压�?
236
236
 
237
237
  GraphFlow 的压缩采用「两层渐进」策略,先用零成本图结构压缩砍掉冗余节点,再用向量召回补充语义相关节点:
238
238
 
239
- | | 机制 | 成本 | 默认 |
239
+ | �?| 机制 | 成本 | 默认 |
240
240
  | --- | --- | --- | --- |
241
- | 图结构压缩 | 边权重连通子图 + PageRank 中心性重排 | 零 LLM | **开启** |
242
- | 向量召回 | transformers.js embedding + 线性扫描 + RRF 融合 | 本地模型 | **开启** |
243
- | RepoMap 概览 | 预算紧张时返回模块级地图 | LLM | opt-in |
244
- | 自适应预算 | 按任务复杂度动态调整 token 预算 | LLM | opt-in |
241
+ | 图结构压�?| 边权重连通子�?+ PageRank 中心性重�?| �?LLM | **开�?* |
242
+ | 向量召回 | transformers.js embedding + 线性扫�?+ RRF 融合 | 本地模型 | **开�?* |
243
+ | RepoMap 概览 | 预算紧张时返回模块级地图 | �?LLM | opt-in |
244
+ | 自适应预算 | 按任务复杂度动态调�?token 预算 | �?LLM | opt-in |
245
245
 
246
- **向量召回设计**:
246
+ **向量召回设计**�?
247
247
 
248
- - 索引时:`file-indexer` 为每个节点生成 384 维语义 embedding(`@xenova/transformers` + `all-MiniLM-L6-v2`,约 22MB,纯 JS 推理)
249
- - 查询时:对 query 生成同样维度的 embedding,与图中节点做 cosine similarity
250
- - 统一使用线性扫描(典型仓库 <10K 节点性能完全够用,无需 HNSW ANN
251
- - 关键词检索 + 向量召回结果通过 RRF(Reciprocal Rank Fusion, k=60)融合
248
+ - 索引时:`file-indexer` 为每个节点生�?384 维语�?embedding(`@xenova/transformers` + `all-MiniLM-L6-v2`,约 22MB,纯 JS 推理�?
249
+ - 查询时:�?query 生成同样维度�?embedding,与图中节点�?cosine similarity
250
+ - 统一使用线性扫描(典型仓库 <10K 节点性能完全够用,无需 HNSW ANN�?
251
+ - 关键词检�?+ 向量召回结果通过 RRF(Reciprocal Rank Fusion, k=60)融�?
252
252
 
253
- 配置示例:
253
+ 配置示例�?
254
254
 
255
255
  ```json
256
256
  {
@@ -270,7 +270,7 @@ GraphFlow 的压缩采用「两层渐进」策略,先用零成本图结构压
270
270
  }
271
271
  ```
272
272
 
273
- 离线环境可提前预下载 `@xenova/transformers` 模型缓存,并通过 `embeddingPolicy.modelCacheDir` 或环境变量 `GRAPHFLOW_EMBEDDING_CACHE_DIR` 指向该目录。
273
+ 离线环境可提前预下载 `@xenova/transformers` 模型缓存,并通过 `embeddingPolicy.modelCacheDir` 或环境变�?`GRAPHFLOW_EMBEDDING_CACHE_DIR` 指向该目录�?
274
274
 
275
275
  查看当前压缩与路由状态:
276
276
 
@@ -290,7 +290,7 @@ npm run start -- route diagnose
290
290
  }
291
291
  ```
292
292
 
293
- WAL + FTS5 全文索引;与 `file` / `memory` 接口一致。
293
+ WAL + FTS5 全文索引;与 `file` / `memory` 接口一致�?
294
294
 
295
295
  ### Episodic Memory + Reflection
296
296
 
@@ -301,13 +301,13 @@ const run = await orchestrate(
301
301
  );
302
302
  ```
303
303
 
304
- 每次 task 写入 Episode(附带 embedding);相似 task 注入历史决策(Jaccard + embedding RRF 融合检索);`learn nightly` 合成 Lesson 节点;Lesson 自动注入后续任务的 planner prompt
304
+ 每次 task 写入 Episode(附�?embedding);相似 task 注入历史决策(Jaccard + embedding RRF 融合检索);`learn nightly` 合成 Lesson 节点;Lesson 自动注入后续任务�?planner prompt�?
305
305
 
306
- ### 技能学习飞轮
306
+ ### 技能学习飞�?
307
307
 
308
- - `applySkillLearning`:每次任务结束后提取技能原子,更新 Skill 节点 score(pass +1 / fail -1,bounded [-20,20]
309
- - `suggestSkillHints`:查询 Skill 节点,按 score/uses 排序,返回 top-N 技能提示
310
- - 技能提示独立注入 worker prompt,不依赖图谱上下文是否启用
308
+ - `applySkillLearning`:每次任务结束后提取技能原子,更新 Skill 节点 score(pass +1 / fail -1,bounded [-20,20]�?
309
+ - `suggestSkillHints`:查�?Skill 节点,按 score/uses 排序,返�?top-N 技能提�?
310
+ - 技能提示独立注�?worker prompt,不依赖图谱上下文是否启�?
311
311
  - 复合技能:技能对共现次数达阈值后自动创建 composite skill 节点
312
312
 
313
313
  ### 跨语言 AST 索引
@@ -324,43 +324,43 @@ const run = await orchestrate(
324
324
  | Kotlin | `.kt` |
325
325
  | Swift | `.swift` |
326
326
 
327
- 通过 `graphPolicy.includeExtensions` 限制扫描范围。tree-sitter WASM 语法包在 `npm run build` 时打入 `wasm/` 并随 npm 包分发,安装后无需联网下载。
327
+ 通过 `graphPolicy.includeExtensions` 限制扫描范围。tree-sitter WASM 语法包在 `npm run build` 时打�?`wasm/` 并随 npm 包分发,安装后无需联网下载�?
328
328
 
329
329
  ### Agent MCP 自动安装
330
330
 
331
- GraphFlow CLI 可自动检测并安装 MCP 配置到 15+ 编码 Agent
331
+ GraphFlow CLI 可自动检测并安装 MCP 配置�?15+ 编码 Agent�?
332
332
 
333
333
  ```bash
334
- # 检测已安装的 Agent MCP 配置状态
334
+ # 检测已安装�?Agent �?MCP 配置状�?
335
335
  npx @roarpeng/graphflow doctor
336
336
 
337
- # 一键安装 MCP + Skill + Cursor Rules(推荐)
337
+ # 一键安�?MCP + Skill + Cursor Rules(推荐)
338
338
  npx @roarpeng/graphflow install
339
339
 
340
- # 或仅初始化项目级配置(.graphflow/config.json 等)
340
+ # 或仅初始化项目级配置�?graphflow/config.json 等)
341
341
  npx @roarpeng/graphflow init
342
342
  ```
343
343
 
344
- **本地 `npm install` 后**:若项目已有 `.cursor/mcp.json` 或 `.vscode/mcp.json`,postinstall 会自动注入 workspace GraphFlow MCP Skill;完整用户级安装请运行 `npx @roarpeng/graphflow install`。
344
+ **本地 `npm install` �?*:若项目已有 `.cursor/mcp.json` �?`.vscode/mcp.json`,postinstall 会自动注�?workspace �?GraphFlow MCP �?Skill;完整用户级安装请运�?`npx @roarpeng/graphflow install`�?
345
345
 
346
346
  ### Trae / Trae CN 推荐配置
347
347
 
348
- Trae 区分 **Rules**(每轮自动加载)与 **Skill**(按需匹配)。仅装 Skill GraphFlow 触发频率偏低;`install` / `init` 会在项目内写入:
348
+ Trae 区分 **Rules**(每轮自动加载)�?**Skill**(按需匹配)。仅�?Skill �?GraphFlow 触发频率偏低;`install` / `init` 会在项目内写入:
349
349
 
350
350
  | 路径 | 作用 |
351
351
  |------|------|
352
- | `.trae/rules/graphflow.md` | `alwaysApply: true` 每轮强制先调 `graphflow_context` |
352
+ | `.trae/rules/graphflow.md` | `alwaysApply: true` �?每轮强制先调 `graphflow_context` |
353
353
  | `.trae/skills/graphflow/SKILL.md` | 详细 10 工具工作流;可用 `#graphflow` 手动触发 |
354
- | `~/.config/Trae CN/User/skills/graphflow/SKILL.md` | 用户级 Skill(跨项目) |
355
- | `User/mcp.json` | GraphFlow MCP 服务器 |
354
+ | `~/.config/Trae CN/User/skills/graphflow/SKILL.md` | 用户�?Skill(跨项目�?|
355
+ | `User/mcp.json` | GraphFlow MCP 服务�?|
356
356
 
357
357
  ```bash
358
358
  # 在项目根目录执行(fat-battle/web、GraphFlow 等)
359
359
  npx @roarpeng/graphflow install
360
- npx @roarpeng/graphflow doctor # 检查 Trae CN rules/skill/MCP 是否就绪
360
+ npx @roarpeng/graphflow doctor # 检�?Trae CN rules/skill/MCP 是否就绪
361
361
  ```
362
362
 
363
- **注意**:MCP 配置中不要硬编码 `GRAPHFLOW_WORKSPACE_ROOT` 到其他项目;在 Trae 打开哪个仓库,就让 Agent 在 `graphflow_context` 里传该仓库的 `rootDir`。
363
+ **注意**:MCP 配置中不要硬编码 `GRAPHFLOW_WORKSPACE_ROOT` 到其他项目;�?Trae 打开哪个仓库,就�?Agent �?`graphflow_context` 里传该仓库的 `rootDir`�?
364
364
 
365
365
  ### Antigravity IDE 推荐配置
366
366
 
@@ -368,36 +368,36 @@ npx @roarpeng/graphflow doctor # 检查 Trae CN rules/skill/MCP 是否就绪
368
368
  |------|------|
369
369
  | `~/.gemini/antigravity/mcp_config.json` | 全局 MCP(`mcpServers` 键) |
370
370
  | `~/.gemini/antigravity/skills/graphflow/SKILL.md` | 全局 Skill |
371
- | `.agent/rules/graphflow.md` | 项目级 Rules |
372
- | `.agent/skills/graphflow/SKILL.md` | 项目级 Skill |
371
+ | `.agent/rules/graphflow.md` | 项目�?Rules |
372
+ | `.agent/skills/graphflow/SKILL.md` | 项目�?Skill |
373
373
  | `GEMINI.md` | 项目级受管指令块 |
374
374
 
375
375
  ### Gemini CLI 推荐配置
376
376
 
377
377
  | 路径 | 作用 |
378
378
  |------|------|
379
- | `~/.gemini/settings.json` | MCP 服务器 |
380
- | `~/.gemini/GEMINI.md` | 全局受管指令块 |
379
+ | `~/.gemini/settings.json` | MCP 服务�?|
380
+ | `~/.gemini/GEMINI.md` | 全局受管指令�?|
381
381
 
382
382
  ### VS Code / GitHub Copilot 推荐配置
383
383
 
384
384
  | 路径 | 作用 |
385
385
  |------|------|
386
- | `~/.config/Code/User/mcp.json` | 用户级 MCP(`servers` 键) |
387
- | `.github/copilot-instructions.md` | 仓库级 Copilot 指令(token-first) |
386
+ | `~/.config/Code/User/mcp.json` | 用户�?MCP(`servers` 键) |
387
+ | `.github/copilot-instructions.md` | 仓库�?Copilot 指令(token-first�?|
388
388
  | `.vscode/mcp.json` | 可选项目级 MCP |
389
389
 
390
390
  ```bash
391
- npx @roarpeng/graphflow install # 用户级 MCP + Skills
391
+ npx @roarpeng/graphflow install # 用户�?MCP + Skills
392
392
  npx @roarpeng/graphflow install --scope all # 含项目级 Rules / Copilot 指令
393
393
  npx @roarpeng/graphflow doctor
394
394
  ```
395
395
 
396
- 支持的 Agent:Cursor、VS Code、Trae、Claude Code、Windsurf、Cline、Roo Code、Kilo Code、PearAI、Gemini、Codex、Antigravity、Amazon Q、Zed、Continue
396
+ 支持�?Agent:Cursor、VS Code、Trae、Claude Code、Windsurf、Cline、Roo Code、Kilo Code、PearAI、Gemini、Codex、Antigravity、Amazon Q、Zed、Continue�?
397
397
 
398
398
  ## 配置文件
399
399
 
400
- 默认:`graphflow.config.json`(也可使用 `~/.graphflow.config.json` 全局配置)。
400
+ 默认:`graphflow.config.json`(也可使�?`~/.graphflow.config.json` 全局配置)�?
401
401
 
402
402
  ```bash
403
403
  cp graphflow.config.example.json graphflow.config.json
@@ -407,14 +407,14 @@ cp graphflow.config.example.json graphflow.config.json
407
407
 
408
408
  | 层级 | 路径 | 适合存放 |
409
409
  | --- | --- | --- |
410
- | 全局 | `~/.graphflow.config.json` | Provider、API Key、Smart/Economy 模型、路由策略 |
411
- | 项目根 | `graphflow.config.json` | 项目专属覆盖(可选) |
412
- | 项目覆盖 | `.graphflow/config.json` | 工作区局部覆盖(`graphflow init` 生成) |
410
+ | 全局 | `~/.graphflow.config.json` | Provider、API Key、Smart/Economy 模型、路由策�?|
411
+ | 项目�?| `graphflow.config.json` | 项目专属覆盖(可选) |
412
+ | 项目覆盖 | `.graphflow/config.json` | 工作区局部覆盖(`graphflow init` 生成�?|
413
413
 
414
- **多项目重要约定**:
414
+ **多项目重要约�?*�?
415
415
 
416
- - 图谱文件默认写在**当前工作区**下的 `graphflow-out/graphflow-graph.json`
417
- - 全局配置**不应**包含固定的 `workspaceRoot`(旧版本若已写入,请删除该字段)
416
+ - 图谱文件默认写在**当前工作�?*下的 `graphflow-out/graphflow-graph.json`
417
+ - 全局配置**不应**包含固定�?`workspaceRoot`(旧版本若已写入,请删除该字段)
418
418
  - MCP / 脚本可通过环境变量指定工作区:`GRAPHFLOW_WORKSPACE_ROOT=/path/to/project`
419
419
 
420
420
  关键项:
@@ -422,55 +422,55 @@ cp graphflow.config.example.json graphflow.config.json
422
422
  | 配置 | 说明 |
423
423
  | --- | --- |
424
424
  | `graphPolicy.transport` | `file` / `memory` / `sqlite` / `mcp-http` |
425
- | `graphPolicy.graphStorePath` | 相对当前工作区的 JSON 或 `.sqlite` 路径 |
426
- | `graphPolicy.maxContextTokens` | 压缩上下文预算(默认 **1500**) |
427
- | `graphPolicy.autoIndexOnSave` | 保存后增量索引(默认 **true**) |
428
- | `graphPolicy.autoIndexOnPreview` / `autoIndexOnRun` | preview / run 前自动索引 |
425
+ | `graphPolicy.graphStorePath` | 相对当前工作区的 JSON �?`.sqlite` 路径 |
426
+ | `graphPolicy.maxContextTokens` | 压缩上下文预算(默认 **1500**�?|
427
+ | `graphPolicy.autoIndexOnSave` | 保存后增量索引(默认 **true**�?|
428
+ | `graphPolicy.autoIndexOnPreview` / `autoIndexOnRun` | preview / run 前自动索�?|
429
429
  | `graphPolicy.enableNearLosslessMode` | 近无损上下文打包 |
430
430
 
431
431
  | `graphPolicy.layerQuota` | L1/L2/L3 锚点配额 |
432
432
  | `routingPolicy.enableDynamicRouting` | provider 健康路由 |
433
- | `skillPolicy.enableSkillFlywheel` | 技能飞轮 |
434
- | `embeddingPolicy.provider` | embedding 提供者(`transformers` 本地 / `openai`) |
433
+ | `skillPolicy.enableSkillFlywheel` | 技能飞�?|
434
+ | `embeddingPolicy.provider` | embedding 提供者(`transformers` 本地 / `openai`�?|
435
435
 
436
436
  ## VS Code / Cursor 扩展
437
437
 
438
- 扩展内置 GraphFlow runtime,**安装 VSIX 后无需再 clone 本仓库或配置 `npm run start`**。VSIX 仍不捆绑 `@xenova/transformers` 模型包;需要本地语义向量时可预置缓存并设置 `GRAPHFLOW_EMBEDDING_CACHE_DIR`。Installer 支持面已冻结,后续不再继续扩展新的 IDE 安装目标。
438
+ 扩展内置 GraphFlow runtime�?*安装 VSIX 后无需�?clone 本仓库或配置 `npm run start`**。VSIX 仍不捆绑 `@xenova/transformers` 模型包;需要本地语义向量时可预置缓存并设置 `GRAPHFLOW_EMBEDDING_CACHE_DIR`。Installer 支持面已冻结,后续不再继续扩展新�?IDE 安装目标�?
439
439
 
440
440
  ### 安装 VSIX(推荐)
441
441
 
442
- 1. 打开 [GitHub Releases](https://github.com/Roarpeng/GraphFlow/releases),下载最新 `graphflow-tool-<version>.vsix`(CI 在每次 push `main` / tag 后自动构建)
443
- 2. **VS Code**:扩展视图 → `…` → **从 VSIX 安装…** → 选择下载的文件
444
- 3. **Cursor**:扩展视图 → 右上角 `…` → **Install from VSIX** → 选择下载的文件
445
- 4. 重启编辑器;首次激活会自动尝试安装 GraphFlow MCP 到本机 Agent 配置
446
- 5. 命令面板运行 **GraphFlow: Show Settings** **建立图谱(无需 LLM)** 即可使用 Context Preview / 知识图谱
442
+ 1. 打开 [GitHub Releases](https://github.com/Roarpeng/GraphFlow/releases),下载最�?`graphflow-tool-<version>.vsix`(CI 在每�?push `main` / tag 后自动构建)
443
+ 2. **VS Code**:扩展视�?�?`…` �?**�?VSIX 安装�?* �?选择下载的文�?
444
+ 3. **Cursor**:扩展视�?�?右上�?`…` �?**Install from VSIX** �?选择下载的文�?
445
+ 4. 重启编辑器;首次激活会自动尝试安装 GraphFlow MCP 到本�?Agent 配置
446
+ 5. 命令面板运行 **GraphFlow: Show Settings** �?**建立图谱(无需 LLM�?* �?即可使用 Context Preview / 知识图谱
447
447
 
448
- CLI 安装(若已安装 `code` / `cursor` 命令):
448
+ CLI 安装(若已安�?`code` / `cursor` 命令):
449
449
 
450
450
  ```bash
451
- code --install-extension graphflow-tool-1.7.6.vsix
452
- cursor --install-extension graphflow-tool-1.7.6.vsix
451
+ code --install-extension graphflow-tool-1.7.7.vsix
452
+ cursor --install-extension graphflow-tool-1.7.7.vsix
453
453
  ```
454
454
 
455
455
  ### 命令面板
456
456
 
457
457
  | 命令 | 说明 |
458
458
  | --- | --- |
459
- | GraphFlow: Show Settings | 配置、建图、路由测试 |
460
- | GraphFlow: Show Graph | **知识图谱可视化**(分层、搜索、跳转源码) |
459
+ | GraphFlow: Show Settings | 配置、建图、路由测�?|
460
+ | GraphFlow: Show Graph | **知识图谱可视�?*(分层、搜索、跳转源码) |
461
461
  | GraphFlow: Preview Context | 上下文压缩与 Token Budget |
462
462
  | GraphFlow: Plan & Brainstorm | 任务规划 |
463
463
  | GraphFlow: Run Task | 执行任务 |
464
- | GraphFlow: Skill Insights | 技能学习面板 |
464
+ | GraphFlow: Skill Insights | 技能学习面�?|
465
465
  | GraphFlow: Install MCP | 注入 MCP 配置 |
466
466
 
467
467
  Chat Agent(`@graphflow`):`/run`、`/plan`、`/graph`、`/skills`、`/diagnose`、`/learn`、`/history`
468
468
 
469
469
  ### Settings 推荐流程
470
470
 
471
- 1. 填写 Graph Store Path → **Save Settings**
472
- 2. **建立图谱(无需 LLM)** → 生成结构图谱
473
- 3. (可选)配置 Provider → **测试路由并建立图谱**
471
+ 1. 填写 Graph Store Path �?**Save Settings**
472
+ 2. **建立图谱(无需 LLM�?* �?生成结构图谱
473
+ 3. (可选)配置 Provider �?**测试路由并建立图�?*
474
474
 
475
475
  其它建图入口:`graph index` CLI、MCP `graphflow_index`、`autoIndexOnPreview` / `autoIndexOnRun` / `autoIndexOnSave`
476
476
 
@@ -482,7 +482,7 @@ npm install
482
482
  npm run build
483
483
  ```
484
484
 
485
- VS Code 中 `F5` 启动 Extension Development Host
485
+ �?VS Code �?`F5` 启动 Extension Development Host�?
486
486
 
487
487
  ### 本地打包 VSIX
488
488
 
@@ -494,64 +494,64 @@ npm run package:extension
494
494
  ## 本地验收清单
495
495
 
496
496
  1. `npm run ci` 全绿
497
- 2. `graph index` → `indexedFiles > 0`
498
- 3. `context preview` → `summary > 0` 且 `anchors > 0`
499
- 4. VS Code **Show Graph** → 画布正常显示节点聚类(非角落小点)
497
+ 2. `graph index` �?`indexedFiles > 0`
498
+ 3. `context preview` �?`summary > 0` �?`anchors > 0`
499
+ 4. VS Code **Show Graph** �?画布正常显示节点聚类(非角落小点�?
500
500
  5. `plan` / `run` 返回正常输出
501
- 6. `route diagnose` 显示 provider 路由状态
501
+ 6. `route diagnose` �?显示 provider 路由状�?
502
502
 
503
503
  ## 常见问题
504
504
 
505
- **切换项目后 Snapshot 显示别的仓库的图谱**
505
+ **切换项目�?Snapshot 显示别的仓库的图�?*
506
506
 
507
- - 检查 `~/.graphflow.config.json` 是否含有旧的 `workspaceRoot`,**删除该字段**后重载窗口
507
+ - 检�?`~/.graphflow.config.json` 是否含有旧的 `workspaceRoot`�?*删除该字�?*后重载窗�?
508
508
  - 在当前项目重新「建立图谱」,确认顶栏 `store` 路径指向本项目的 `graphflow-out/`
509
509
 
510
510
  **MCP 建图失败或索引到错误目录**
511
511
 
512
512
  - `graphflow_index` 传入 `rootDir: "/你的项目绝对路径"`
513
513
  - 或在 MCP 配置中加 `"env": { "GRAPHFLOW_WORKSPACE_ROOT": "/你的项目绝对路径" }`
514
- - 离线环境索引多语言项目时,WASM 语法包已随 `@roarpeng/graphflow` 安装包内置,无需联网下载
514
+ - 离线环境索引多语言项目时,WASM 语法包已�?`@roarpeng/graphflow` 安装包内置,无需联网下载
515
515
 
516
516
  **`context preview` 返回 0 anchors**
517
517
 
518
- - 先执行 `graph index` Settings 建图
519
- - 检查查询词是否命中代码符号(如 `orchestrator`、`planner`)
518
+ - 先执�?`graph index` �?Settings 建图
519
+ - 检查查询词是否命中代码符号(如 `orchestrator`、`planner`�?
520
520
 
521
- **知识图谱面板空白或只有小点**
521
+ **知识图谱面板空白或只有小�?*
522
522
 
523
- - 点击画布工具栏 **「适应」**
524
- - 注意:画布展示的是**采样子图**(约 120 节点),全库规模请看顶栏统计
523
+ - 点击画布工具�?**「适应�?*
524
+ - 注意:画布展示的�?*采样子图**(约 120 节点),全库规模请看顶栏统计
525
525
 
526
- **API Key 未配置**
526
+ **API Key 未配�?*
527
527
 
528
- - 在 `graphflow.config.json` 配置 provider `apiKey`,支持 `${ENV_VAR}` 占位
529
- - **DeepSeek(推荐)**:`providers.deepseek` + `tiers.*.provider: "deepseek"`,Base URL 默认 `https://api.deepseek.com`,模型用 `deepseek-v4-pro` / `deepseek-v4-flash`(见 [DeepSeek API 文档](https://api-docs.deepseek.com/zh-cn/)
528
+ - �?`graphflow.config.json` 配置 provider `apiKey`,支�?`${ENV_VAR}` 占位
529
+ - **DeepSeek(推荐)**:`providers.deepseek` + `tiers.*.provider: "deepseek"`,Base URL 默认 `https://api.deepseek.com`,模型用 `deepseek-v4-pro` / `deepseek-v4-flash`(见 [DeepSeek API 文档](https://api-docs.deepseek.com/zh-cn/)�?
530
530
 
531
- **无 LLM 时能用吗**
531
+ **�?LLM 时能用吗**
532
532
 
533
- - 可以:结构索引、图谱可视化、context preview(基于结构图谱 + transformers.js 语义向量召回)、MCP `graphflow_diagnose` 均不强制 LLM
534
- - 只有 Six Hats 深度规划和 LLM 语义压缩需要配置 provider
533
+ - 可以:结构索引、图谱可视化、context preview(基于结构图�?+ transformers.js 语义向量召回)、MCP `graphflow_diagnose` 均不强制 LLM
534
+ - 只有 Six Hats 深度规划�?LLM 语义压缩需要配�?provider
535
535
 
536
536
  ## 项目结构
537
537
 
538
538
  ```text
539
539
  GraphFlow/
540
540
  ├── src/
541
- ├── core/ # 编排核心:orchestrator, triage, dag-engine, types
542
- ├── graph/ # 索引、上下文切片、图压缩、snapshot
543
- ├── routing/ # 模型路由与健康探测(deepseek/openai/anthropic/bailian/doubao
544
- ├── learning/ # embeddings, episode, skill-flywheel, reflector, hnsw
545
- └── surfaces/
546
- ├── cli/ # CLI + runtime 子模块
547
- └── mcp/ # MCP server (10 tools)
541
+ �? ├── core/ # 编排核心:orchestrator, triage, dag-engine, types
542
+ �? ├── graph/ # 索引、上下文切片、图压缩、snapshot
543
+ �? ├── routing/ # 模型路由与健康探测(deepseek/openai/anthropic/bailian/doubao�?
544
+ �? ├── learning/ # embeddings, episode, skill-flywheel, reflector, hnsw
545
+ �? └── surfaces/
546
+ �? ├── cli/ # CLI + runtime 子模�?
547
+ �? └── mcp/ # MCP server (10 tools)
548
548
  ├── tests/ # 59 文件 / 280+ tests
549
- ├── vscode-extension/ # VS Code 面板与命令
549
+ ├── vscode-extension/ # VS Code 面板与命�?
550
550
  ├── docs/
551
551
  └── CHANGELOG.md
552
552
  ```
553
553
 
554
- ## 版本与变更
554
+ ## 版本与变�?
555
555
 
556
556
  - 变更日志:`CHANGELOG.md`
557
557
  - License:Apache-2.0