DeepSeek Harness Hub
← 返回列表

taltara/mddl-harness

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DeepSeek Harness 的可视化编排器。将模型和工具拖到画布上,然后导出一个真实的…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/30 · 已提供中文文档

DeepSeek Harness 的可视化编排器——将模型和工具拖拽到画布上,导出真实的 cordis.patch.yml 覆盖文件。

综合分
29
GitHub 分
29
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add taltara/mddl-harness
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

mddl harness

DeepSeek Harness 的可视化编排器。将模型和工具拖到画布上,然后导出一个真实的 cordis.patch.yml 覆盖文件。

这不是 dsh 的分支,也不是围绕 npx @deepseek-ai/dsh 的子进程封装。上游已经提供了 web profile、Cordis 补丁和 session/event 遥测。我们将图编译成那种覆盖格式,以便这些工作日后可以作为 dsh-plugin 挂载。

工作室:Bash、DeepSeek V4 Flash、Web Search 和 Filesystem 接入一个 agent 循环,检查器显示 agent-default-model 行

将模型和工具拖到画布上,将它们接入 agent 循环,然后导出覆盖文件。pnpm dev 会在  打开它。

为什么选择这套技术栈

| PDF 方案 | 我们实际的做法 |
|---|---|
| Next.js App Router | Vite + React SPA。DSH 提供静态 dist;RSC 是累赘。 |
| 虚构的 dsh.yaml | cordis.patch.yml(id 替换 + insert) |
| 通过 Socket.io 启动 dsh run | 后续:监听 session/event / agent/* 的 Cordis 插件 |
| 配置放在展开的节点内 | 哑节点 + 检查器(让 XYFlow 保持 60fps) |
| 节点内嵌 xterm.js | 仅停靠式预览。终端属于后续的宿主插件。 |

包

- @mddl/graph-schema — 图 IR 以及随附的 DSH 行目录
- @mddl/compiler — 图 → Cordis 补丁 YAML,外加覆盖文件 lint
- @mddl/studio — 可视化编辑器
- dsh-blueprint — DSH web 客户端内的 Blueprint 标签页(readme)
- dsh-overlay-check — 独立的覆盖文件安全检查,无依赖,适用于任何写入配置的场景(readme)

运行

pnpm install
pnpm dev

工作室:http://localhost:5173

pnpm lint       # biome check
pnpm format     # biome check --write
pnpm test
pnpm typecheck

CI 在每次推送时运行 lint、typecheck、test 和 build。

画布在你编辑时会保存到 localStorage,因此重新加载会保留你的图。
标题栏中的 Reset 会恢复初始图。

在面板中按名称、行 id、包或描述查找模块。按
/ 跳转到搜索,Not on canvas 会隐藏你已经放置的内容。

应用导出的覆盖文件。--patch 是从你的终端 cwd 解析的,而不是工作室。从 ~ 运行 ./cordis.patch.yml 会查找 /Users//cordis.patch.yml。

在 Export 之后(典型的 macOS 下载):

npx @deepseek-ai/dsh web --patch "$HOME/Downloads/cordis.patch.yml"

或者使用本仓库中的初始覆盖文件(从仓库根目录):

npx @deepseek-ai/dsh web --patch "$PWD/examples/cordis.patch.yml"

第一阶段不做什么

实时 harness 执行、profile 安装或 DSH 客户端槽位。“Preview telemetry” 是一个本地动画,用于验证发光/边路径。真实的运行状态来自后续阶段的 session/event。

能力披露
在写入 overlay 行之前,预检会报告每个被插入的包声明它可能做什么,如果该包附带 capmark 清单,则使用该清单:

warning  capability-high-risk  "build-helper" declares fs:read, proc:spawn.
proc:spawn hands over broad control — read its
manifest before applying.

这是运行时门控无法做出的唯一决定。插件的 apply() 在其行加载的那一刻就以完整的 Node 权限在进程内运行,此时任何工具调用都还不存在,因此写入是安装它仍然是一个选择的最后时机。它只报告,从不阻止:如今几乎没有插件带有清单,拒绝它们会使这项检查对真实配置毫无用处。

dsh-overlay-check 保持零依赖;这部分位于 dsh-blueprint 中。

路线图

已在 dsh-blueprint 0.5.0 中发布:读取实时加载器树、对实际启动的配置进行 lint、将 overlay 写回标记分隔块之后、拒绝写入会导致 harness 无法启动的行、带一键恢复的快照、将运行中的配置导入画布,以及编译为 agent 预设,使画布更改会话实际获得的内容。接下来,按顺序:

1. 将 session/event 映射到画布遥测,取代本地动画。
2. 英文和中文同等优先。
3. 超越已发布的 DeepSeek 适配器的模型行。

如果 harness 无法启动

一行指定了配置无法加载的包会直接导致 harness 无法启动,而不是禁用某个条目。dsh-blueprint 拒绝写入这样的行,但如果你通过其他途径到达这一步,有两件事会有帮助:

- dsh --profile  --dump-default-config 在跳过配置和主目录用户层的同时读取 bundle,因此当问题出在 overlay 上时它仍能给出答案。已在 rc.7 上确认:写入配置的 cordis.patch.yml 中的一行会出现在 --dump-config 中,而在 --dump-default-config 中缺失。
- sandbaseai 团队的 DSH 手册的恢复运行手册 是关于如何从中恢复的最详尽论述,包括哪个用户层拥有哪个文件。

状态

早期阶段。DSH 本身是一个开发者预览版,在发布候选版本之间存在破坏性变更,因此这里的行 id 和补丁形态都在追随一个移动的目标。已针对 @deepseek-ai/dsh 0.1.0-rc.7 和 0.1.1-rc.2 验证。

0.1.1-rc.2 未修复的一件事:在 overlay 中设置的 agent-presets.roots 会在启动时被替换为已发布的根,而 --dump-config 仍会打印你的值,因为覆盖是在它所打印的组合之后应用的。参见 deepseek-harness#403。dsh-overlay-check 会对此发出警告,而不是让 overlay 静默地声称拥有它。

许可证

MIT。参见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(taltara)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群