deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
简体中文 · English
为 DeepSeek Harness(dsh)提供可视化计划模式:
Agent 在 Plan Mode 中生成的计划会自动变成一张可编辑的节点图。你可以拖动节点、修改依赖、添加批注,
确认后系统生成 Plan Diff、创建新版本,并把用户批准的修订计划可靠地交还给 DSH 继续执行。
用户需求 → DSH Plan Mode → 结构化 VisualPlan JSON → 节点图画布
→ 查看 / 编辑 / 批注 → Apply Changes → Plan Diff → 用户确认
→ 生成新版本(v1 → v2 → …)→ 修订计划回写 DSH → 按批准的计划执行

exit_plan_mode 输出自动转为 VisualPlan JSON,并用 DAG 自动布局渲染为节点图(节点不重叠、依赖清晰)。.plan/revisions/vN.json),绝不覆盖用户已批准的计划。plan.json(机器接口)+ plan.md(人类 / Agent 阅读、Git 保存、调试)。plan.status / version / approvedVersion / executionVersion,
执行绑定到批准版本,为后续动态重新规划打好基础。需要 DSH
>= 0.1.0-rc.6(当前验证于0.1.0-rc.6)。
dsh plugin --profile web add /path/to/dsh-visual-plan
dsh plugin --profile web add github:<owner>/dsh-visual-plan
pnpm ≥ 10 首次安装 Git 依赖会拒绝执行
prepare构建脚本,按提示把dsh-visual-plan加入 profile 的pnpm-workspace.yaml的allowBuilds后重试即可。
安装后验证配置层并重启:
dsh --profile web --dump-config # 应看到 "dsh-visual-plan" 层
dsh --profile web
dsh web,默认 http://127.0.0.1:3080)打开一个会话,进入 Plan Mode 并生成计划。DSH Plan Mode (exit_plan_mode markdown)
│
▼
DeepSeekHarnessAdapter ──► VisualPlan JSON(唯一机器接口)
│ │
▼ ▼
revised message React Flow canvas(可编辑)
│ │
└────────── Apply Changes ◄────┘
│
▼
Plan Diff → 用户确认
│
▼
.plan/plan.json + plan.md + revisions/vN.json
│
▼
修订计划回写 DSH → 按批准的计划执行
模块划分:
src/schema — VisualPlan / Task / Edge / Comment / Version 类型与校验(依赖存在性、自依赖、循环依赖检测)。src/engine — Markdown ⇄ Plan 转换、Plan Diff、版本创建。src/adapter — 适配器接缝;v1 提供 DSH 适配器(exit_plan_mode → VisualPlan,VisualPlan → 修订计划消息)。src/index.ts — host 面:.plan/ 持久化与回环 API。src/client — 「可视化计划」标签页(React Flow 画布、任务编辑器、评论、Diff 弹窗、Apply)。每次批准的计划保存在会话工作区:
.plan/
├── plan.json 最新 VisualPlan
├── plan.md 最新 Markdown(Agent 可读)
└── revisions/
├── v1.json 不可变的批准快照
└── v2.json
每次 Apply 都会把新版本同时记为 approvedVersion 与 executionVersion:
Plan v1(Agent 生成) reviewing approvedVersion = null executionVersion = null
│ 用户 Apply
▼
Plan v2(用户批准) executing approvedVersion = 2 executionVersion = 2
│ 后续草稿 v3
▼
Plan v3(新草稿) draft approvedVersion = 2 executionVersion = 2
执行永远绑定到批准版本;即使后续生成了更新的草稿,正在执行的版本也不会被悄悄替换。
npm install
npm run typecheck # host + client 类型检查
npm run build # host + client 构建
npm run verify # 离线契约 + 纯逻辑验证(93 项)
配合运行中的 DSH web profile(已组合本包):
node scripts/gui-probe.mjs [url] # tab 注册 + 视图挂载
node scripts/e2e-plan-flow.mjs [url] # /plan → 批准 → 画布节点
完整 plan-flow 脚本需要可用的模型,覆盖验收链路:
Plan Mode → exit_plan_mode → VisualPlan → 画布。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。