MIT 的 DSH skill:在隔离 worktree 里把有边界的编码任务交给无头 CLI 执行器,并回传结构化结果、真实 diff 与越界检查。
DSH 适配
原生运行时
作者声明
安全审计
未审计
最后核验
2026-11-12
许可证
MIT
01它能帮你完成什么?
把边界清晰的编码 / 重构 / 写测试子任务交给更便宜的无头 CLI 执行器,自己只负责规划和审阅
一份结构化 `result.json`:执行器摘要、真实 `git diff` 补丁、改动文件、测试结果、越界写入的 `violations`,以及 `needs_human` 标记
想让执行器 CLI 承担量活、但 diff 复核、验收命令和合入仍留在宿主侧的 DSH 用户
在隔离 worktree 里跑委派任务,并基于真实 diff 而不是执行器的自述来评审
一个独立的 `wb-exec/<id8>` worktree,不提交、不推送、不自动合并,`change.patch` 与 `changed_files_git` 取自真实 `git diff`
需要人工审阅后才让改动落地的团队
02如何接入 DeepSeek Harness?
前置条件
- Python 3.10+,只用标准库,README 明确不需要 `pip install`
- 同一台机器上装好一个受支持的执行器 CLI:`workbuddy`(默认)、`codex`、`claude`、`aider`,或通过 `WB_CLI` / `WB_CLI_ARGV` 配的 `custom`
- Git 是可选项:没有 Git 时退化为原地执行,也拿不到 diff
- 用 `workbuddy` 后端时,需要账号或套餐允许使用 `deepseek-v4.1-flash`
安装步骤
- 01
用 `dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec` 安装插件包,或在 DSH Desktop 的 Plugins → Plugin Market 里安装
$ dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec
- 02
不装插件也可以:`git clone` 仓库后把 `skills/wb-exec` 复制到 Agent 的 skills 目录,加载器会在 `<skills-root>/wb-exec/SKILL.md` 找到它
$ git clone
- 03
运行 `python <SKILL_DIR>/scripts/wb_exec.py doctor` 检查 CLI、git、环境与状态目录
验证接入成功
- `doctor` 返回 JSON 且 `ok=true`,并给出解析到的 `cli`;当 `ok=false` 或 `cli_error` 非空时,README 要求停下并把原始输出交给用户
03DSH 适配与能力边界
DSH 插件包:由 `ctx.skills` provider 把 `skills/wb-exec/` 发布成宿主 Agent 可调用的 skill
路径白名单(`owned_paths`)
一个任务包 JSON:`goal`、`context`、`inputs`、`owned_paths`、`acceptance`、`notes`→白名单之外的改动会写进 `result.violations` 而不是被默默接受;空列表等价于只允许新增文件
空的 `owned_paths` 被执行为「只允许新增」,不是「不检查」结构化采集与 `needs_human` 路由
执行器的 stream-json 输出→一份机器可读的 `result.json`:`--json-schema` 约束的结果、git diff、越界检查,以及结构化的 `needs_human` 对象
`stdout.jsonl` 与 `stderr.log` 合计上限 64 MiB(可用 `WB_EXEC_LOG_CAP` 覆盖),超限会杀掉子进程并把任务标为失败递归防护与路径级派发锁
一次 dispatch 调用→一个 `job_id`,其 `owned_paths` 不与正在运行的任务重叠
子进程会拿到 `WB_SUBAGENT=1`,再派发会被拒绝并以退出码 3 结束;路径重叠的派发以退出码 4 和 `error: PATHS_LOCKED` 失败非阻塞的监督命令
`dispatch`、`run`、`status`、`collect`、`cancel`、`jobs`→立即返回的 `job_id`、可观察的心跳与超时,以及只读列出活跃占用与近期历史的 `jobs`
状态放在 `~/.wb-exec/`(可用 `WB_EXEC_HOME` 改),`jobs` 不会清理或释放任何占用
04适合谁?何时不该用?
适合
- 想让执行器 CLI 承担量活、但 diff 复核、验收命令和合入仍留在宿主侧的 DSH 用户
- 需要人工审阅后才让改动落地的团队
不适合
- worktree 与 `owned_paths` 是隔离而不是禁闭:无视边界的进程不会被它拦住。在 workbuddy 后端上子命令还带 `--permission-mode bypassPermissions`,真正起约束作用的是白名单加隔离。
- 默认 workbuddy 后端写死 DeepSeek V4.1 Flash、effort `max`,没有 `--model` 或 `--effort` 开关;账号拒绝该模型时任务直接失败,README 明确不要换模型重试。
- 在非 Git 目录里任务原地执行(`isolated=false`),拿不到 diff,`owned_paths` 成为唯一的防线。
- 路径重叠的任务会被拒绝而不是排队:`dispatch` 以退出码 4 和 `PATHS_LOCKED` 失败,README 要求用 `jobs` 查看并拆小任务,而不是去清锁文件。
- 合入由宿主负责:`tests` 里的 `pass` 不算独立验证,`git commit` / `git push` 只在用户明确要求时才执行。
05兼容性、维护与安全提示
- worktree 与 `owned_paths` 是隔离而不是禁闭:无视边界的进程不会被它拦住。在 workbuddy 后端上子命令还带 `--permission-mode bypassPermissions`,真正起约束作用的是白名单加隔离。
- 默认 workbuddy 后端写死 DeepSeek V4.1 Flash、effort `max`,没有 `--model` 或 `--effort` 开关;账号拒绝该模型时任务直接失败,README 明确不要换模型重试。
- 在非 Git 目录里任务原地执行(`isolated=false`),拿不到 diff,`owned_paths` 成为唯一的防线。
- 路径重叠的任务会被拒绝而不是排队:`dispatch` 以退出码 4 和 `PATHS_LOCKED` 失败,README 要求用 `jobs` 查看并拆小任务,而不是去清锁文件。
- 合入由宿主负责:`tests` 里的 `pass` 不算独立验证,`git commit` / `git push` 只在用户明确要求时才执行。
MIT 源码;本文所有事实均来自记录提交处的仓库 README,未做独立安全审计。
06常见问题
在 DeepSeek Harness 里怎么装 wb-exec?
用 `dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec` 装插件包,或在 DSH Desktop 的 Plugins → Plugin Market 里安装;装好后 `ctx.skills` provider 会把 `skills/wb-exec/` 发布成一个 skill。不装插件也可以 clone 仓库,把 `skills/wb-exec` 复制到 Agent 的 skills 目录。
需要哪个执行器 CLI?
`workbuddy`(写死的默认)、`codex`、`claude`、`aider`,或用 `WB_CLI` 加 `WB_CLI_ARGV` 模板配的 `custom`,任选其一,并且必须装在同一台机器上。缺了它插件照样能装,但 `doctor` 会报 `ok=false`,skill 直接停下。
wb-exec 会替执行器提交或合并改动吗?
不会。在 Git 仓库里任务跑在 `wb-exec/<id8>` 分支的独立 worktree 中,不提交、不推送、不自动合并。合入是宿主的活:`git apply --check` → `git apply` → 自己跑验收命令 → 汇报。
两个任务同时改同一批文件会怎样?
路径级派发锁会拒绝:`owned_paths` 与运行中任务重叠的第二次 dispatch 以退出码 4 和 `error: PATHS_LOCKED` 失败,并指出占用者;不重叠的路径仍可并行。`jobs` 只读列出当前占用。锁文件损坏时会被拒绝,而不是当成空锁处理。
被派发的执行器能再起一个 wb-exec 吗?
不能。子进程会带上 `WB_SUBAGENT=1`,脚本看到该变量就以退出码 3 拒绝派发。README 还提醒不要在 WorkBuddy / CodeBuddy 会话内部调用 `dispatch`,否则子进程会和该会话的 daemon 冲突并静默卡住。
07相关的 DSH 工作流
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
aitoearn
作者 yikart
面向抖音、快手、小红书和视频号的 AI 内容发布工作流,提供相关平台与 MCP 工具集成。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08数据与来源
`wb-exec` is a **DeepSeek Harness plugin (skill bundle)**: the host agent hands **coding / refactoring / test-writing**…
This repository is a **DSH plugin package** (`package.json` declares `dsh.bundle`). Once installed, a `ctx.skills` provi…
页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-12。发现错误?提交更正。
最佳 DeepSeek Harness 插件
从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。
