@roarpeng/graphflow 1.7.5 → 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.
- package/CHANGELOG.md +14 -0
- package/README.md +183 -183
- package/dist/graph/context-slicer-types.d.ts +4 -0
- package/dist/graph/context-slicer-types.d.ts.map +1 -1
- package/dist/graph/context-slicer-types.js +5 -1
- package/dist/graph/context-slicer-types.js.map +1 -1
- package/dist/graph/context-slicer.d.ts.map +1 -1
- package/dist/graph/context-slicer.js +8 -2
- package/dist/graph/context-slicer.js.map +1 -1
- package/dist/graph/graph-utils.d.ts +7 -0
- package/dist/graph/graph-utils.d.ts.map +1 -1
- package/dist/graph/graph-utils.js +65 -1
- package/dist/graph/graph-utils.js.map +1 -1
- package/dist/graph/query-expand.d.ts.map +1 -1
- package/dist/graph/query-expand.js +1 -0
- package/dist/graph/query-expand.js.map +1 -1
- package/dist/integrations/skill-installer.d.ts +6 -0
- package/dist/integrations/skill-installer.d.ts.map +1 -1
- package/dist/integrations/skill-installer.js +11 -2
- package/dist/integrations/skill-installer.js.map +1 -1
- package/dist/learning/skill-flywheel.d.ts +19 -0
- package/dist/learning/skill-flywheel.d.ts.map +1 -1
- package/dist/learning/skill-flywheel.js +94 -8
- package/dist/learning/skill-flywheel.js.map +1 -1
- package/dist/learning/skill-store.d.ts.map +1 -1
- package/dist/learning/skill-store.js +1 -0
- package/dist/learning/skill-store.js.map +1 -1
- package/dist/learning/skill-types.d.ts +2 -0
- package/dist/learning/skill-types.d.ts.map +1 -1
- package/dist/learning/skill-types.js.map +1 -1
- package/dist/surfaces/cli/runtime/helpers.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/helpers.js +4 -0
- package/dist/surfaces/cli/runtime/helpers.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts +7 -9
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +41 -4
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- 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
|
|
5
|
+
GraphFlow 把你的仓库变成一�?*可查询的代码图谱**,在 agent 读全文之前先返回压缩摘要与锚点(入门钩子�?*图谱 + 90%+ token 压缩**);更进一步,它用 **Episodic / Skill / Decision 节点**把每次任务的决策与教训沉淀回图谱,形成跨会话的**学习飞轮**(差异化纵深)�?
|
|
6
6
|
|
|
7
|
-
|
|
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.
|
|
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
|
|
34
|
+
接好后让 agent 优先调用 `graphflow_context` 取压缩上下文;多步任务用 `graphflow_plan`。配�?provider API key �?*可�?*的——只在需�?LLM 规划增强时才用�?
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## 为什么�?GraphFlow(与同类对比�?
|
|
37
37
|
|
|
38
|
-
这个赛道里有许多优秀的单点工具,GraphFlow
|
|
38
|
+
这个赛道里有许多优秀的单点工具,GraphFlow 的定位不�?某一项最�?,而是**在代码图谱之上叠加了上下文压缩、规划编排与跨会话学习记�?*——尤其是"记忆型代码图�?这一块目前少有人占据。诚实对比如下:
|
|
39
39
|
|
|
40
40
|
| 维度 | **GraphFlow** | CodeGraph | Serena | Repomix |
|
|
41
41
|
| --- | --- | --- | --- | --- |
|
|
42
|
-
| 结构代码图谱 |
|
|
43
|
-
|
|
|
44
|
-
| 规划编排 |
|
|
45
|
-
|
|
|
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
|
|
49
|
+
> 实话实说:论纯图谱的成熟度与社区规模,CodeGraph 更领先;�?LSP 符号编辑标准,Serena 更专精;论整库打包,Repomix 更简单。GraphFlow 的价值在于把"图谱 + 压缩 + 规划 + 学习记忆"合到一处,�?agent 不仅�?token,还能跨会话复用项目经验�?
|
|
50
50
|
|
|
51
|
-
## 当前能力总览(v1.7.
|
|
51
|
+
## 当前能力总览(v1.7.7+�?
|
|
52
52
|
|
|
53
|
-
|
|
|
53
|
+
| 能力�?| 说明 |
|
|
54
54
|
| --- | --- |
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
| **模型路由** | Smart / Economy
|
|
58
|
-
| **知识图谱** |
|
|
59
|
-
|
|
|
60
|
-
| **持续建图** | 默认 `autoIndexOnSave`;MCP
|
|
61
|
-
| **学习飞轮** | Episodic Memory(Jaccard + embedding RRF 语义检索)、Reflection
|
|
62
|
-
|
|
|
63
|
-
| **Agent 接入** | CLI `--json`;MCP stdio
|
|
64
|
-
| **VS Code 扩展** | Settings、建图、路由测试、Context Preview
|
|
65
|
-
| **存储后端** | `file`(JSON
|
|
66
|
-
|
|
|
67
|
-
| **工程质量** | TypeScript strict
|
|
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
|
-
>
|
|
71
|
+
> �?task 描述出发,自动规�?�?路由模型 �?压缩图谱上下文(含向量召回)�?**输出结构化执行描述符交给外部 coding agent**,并把经验沉淀回知识图谱;定位�?**上下文与规划服务(context service�?*,而非独立执行器�?
|
|
72
72
|
|
|
73
|
-
### v1.7.0
|
|
73
|
+
### v1.7.0 核心�?026-07�?
|
|
74
74
|
|
|
75
|
-
**P0
|
|
75
|
+
**P0 向量召回修正**:废�?FNV-1a hash embedding,引�?`@xenova/transformers` + `all-MiniLM-L6-v2`�?84 维,�?22MB,纯 JS 推理),实现真正的本地语义召回�?
|
|
76
76
|
|
|
77
|
-
**P1 移除 hnswlib-node
|
|
77
|
+
**P1 移除 hnswlib-node**:彻底移�?C++ 编译依赖,向量召回统一使用纯线性扫描(典型仓库 <10K 节点性能完全够用)�?
|
|
78
78
|
|
|
79
|
-
**P2 MCP
|
|
79
|
+
**P2 MCP 工具精简**�?8 个工具合并为 10 个核心工具(context、plan、index、insight、diagnose、artifact 等合并),降�?LLM 工具调用认知负荷�?
|
|
80
80
|
|
|
81
|
-
**P2 ATP
|
|
81
|
+
**P2 ATP 自适应截断**:简单任务(低优先级、无约束、短描述)自�?short-circuit,跳�?First Principles / Decision Matrix / Reflection,节�?4-6 �?LLM 调用�?
|
|
82
82
|
|
|
83
83
|
---
|
|
84
84
|
|
|
85
|
-
### v1.5.0
|
|
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
|
|
89
|
+
**新增 5 个分析阶�?*(在 Six Hats + 5-Why 基础上补齐)�?
|
|
90
90
|
|
|
91
|
-
1. **Intent Analysis**
|
|
92
|
-
2. **Requirement Analysis**
|
|
93
|
-
3. **First Principles**
|
|
94
|
-
4. **Decision Matrix**
|
|
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`
|
|
97
|
+
**ATP 类型 IR**:`atp-schema.ts` 导出 `AgentThinkingProtocol` 完整接口,作�?Multi-Agent 共享中间表示�?
|
|
98
98
|
|
|
99
|
-
**TaskNode
|
|
99
|
+
**TaskNode 丰富**:新�?`priority`、`complexity`、`verification`、`inputs`、`outputs`、`risks` 6 个可选字段�?
|
|
100
100
|
|
|
101
|
-
**Agent 委托扩展**:work items
|
|
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
|
|
105
|
+
**P0 残留清理**:移�?VS Code 扩展中对已删�?runtime 方法的调用(`enrichGraph`/`downloadModel`/`showSetupGuide` 命令 + `/enrich` 聊天命令);清理 87 �?OpenBMB/enrichment 残留代码;移�?`canaryAllowed`/`canaryReason` �?5 �?enrichment 类型字段�?
|
|
106
106
|
|
|
107
|
-
### v1.4.0
|
|
107
|
+
### v1.4.0 核心�?026-07�?
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
**奥卡姆剃刀精简**:移�?OpenBMB 本地部署、语义压缩模型、语义增强器、技能进化、金丝雀门控、本地嵌入模型、向量存储等未产生真实价值的模块。留下的是三条经过验证的闭环链路�?
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
**三大核心功能验证修复**�?
|
|
112
112
|
|
|
113
|
-
1. **HNSW
|
|
114
|
-
- `file-indexer`
|
|
115
|
-
- `orchestrator-context`
|
|
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`
|
|
120
|
-
-
|
|
118
|
+
2. **FileWatcher 接入 MCP 启动**(P0 修复�?
|
|
119
|
+
- `startFileWatcherIfEnabled` 此前是死代码,现已接�?MCP 服务器启动路�?
|
|
120
|
+
- �?`autoIndexOnSave: true` 时自动监听文件变化并增量索引
|
|
121
121
|
|
|
122
|
-
3.
|
|
123
|
-
- `skillHints` 解耦:不再依赖 `enableGraphContextInPrompt
|
|
124
|
-
- Dangling edges 修复:`applySkillLearning`
|
|
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.
|
|
135
|
-
- **GitHub Release**:push
|
|
136
|
-
- **npm 发布**:push tag `v*`(如 `v1.4.1
|
|
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`
|
|
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`
|
|
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
|
-
|
|
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` |
|
|
174
|
-
| `graphflow_run` | 规划 + 压缩上下文,输出 bridge
|
|
175
|
-
| `graphflow_report_outcome` |
|
|
176
|
-
| `graphflow_insight` |
|
|
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` |
|
|
180
|
+
| `graphflow_artifact` | 导出或导入压缩图�?artifact |
|
|
181
181
|
| `graphflow_skill_guide` | 获取 GraphFlow Skill 使用指南 |
|
|
182
182
|
|
|
183
|
-
**MCP 建图提示**:用户级 MCP
|
|
183
|
+
**MCP 建图提示**:用户级 MCP 进程�?`cwd` 不一定是当前项目。请任选其一�?
|
|
184
184
|
|
|
185
|
-
- 调用 `graphflow_index`
|
|
186
|
-
-
|
|
187
|
-
- 使用 VS Code
|
|
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
|
|
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
|
|
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
|
-
|
|
|
242
|
-
| 向量召回 | transformers.js embedding +
|
|
243
|
-
| RepoMap 概览 | 预算紧张时返回模块级地图 |
|
|
244
|
-
| 自适应预算 |
|
|
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`
|
|
249
|
-
-
|
|
250
|
-
- 统一使用线性扫描(典型仓库 <10K 节点性能完全够用,无需 HNSW ANN
|
|
251
|
-
-
|
|
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`
|
|
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
|
|
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
|
|
310
|
-
-
|
|
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`
|
|
327
|
+
通过 `graphPolicy.includeExtensions` 限制扫描范围。tree-sitter WASM 语法包在 `npm run build` 时打�?`wasm/` 并随 npm 包分发,安装后无需联网下载�?
|
|
328
328
|
|
|
329
329
|
### Agent MCP 自动安装
|
|
330
330
|
|
|
331
|
-
GraphFlow CLI 可自动检测并安装 MCP
|
|
331
|
+
GraphFlow CLI 可自动检测并安装 MCP 配置�?15+ 编码 Agent�?
|
|
332
332
|
|
|
333
333
|
```bash
|
|
334
|
-
#
|
|
334
|
+
# 检测已安装�?Agent �?MCP 配置状�?
|
|
335
335
|
npx @roarpeng/graphflow doctor
|
|
336
336
|
|
|
337
|
-
#
|
|
337
|
+
# 一键安�?MCP + Skill + Cursor Rules(推荐)
|
|
338
338
|
npx @roarpeng/graphflow install
|
|
339
339
|
|
|
340
|
-
#
|
|
340
|
+
# 或仅初始化项目级配置�?graphflow/config.json 等)
|
|
341
341
|
npx @roarpeng/graphflow init
|
|
342
342
|
```
|
|
343
343
|
|
|
344
|
-
**本地 `npm 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
|
|
348
|
+
Trae 区分 **Rules**(每轮自动加载)�?**Skill**(按需匹配)。仅�?Skill �?GraphFlow 触发频率偏低;`install` / `init` 会在项目内写入:
|
|
349
349
|
|
|
350
350
|
| 路径 | 作用 |
|
|
351
351
|
|------|------|
|
|
352
|
-
| `.trae/rules/graphflow.md` | `alwaysApply: true`
|
|
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` |
|
|
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 #
|
|
360
|
+
npx @roarpeng/graphflow doctor # 检�?Trae CN rules/skill/MCP 是否就绪
|
|
361
361
|
```
|
|
362
362
|
|
|
363
|
-
**注意**:MCP 配置中不要硬编码 `GRAPHFLOW_WORKSPACE_ROOT`
|
|
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` |
|
|
372
|
-
| `.agent/skills/graphflow/SKILL.md` |
|
|
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` |
|
|
387
|
-
| `.github/copilot-instructions.md` |
|
|
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 #
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
|
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
|
-
-
|
|
417
|
-
-
|
|
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
|
|
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
|
|
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)
|
|
443
|
-
2. **VS Code
|
|
444
|
-
3. **Cursor
|
|
445
|
-
4. 重启编辑器;首次激活会自动尝试安装 GraphFlow MCP
|
|
446
|
-
5. 命令面板运行 **GraphFlow: Show Settings**
|
|
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
|
|
448
|
+
CLI 安装(若已安�?`code` / `cursor` 命令):
|
|
449
449
|
|
|
450
450
|
```bash
|
|
451
|
-
code --install-extension graphflow-tool-1.7.
|
|
452
|
-
cursor --install-extension graphflow-tool-1.7.
|
|
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
|
|
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
|
-
|
|
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`
|
|
498
|
-
3. `context preview`
|
|
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`
|
|
501
|
+
6. `route diagnose` �?显示 provider 路由状�?
|
|
502
502
|
|
|
503
503
|
## 常见问题
|
|
504
504
|
|
|
505
|
-
|
|
505
|
+
**切换项目�?Snapshot 显示别的仓库的图�?*
|
|
506
506
|
|
|
507
|
-
-
|
|
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
|
|
514
|
+
- 离线环境索引多语言项目时,WASM 语法包已�?`@roarpeng/graphflow` 安装包内置,无需联网下载
|
|
515
515
|
|
|
516
516
|
**`context preview` 返回 0 anchors**
|
|
517
517
|
|
|
518
|
-
-
|
|
519
|
-
- 检查查询词是否命中代码符号(如 `orchestrator`、`planner
|
|
518
|
+
- 先执�?`graph index` �?Settings 建图
|
|
519
|
+
- 检查查询词是否命中代码符号(如 `orchestrator`、`planner`�?
|
|
520
520
|
|
|
521
|
-
|
|
521
|
+
**知识图谱面板空白或只有小�?*
|
|
522
522
|
|
|
523
|
-
-
|
|
524
|
-
-
|
|
523
|
+
- 点击画布工具�?**「适应�?*
|
|
524
|
+
- 注意:画布展示的�?*采样子图**(约 120 节点),全库规模请看顶栏统计
|
|
525
525
|
|
|
526
|
-
**API Key
|
|
526
|
+
**API Key 未配�?*
|
|
527
527
|
|
|
528
|
-
-
|
|
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
|
-
|
|
531
|
+
**�?LLM 时能用吗**
|
|
532
532
|
|
|
533
|
-
- 可以:结构索引、图谱可视化、context preview
|
|
534
|
-
- 只有 Six Hats
|
|
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
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
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
|