@roarpeng/graphflow 1.0.0 → 1.0.4
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 +26 -0
- package/README.md +96 -38
- package/dist/agents/insight.d.ts +83 -0
- package/dist/agents/insight.d.ts.map +1 -0
- package/dist/agents/insight.js +381 -0
- package/dist/agents/insight.js.map +1 -0
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/discover-workspace.d.ts +16 -0
- package/dist/config/discover-workspace.d.ts.map +1 -0
- package/dist/config/discover-workspace.js +112 -0
- package/dist/config/discover-workspace.js.map +1 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +22 -8
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/scaffold.d.ts.map +1 -1
- package/dist/config/scaffold.js +2 -1
- package/dist/config/scaffold.js.map +1 -1
- package/dist/config/workspace-root.d.ts +24 -0
- package/dist/config/workspace-root.d.ts.map +1 -0
- package/dist/config/workspace-root.js +59 -0
- package/dist/config/workspace-root.js.map +1 -0
- package/dist/core/orchestrator.js +10 -1
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/state-machine.js +1 -1
- package/dist/core/state-machine.js.map +1 -1
- package/dist/core/types.d.ts +2 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/graph/artifact-manager.d.ts +72 -0
- package/dist/graph/artifact-manager.d.ts.map +1 -0
- package/dist/graph/artifact-manager.js +215 -0
- package/dist/graph/artifact-manager.js.map +1 -0
- package/dist/graph/context-slicer.d.ts.map +1 -1
- package/dist/graph/context-slicer.js +3 -2
- package/dist/graph/context-slicer.js.map +1 -1
- package/dist/graph/file-indexer.d.ts +31 -0
- package/dist/graph/file-indexer.d.ts.map +1 -1
- package/dist/graph/file-indexer.js +332 -3
- package/dist/graph/file-indexer.js.map +1 -1
- package/dist/graph/graph-compression.d.ts.map +1 -1
- package/dist/graph/graph-compression.js +2 -0
- package/dist/graph/graph-compression.js.map +1 -1
- package/dist/graph/graph-utils.d.ts +4 -1
- package/dist/graph/graph-utils.d.ts.map +1 -1
- package/dist/graph/graph-utils.js +62 -0
- package/dist/graph/graph-utils.js.map +1 -1
- package/dist/graph/graphify-file-client.d.ts.map +1 -1
- package/dist/graph/graphify-file-client.js +30 -8
- package/dist/graph/graphify-file-client.js.map +1 -1
- package/dist/graph/language-indexers/c-cpp.d.ts +9 -1
- package/dist/graph/language-indexers/c-cpp.d.ts.map +1 -1
- package/dist/graph/language-indexers/c-cpp.js +328 -103
- package/dist/graph/language-indexers/c-cpp.js.map +1 -1
- package/dist/graph/language-indexers/index.d.ts +20 -0
- package/dist/graph/language-indexers/index.d.ts.map +1 -1
- package/dist/graph/language-indexers/index.js +4 -0
- package/dist/graph/language-indexers/index.js.map +1 -1
- package/dist/graph/language-indexers/java.d.ts +12 -0
- package/dist/graph/language-indexers/java.d.ts.map +1 -0
- package/dist/graph/language-indexers/java.js +273 -0
- package/dist/graph/language-indexers/java.js.map +1 -0
- package/dist/graph/language-indexers/python.d.ts.map +1 -1
- package/dist/graph/language-indexers/python.js +47 -4
- package/dist/graph/language-indexers/python.js.map +1 -1
- package/dist/graph/language-indexers/ruby.d.ts +14 -0
- package/dist/graph/language-indexers/ruby.d.ts.map +1 -0
- package/dist/graph/language-indexers/ruby.js +245 -0
- package/dist/graph/language-indexers/ruby.js.map +1 -0
- package/dist/graph/language-indexers/rust.d.ts +10 -1
- package/dist/graph/language-indexers/rust.d.ts.map +1 -1
- package/dist/graph/language-indexers/rust.js +254 -80
- package/dist/graph/language-indexers/rust.js.map +1 -1
- package/dist/graph/language-indexers/tree-sitter-loader.d.ts +8 -1
- package/dist/graph/language-indexers/tree-sitter-loader.d.ts.map +1 -1
- package/dist/graph/language-indexers/tree-sitter-loader.js +64 -13
- package/dist/graph/language-indexers/tree-sitter-loader.js.map +1 -1
- package/dist/graph/language-indexers/typescript.d.ts.map +1 -1
- package/dist/graph/language-indexers/typescript.js +72 -8
- package/dist/graph/language-indexers/typescript.js.map +1 -1
- package/dist/graph/metrics.d.ts +33 -0
- package/dist/graph/metrics.d.ts.map +1 -0
- package/dist/graph/metrics.js +117 -0
- package/dist/graph/metrics.js.map +1 -0
- package/dist/graph/token-savings.d.ts +52 -0
- package/dist/graph/token-savings.d.ts.map +1 -0
- package/dist/graph/token-savings.js +113 -0
- package/dist/graph/token-savings.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/agent-mcp-installer.d.ts +2 -0
- package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
- package/dist/integrations/agent-mcp-installer.js +115 -23
- package/dist/integrations/agent-mcp-installer.js.map +1 -1
- package/dist/learning/episodic-memory.d.ts +8 -1
- package/dist/learning/episodic-memory.d.ts.map +1 -1
- package/dist/learning/episodic-memory.js +33 -0
- package/dist/learning/episodic-memory.js.map +1 -1
- package/dist/skills/index.d.ts +157 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +157 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/surfaces/cli/index.js +119 -0
- package/dist/surfaces/cli/index.js.map +1 -1
- package/dist/surfaces/cli/output.d.ts.map +1 -1
- package/dist/surfaces/cli/output.js +7 -0
- package/dist/surfaces/cli/output.js.map +1 -1
- package/dist/surfaces/cli/runtime/graph.d.ts +77 -3
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js +140 -9
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts +24 -1
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +57 -0
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime/settings.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/settings.js +4 -1
- package/dist/surfaces/cli/runtime/settings.js.map +1 -1
- package/dist/surfaces/cli/runtime/types.d.ts +16 -0
- package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.d.ts +2 -2
- package/dist/surfaces/cli/runtime.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.js +11 -1
- package/dist/surfaces/cli/runtime.js.map +1 -1
- package/dist/surfaces/mcp/server.d.ts.map +1 -1
- package/dist/surfaces/mcp/server.js +143 -2
- package/dist/surfaces/mcp/server.js.map +1 -1
- package/package.json +5 -2
- package/scripts/safe-postinstall.cjs +167 -12
- package/src/surfaces/trae-skill/graphflow/SKILL.md +535 -0
- package/wasm/tree-sitter-c.wasm +0 -0
- package/wasm/tree-sitter-go.wasm +0 -0
- package/wasm/tree-sitter-java.wasm +0 -0
- package/wasm/tree-sitter-python.wasm +0 -0
- package/wasm/tree-sitter-ruby.wasm +0 -0
- package/wasm/tree-sitter-rust.wasm +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.0.3] - 2026-06-24
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **CI**:`m17` 测试不再硬编码 `/usr/bin/node`,兼容 GitHub Actions hosted Node 路径。
|
|
12
|
+
- **图谱存储**:`graphify-file-client` 原子写入(temp + rename);损坏 JSON 时优雅降级为空 store 并提示 rebuild。
|
|
13
|
+
- **上下文检索**:`rankNodesForContextQuery` 降低 `.cursor/mcp.json`、`docs/integrations` 等配置噪声,优先 `src/` 与 Symbol 节点。
|
|
14
|
+
- **MCP metrics**:`graphflow_metrics` 支持 `rootDir` 并绑定工作区。
|
|
15
|
+
|
|
16
|
+
## [1.0.2] - 2026-06-24
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **MCP ENOENT(fnm 临时路径)**:安装 MCP 时不再写入 fnm multishell 临时 `node` 绝对路径;优先使用 IDE 自带 Electron(`ELECTRON_RUN_AS_NODE`),否则回退稳定 `node`。
|
|
21
|
+
- **Trae CN 支持**:安装器识别 `~/.trae-cn` 并写入 `~/.config/Trae CN/User/mcp.json`。
|
|
22
|
+
|
|
23
|
+
## [1.0.1] - 2026-06-24
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- **多项目工作区隔离**:MCP / 扩展 / npm 包不再把图谱绑定到 vendor 目录或全局配置里的陈旧 `workspaceRoot`。
|
|
28
|
+
- **自动发现工作区**:新增 `discover-workspace`,从 cwd 向上查找项目根;仅在 runtime 目录(vendor、extensions)时回退到 IDE 环境变量。
|
|
29
|
+
- **MCP launcher**:子进程 `cwd` 与 `GRAPHFLOW_WORKSPACE_ROOT` 指向用户打开的项目,不再固定在扩展 vendor。
|
|
30
|
+
- **MCP 安装器**:默认写入 `GRAPHFLOW_WORKSPACE_ROOT: "${workspaceFolder}"`,merge 已有 env,扩展有工作区时同时写用户级与项目级配置。
|
|
31
|
+
- **MCP 工具**:`preview_context`、`inspect_graph`、`skill_insights`、`stats` 支持可选 `rootDir` 覆盖。
|
|
32
|
+
|
|
7
33
|
## [1.0.0] - 2026-06-19
|
|
8
34
|
|
|
9
35
|
首个正式版本。在 0.6.x 基础上完成「诚实执行语义」收敛与「上下文压缩」体系,所有新增能力均端到端接线到 CLI / MCP / orchestrator。
|
package/README.md
CHANGED
|
@@ -4,54 +4,70 @@ A Context-Aware Multi-Agent Orchestration Engine.
|
|
|
4
4
|
|
|
5
5
|
GraphFlow 是一个基于 TypeScript/Node.js 的多智能体编排引擎,将 **Graphify 式知识图谱** 与 **Superpowers 式任务编排** 整合为可本地运行的上下文层:自动建图、压缩检索、规划执行、经验沉淀,并通过 CLI、MCP 与 VS Code 扩展对外暴露。
|
|
6
6
|
|
|
7
|
-
## 当前能力总览(v1.0.0
|
|
7
|
+
## 当前能力总览(v1.0.0+)
|
|
8
8
|
|
|
9
9
|
| 能力域 | 说明 |
|
|
10
10
|
| --- | --- |
|
|
11
|
-
| **任务规划与移交** | 按任务复杂度分流 simple / complex;DAG
|
|
11
|
+
| **任务规划与移交** | 按任务复杂度分流 simple / complex;DAG 规划;`graphflow_plan_insight` 六顶思考帽 + 5-Why 深度分析;默认 **bridge 模式**输出结构化任务描述符交给外部 coding agent 执行 |
|
|
12
12
|
| **模型路由** | Smart / Economy 双 tier;多 provider 健康探测与 fallback(OpenAI、Anthropic、百炼、豆包、OpenBMB) |
|
|
13
|
-
| **知识图谱** | 工作区 AST 索引(TS/JS/Python/Rust/Go/C/C
|
|
13
|
+
| **知识图谱** | 工作区 AST 索引(TS/JS/Python/Rust/Go/C/C++/Java/Ruby);File / Module / Symbol 节点 + 依赖/引用/定义边;图谱 artifact 导入/导出 |
|
|
14
14
|
| **上下文压缩** | L1/L2/L3 分层锚点;近无损打包;图结构压缩(边权重+PageRank,零成本默认开启);可选语义压缩(minicpm/economy LLM 聚类合并);向量召回 + RRF + HNSW;RepoMap 概览;自适应预算 |
|
|
15
|
-
| **持续建图** | 默认 `autoIndexOnSave`;preview / run 前按需增量索引(`hasPendingGraphIndexWork
|
|
15
|
+
| **持续建图** | 默认 `autoIndexOnSave`;preview / run 前按需增量索引(`hasPendingGraphIndexWork`);MCP `graphflow_index_file` 单文件增量 |
|
|
16
16
|
| **语义增强** | 可选 post-index LLM 语义 enrich;OpenBMB 本地 embedded 模式 |
|
|
17
17
|
| **学习飞轮** | Episodic Memory、Reflection、Skill 节点、nightly 学习、技能提示注入规划 |
|
|
18
|
-
|
|
|
19
|
-
| **
|
|
18
|
+
| **可观测性** | `graphflow_stats` 累计 token 节省;`graphflow_metrics` Prometheus 指标;VS Code 知识图谱 Snapshot |
|
|
19
|
+
| **Agent 接入** | CLI `--json`;MCP stdio(**16 工具**);Cursor / Claude Code 规则与示例配置 |
|
|
20
|
+
| **VS Code 扩展** | Settings、建图、路由测试、Context Preview、**知识图谱可视化**、Skill Insights、Chat Agent、一键安装 MCP |
|
|
20
21
|
| **存储后端** | `file`(JSON)/ `memory` / `sqlite`(FTS5)/ `mcp-http`(Graphify) |
|
|
21
|
-
|
|
|
22
|
+
| **多项目隔离** | 全局配置共享 LLM/路由;**图谱路径按当前工作区解析**,不再串读其它项目的 `graphflow-out` |
|
|
23
|
+
| **工程质量** | TypeScript strict;**49 测试文件 / 200+ tests**;`npm run ci` 含扩展 esbuild 打包与 bundled runtime smoke |
|
|
22
24
|
|
|
23
25
|
### 一句话总结
|
|
24
26
|
|
|
25
27
|
> 从 task 描述出发,自动规划 → 路由模型 → 压缩图谱上下文(含向量召回)→ **输出结构化执行描述符交给外部 coding agent**,并把经验沉淀回知识图谱;定位为 **上下文与规划服务(context service)**,而非独立执行器。
|
|
26
28
|
|
|
27
|
-
###
|
|
29
|
+
### v1.0.0 核心(2026-06)
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- 双击节点或「打开源文件」跳转源码行
|
|
33
|
-
- 布局归一化修复大图谱「只剩角落小点」问题
|
|
31
|
+
- **诚实执行语义(bridge 模式)**:`graphflow_run` 规划 + 压缩上下文后输出 `executionDescriptor`,交给 Cursor / Claude Code 等外部 agent 执行,不再伪造 `COMPLETED`。
|
|
32
|
+
- **三层渐进压缩**:图结构压缩(默认零成本)→ 向量召回 + HNSW → 可选语义压缩(economy / minicpm)。
|
|
33
|
+
- **混合压缩模型**:`compressor` 角色默认继承 economy tier;纯离线时首次按需下载 minicpm GGUF。
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
- `autoIndexOnSave` 默认开启;保存文件后 debounce 增量索引
|
|
37
|
-
- 旧配置 `maxContextTokens: 400` 自动升级到 1500
|
|
35
|
+
### 最新更新(v1.0.x / main)
|
|
38
36
|
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
37
|
+
1. **多项目图谱隔离**
|
|
38
|
+
- 全局配置(`~/.graphflow.config.json`)只保存 LLM、路由等**机器级**设置,**不再持久化 `workspaceRoot`**
|
|
39
|
+
- 运行时按 `process.cwd()` 或 `GRAPHFLOW_WORKSPACE_ROOT` 解析 `graphflow-out/graphflow-graph.json`
|
|
40
|
+
- 修复:切换项目后 Snapshot / MCP 仍显示旧项目图谱的问题
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
42
|
+
2. **索引与语言扩展**
|
|
43
|
+
- 新增 **Java**(`.java`)、**Ruby**(`.rb`)tree-sitter 索引器
|
|
44
|
+
- C/C++、Rust 索引器增强;WASM 语法包可随 npm 包离线分发(`npm run wasm:download`)
|
|
45
|
+
- MCP 新增 `graphflow_index_file` 单文件增量索引
|
|
47
46
|
|
|
48
|
-
|
|
47
|
+
3. **MCP 工具扩展(9 → 16)**
|
|
48
|
+
- `graphflow_plan_insight`:六顶思考帽 + 5-Why 深度规划
|
|
49
|
+
- `graphflow_export_artifact` / `graphflow_import_artifact`:图谱压缩包导入导出
|
|
50
|
+
- `graphflow_stats`:累计 token 节省统计
|
|
51
|
+
- `graphflow_metrics`:Prometheus 格式可观测性指标
|
|
52
|
+
|
|
53
|
+
4. **知识图谱可视化(延续 v0.6.12+)**
|
|
54
|
+
- 可读标签、代码层/学习层 Tab、目录聚类、缩放平移、跳转源码
|
|
55
|
+
- Snapshot 为**采样视图**(默认约 120 节点 / 200 边),顶栏显示全库真实规模
|
|
56
|
+
|
|
57
|
+
5. **配置与工程**
|
|
58
|
+
- 全局配置优先;损坏 JSON 容错;CI 全链路 validate + VSIX 打包
|
|
49
59
|
- Settings「建立图谱(无需 LLM)」或 `graph index` 即可生成结构图谱
|
|
50
|
-
|
|
60
|
+
|
|
61
|
+
### 历史演进(v0.6.7 – v0.6.13 摘要)
|
|
62
|
+
|
|
63
|
+
- v0.6.12–0.6.13:知识图谱面板、布局归一化、Snapshot 可读标签
|
|
64
|
+
- v0.6.11:`autoIndexOnSave` 默认开启;`maxContextTokens` 400 → 1500 自动升级
|
|
65
|
+
- v0.6.10:runtime 模块化、VS Code esbuild bundle
|
|
66
|
+
- v0.6.7–0.6.9:全局配置脚手架、无工作区也可打开 Settings
|
|
51
67
|
|
|
52
68
|
### 发布信息
|
|
53
69
|
|
|
54
|
-
- 最新版本:**v1.0.
|
|
70
|
+
- 最新版本:**v1.0.4**(root + vscode-extension);npm:`@roarpeng/graphflow@1.0.4`
|
|
55
71
|
- **GitHub Release**:push 到 `main` 且 CI 通过后自动发布 VSIX(见 [Actions](https://github.com/Roarpeng/GraphFlow/actions))
|
|
56
72
|
- 变更日志:`CHANGELOG.md`
|
|
57
73
|
|
|
@@ -83,19 +99,32 @@ GraphFlow 支持两种对外接入方式:
|
|
|
83
99
|
npm run start:mcp
|
|
84
100
|
```
|
|
85
101
|
|
|
86
|
-
### MCP
|
|
102
|
+
### MCP 工具一览(16 个)
|
|
87
103
|
|
|
88
104
|
| 工具 | 用途 |
|
|
89
105
|
| --- | --- |
|
|
90
|
-
| `graphflow_preview_context` |
|
|
91
|
-
| `graphflow_plan` |
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
106
|
+
| `graphflow_preview_context` | 压缩任务相关上下文(**优先调用**) |
|
|
107
|
+
| `graphflow_plan` | 多步任务分解与 DAG 规划 |
|
|
108
|
+
| `graphflow_plan_insight` | 六顶思考帽 + 5-Why 深度分析后规划(复杂任务) |
|
|
109
|
+
| `graphflow_run` | 规划 + 压缩上下文,输出 bridge 执行描述符 |
|
|
110
|
+
| `graphflow_index` | 全工作区增量建图 |
|
|
111
|
+
| `graphflow_index_file` | 单文件增量建图(适合 onSave / watcher) |
|
|
112
|
+
| `graphflow_rebuild` | 清空缓存后全量重建 |
|
|
113
|
+
| `graphflow_inspect_graph` | 图谱快照统计与样本节点 |
|
|
114
|
+
| `graphflow_enrich_graph` | 符号节点语义增强 |
|
|
96
115
|
| `graphflow_skill_insights` | 技能学习洞察 |
|
|
97
|
-
| `graphflow_diagnose` |
|
|
98
|
-
| `graphflow_model_download` | OpenBMB 模型下载 |
|
|
116
|
+
| `graphflow_diagnose` | 路由与压缩模型健康诊断 |
|
|
117
|
+
| `graphflow_model_download` | OpenBMB / minicpm 模型下载 |
|
|
118
|
+
| `graphflow_export_artifact` | 导出压缩图谱 artifact |
|
|
119
|
+
| `graphflow_import_artifact` | 导入图谱 artifact |
|
|
120
|
+
| `graphflow_stats` | 累计 token 节省 ROI 统计 |
|
|
121
|
+
| `graphflow_metrics` | Prometheus 格式运行指标 |
|
|
122
|
+
|
|
123
|
+
**MCP 建图提示**:用户级 MCP 进程的 `cwd` 不一定是当前项目。请任选其一:
|
|
124
|
+
|
|
125
|
+
- 调用 `graphflow_index` 时传入 `rootDir`(项目绝对路径)
|
|
126
|
+
- 在 MCP 配置中设置 `GRAPHFLOW_WORKSPACE_ROOT` 环境变量
|
|
127
|
+
- 使用 VS Code 扩展「建立图谱」或项目级 `.cursor/mcp.json`
|
|
99
128
|
|
|
100
129
|
CLI 示例:
|
|
101
130
|
|
|
@@ -237,8 +266,10 @@ const run = await orchestrate(
|
|
|
237
266
|
| Rust | `.rs` |
|
|
238
267
|
| Go | `.go` |
|
|
239
268
|
| C / C++ | `.c .h .cc .cpp .cxx .hpp .hxx` |
|
|
269
|
+
| Java | `.java` |
|
|
270
|
+
| Ruby | `.rb` |
|
|
240
271
|
|
|
241
|
-
通过 `graphPolicy.includeExtensions` 限制扫描范围。
|
|
272
|
+
通过 `graphPolicy.includeExtensions` 限制扫描范围。tree-sitter WASM 语法包随 npm 包分发;开发/发布前可执行 `npm run wasm:download` 预下载到 `wasm/`。
|
|
242
273
|
|
|
243
274
|
## 配置文件
|
|
244
275
|
|
|
@@ -248,12 +279,26 @@ const run = await orchestrate(
|
|
|
248
279
|
cp graphflow.config.example.json graphflow.config.json
|
|
249
280
|
```
|
|
250
281
|
|
|
282
|
+
### 全局 vs 项目配置
|
|
283
|
+
|
|
284
|
+
| 层级 | 路径 | 适合存放 |
|
|
285
|
+
| --- | --- | --- |
|
|
286
|
+
| 全局 | `~/.graphflow.config.json` | Provider、API Key、Smart/Economy 模型、路由策略 |
|
|
287
|
+
| 项目根 | `graphflow.config.json` | 项目专属覆盖(可选) |
|
|
288
|
+
| 项目覆盖 | `.graphflow/config.json` | 工作区局部覆盖(`graphflow init` 生成) |
|
|
289
|
+
|
|
290
|
+
**多项目重要约定**:
|
|
291
|
+
|
|
292
|
+
- 图谱文件默认写在**当前工作区**下的 `graphflow-out/graphflow-graph.json`
|
|
293
|
+
- 全局配置**不应**包含固定的 `workspaceRoot`(旧版本若已写入,请删除该字段)
|
|
294
|
+
- MCP / 脚本可通过环境变量指定工作区:`GRAPHFLOW_WORKSPACE_ROOT=/path/to/project`
|
|
295
|
+
|
|
251
296
|
关键项:
|
|
252
297
|
|
|
253
298
|
| 配置 | 说明 |
|
|
254
299
|
| --- | --- |
|
|
255
300
|
| `graphPolicy.transport` | `file` / `memory` / `sqlite` / `mcp-http` |
|
|
256
|
-
| `graphPolicy.graphStorePath` | JSON 或 `.sqlite` 路径 |
|
|
301
|
+
| `graphPolicy.graphStorePath` | 相对当前工作区的 JSON 或 `.sqlite` 路径 |
|
|
257
302
|
| `graphPolicy.maxContextTokens` | 压缩上下文预算(默认 **1500**) |
|
|
258
303
|
| `graphPolicy.autoIndexOnSave` | 保存后增量索引(默认 **true**) |
|
|
259
304
|
| `graphPolicy.autoIndexOnPreview` / `autoIndexOnRun` | preview / run 前自动索引 |
|
|
@@ -317,6 +362,18 @@ code --install-extension artifacts/graphflow-vscode-*.vsix
|
|
|
317
362
|
|
|
318
363
|
## 常见问题
|
|
319
364
|
|
|
365
|
+
**切换项目后 Snapshot 显示别的仓库的图谱**
|
|
366
|
+
|
|
367
|
+
- 检查 `~/.graphflow.config.json` 是否含有旧的 `workspaceRoot`,**删除该字段**后重载窗口
|
|
368
|
+
- 在当前项目重新「建立图谱」,确认顶栏 `store` 路径指向本项目的 `graphflow-out/`
|
|
369
|
+
- 使用 v1.0.x 最新版(已修复全局 `workspaceRoot` 串项目问题)
|
|
370
|
+
|
|
371
|
+
**MCP 建图失败或索引到错误目录**
|
|
372
|
+
|
|
373
|
+
- `graphflow_index` 传入 `rootDir: "/你的项目绝对路径"`
|
|
374
|
+
- 或在 MCP 配置中加 `"env": { "GRAPHFLOW_WORKSPACE_ROOT": "/你的项目绝对路径" }`
|
|
375
|
+
- 离线环境首次索引多语言项目时,确保 `wasm/` 语法包存在或网络可访问 unpkg
|
|
376
|
+
|
|
320
377
|
**`context preview` 返回 0 anchors**
|
|
321
378
|
|
|
322
379
|
- 先执行 `graph index` 或 Settings 建图
|
|
@@ -326,6 +383,7 @@ code --install-extension artifacts/graphflow-vscode-*.vsix
|
|
|
326
383
|
|
|
327
384
|
- 升级到 **v1.0.0+** 并重载窗口
|
|
328
385
|
- 点击画布工具栏 **「适应」**
|
|
386
|
+
- 注意:画布展示的是**采样子图**(约 120 节点),全库规模请看顶栏统计
|
|
329
387
|
|
|
330
388
|
**API Key 未配置**
|
|
331
389
|
|
|
@@ -347,7 +405,7 @@ GraphFlow/
|
|
|
347
405
|
│ └── surfaces/
|
|
348
406
|
│ ├── cli/ # CLI + runtime 子模块
|
|
349
407
|
│ └── mcp/ # MCP server
|
|
350
|
-
├── tests/ #
|
|
408
|
+
├── tests/ # 49 文件 / 200+ tests
|
|
351
409
|
├── vscode-extension/ # VS Code 面板与命令
|
|
352
410
|
├── docs/
|
|
353
411
|
└── CHANGELOG.md
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Six Thinking Hats + Five Whys Insight Engine.
|
|
3
|
+
*
|
|
4
|
+
* Borrowed from Edward de Bono's "Six Thinking Hats" framework —
|
|
5
|
+
* before planning a task, analyze it through 6 distinct perspectives,
|
|
6
|
+
* and auto-apply 5-level Why chains to key observations that fall
|
|
7
|
+
* below a confidence threshold.
|
|
8
|
+
*
|
|
9
|
+
* The 5 Why triggers are automatic: whenever a hat produces an
|
|
10
|
+
* observation with low certainty (< 0.6), the chain is applied to
|
|
11
|
+
* drill toward root cause.
|
|
12
|
+
*/
|
|
13
|
+
import type { TaskNode } from "../core/types";
|
|
14
|
+
import type { ModelSelection } from "../routing/model-router";
|
|
15
|
+
import { type PromptContext } from "../routing/provider-executor";
|
|
16
|
+
/** === Hat Definitions === */
|
|
17
|
+
export interface HatDefinition {
|
|
18
|
+
name: string;
|
|
19
|
+
color: "white" | "red" | "black" | "yellow" | "green" | "blue";
|
|
20
|
+
role: string;
|
|
21
|
+
focus: string;
|
|
22
|
+
question: string;
|
|
23
|
+
whyFocus: string;
|
|
24
|
+
whyRootFocus: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const SIX_HATS: HatDefinition[];
|
|
27
|
+
/** === Five Whys Chain === */
|
|
28
|
+
export interface WhyStep {
|
|
29
|
+
level: 1 | 2 | 3 | 4 | 5;
|
|
30
|
+
question: string;
|
|
31
|
+
answer: string;
|
|
32
|
+
certainty: number;
|
|
33
|
+
}
|
|
34
|
+
export interface FiveWhyResult {
|
|
35
|
+
initialObservation: string;
|
|
36
|
+
certainty: number;
|
|
37
|
+
steps: WhyStep[];
|
|
38
|
+
rootCause: string;
|
|
39
|
+
}
|
|
40
|
+
export interface WhyChainSection {
|
|
41
|
+
hat: HatDefinition;
|
|
42
|
+
/** Key observation produced by this hat */
|
|
43
|
+
observation: string;
|
|
44
|
+
certainty: number;
|
|
45
|
+
/** 5-level why chain (only non-trivial ones are expanded) */
|
|
46
|
+
whyChain: FiveWhyResult | null;
|
|
47
|
+
/** Critical findings that should influence the plan */
|
|
48
|
+
criticalInsight: string;
|
|
49
|
+
}
|
|
50
|
+
/** === Six Hats Analysis Result === */
|
|
51
|
+
export interface SixHatsInsight {
|
|
52
|
+
task: string;
|
|
53
|
+
hats: WhyChainSection[];
|
|
54
|
+
blueHatSynthesis: string;
|
|
55
|
+
rootCauses: string[];
|
|
56
|
+
criticalRisks: string[];
|
|
57
|
+
coreValue: string;
|
|
58
|
+
refinedTaskStatement: string;
|
|
59
|
+
}
|
|
60
|
+
/** === Main Entry Points === */
|
|
61
|
+
export interface PlanInsightOptions {
|
|
62
|
+
selection: ModelSelection;
|
|
63
|
+
context?: PromptContext;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Run the full Six Thinking Hats + Five Whys analysis on a task,
|
|
67
|
+
* then generate a DAG-style plan that incorporates the insights.
|
|
68
|
+
*
|
|
69
|
+
* @param task The task to analyze
|
|
70
|
+
* @param options Model selection and context options
|
|
71
|
+
*/
|
|
72
|
+
export declare function planInsight(task: string, options: PlanInsightOptions): Promise<{
|
|
73
|
+
insight: SixHatsInsight;
|
|
74
|
+
plan: TaskNode[];
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Run the Six Thinking Hats analysis with automatic 5 Why triggers.
|
|
78
|
+
*
|
|
79
|
+
* Each hat produces an observation. If the observation's certainty
|
|
80
|
+
* is below THRESHOLD (0.6), a 5 Why chain is automatically applied.
|
|
81
|
+
*/
|
|
82
|
+
export declare function analyzeWithSixHats(task: string, options: PlanInsightOptions): Promise<SixHatsInsight>;
|
|
83
|
+
//# sourceMappingURL=insight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insight.d.ts","sourceRoot":"","sources":["../../src/agents/insight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGrF,8BAA8B;AAE9B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,aAAa,EAuDnC,CAAC;AAEF,8BAA8B;AAE9B,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,aAAa,CAAC;IACnB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,uCAAuC;AAEvC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,gCAAgC;AAEhC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC;IACT,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB,CAAC,CAID;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAkCzB"}
|