前言¶
在 DSH(DeepSeek Harness)里,host 层往往同时挂着 subagent 与 Agent Team 那套 spawn_teammate / team_task_*。会话里只靠「口头约定」选一种用法,模型两套工具都能摸到,容易出现一次性点工和长期工位混账——上下文、任务板和交接会乱。
yuna78/dsh-slayer(npm 包名 dsh-plugin-slayer)做的是工作流侧的「赛博包工头」:在模式选择器里提供两种 preset,并在调用时用 guard 拒绝越界工具,同时给出中文理由,而不是静默失败。下面介绍它解决什么问题、怎么装、两种形态差在哪,以及项目侧的 SLAYER.md 手册怎么用。
这是什么¶
- 维护者:yuna78(package.json 作者字段为 Yuna)
- 分类:工作流(社区目录 skillhub.cn)
- 版本与许可:v0.1.0 · MIT
- DSH 要求:
>=0.2.1-rc.2 <0.3.0;Node^22.19 || >=24
插件在 web profile 里增加两种会话模式:「SLAYER · 终身奴」与「SLAYER · 日结奴」。装好后,新开会话可在模式选择器里选其一;进入会话后 persona 会先有一段固定风格的表忠心开场,再开始按模式派活。若当前目录被识别为项目(存在 .git、AGENTS.md、CLAUDE.md 或 package.json),项目根还会出现 SLAYER.md、SLAYER-FEEDBACK.md 与 .slayer/。
名字 SLAYER 不是缩写:README 说明原意接近 slaver,为仓库可读性改了一个字母;产品层是角色扮演用的包工头话术,被压榨的对象是模型里的工位,不是真人。
核心功能:两种 preset 与硬隔离¶
一张表对照两种形态¶
| 终身奴 · The Lifers | 日结奴 · Day Rate | |
|---|---|---|
| preset id | slayer-lifers |
slayer-dayrate |
| 编制 | 1 包工头 + 8 固定工位(满编 9;代码 maxTeammates: 8) |
1 包工头 + 一次最多 3 个点工(上限写在手册与 persona,非代码硬顶) |
| 委派工具 | Team:spawn_teammate / team_task_* / wait_agent |
一次性:subagent / subagent_fork / workflow |
| 越界时 | 不能调 subagent 等一次性点工 |
不能调 spawn_teammate、team_task_*、wait_agent |
| 工人身份 | 8 个固定 target(如 planner、impl-core、reviewer 等 ASCII 名) |
干完即散,不建名册 |
终身奴 8 席在 spawn_teammate 调用时数人头拦截;guard 拒绝时会返回人话,例如「终身奴不派一次性点工」「日结奴不建名册」「本队 8 个工位已满」等。
三层怎么落¶
README 归纳了三层:cordis.patch.yml 负责装配(含 Team maxMembers: 9 等)与 preset 里装哪套工具目录;host 层仍可能同时可见多种工具;真正边界在 mode.js 的调用层 guard。preset 作用域里挂 Team 工具曾试过但不会注册,因此退回「host 层保留工具 + 调用时拦截」。
工地手册与 feedback 迭代¶
SLAYER.md 分六节:交底、纪律、席位、流水线、金句、迭代日志。负责人原话写入 SLAYER-FEEDBACK.md 后,可用 slayer-sync 做 headless 消化(备份、sha1 去重、只追加),可选 slayer-schedule 在 macOS 上定时跑 sync;Linux 需自行用 cron 调 slayer-sync --commit。
汇报格式在 persona 里固定为四段(过去一小时 / 卡住待领主 / 发现与记录 / 提效决定)。事实不许为讨好而编造,是 README「人格声明」里写明的约束。
安装与启用¶
需要本机已有 dsh 与 pnpm(dsh plugin 内部用 pnpm 装包,缺少会报 pnpm was not found)。
# 1. 装进 web profile
dsh plugin --profile web add dsh-plugin-slayer
# npm 尚未发布时,README 给出的等价方式:
# dsh plugin --profile web add github:yuna78/dsh-slayer
# 2. 重启 DSH
# 3. 新开会话,在模式选择器选「SLAYER · 终身奴」或「SLAYER · 日结奴」
验证是否加载成功:
dsh --profile web --dump-config | grep -E "slayer-guard|preset-slayer"
期望出现 preset-slayer-lifers、preset-slayer-dayrate,以及两条 slayer-guard(mode 分别为 lifers / dayrate)。
终身奴的前置:实验性 Team 组合包¶
subagent / subagent_fork / workflow 由 @deepseek-ai/dsh-base 提供,日结奴开箱即用。
spawn_teammate / team_task_* 来自 @deepseek-ai/dsh-experimental-agent-team-profile,须出现在当前 profile 的 package.json → dsh.profile.bundles 里,例如:
// ~/.dsh/profiles/web/package.json
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@deepseek-ai/dsh-experimental-agent-team-profile",
"dsh-plugin-slayer"
]
}
}
未挂载时 boot 可能出现 patch: entry "agent-team" not found 类警告;preset 仍会出现,但终身奴没有 spawn_teammate。本插件不会自动改 profile 的 bundles。
卸载:
dsh plugin --profile web remove dsh-plugin-slayer
然后重启 DSH;已打开会话不受影响(preset 首轮后锁定)。
典型用法¶
选手模式开干¶
- 安装并重启 DSH。
- 新会话选终身奴或日结奴。
- 在项目根维护
SLAYER.md交底与纪律;用SLAYER-FEEDBACK.md记负责人原话。
初始化项目骨架¶
node bin/slayer-init.mjs --project .
幂等,不覆盖已有文件;--force 才覆盖。若通过 dsh plugin add 安装,命令在插件包内,不在 PATH,可用:
npx --package dsh-plugin-slayer slayer-init --project .
消化 feedback¶
node bin/slayer-sync.mjs --project . --dry-run
node bin/slayer-sync.mjs --project . --commit
macOS 定时(仅 LaunchAgent 实现):
node bin/slayer-schedule.mjs --project . --time 03:30
node bin/slayer-schedule.mjs --project . --remove
适用场景与注意¶
适合:一条能并行拆开的活;愿意先对齐 SLAYER.md 交底;能接受 persona 里的工地黑色幽默口吻。
不适合:期望一键全自动、不想维护手册、或无法接受开场表忠心话术的用户——README 说明可随时卸载,不绑定项目。
局限(README 已知项):
- guard 是调用时拦截并给理由,不是从目录里「藏工具」;真隐藏需改 DSH 本体。
- 终身奴依赖 profile 已挂实验性 Team 组合包。
- 日结奴 3 人上限靠纪律,非代码硬顶。
slayer-schedule仅 macOS;人数顶是进程级,多开 DSH 各自计数。- DSH 升级导致 preset plugins 对不齐时,需同步
cordis.patch.yml。
安全与信任:插件以当前 DSH 进程权限运行,会读写项目根下的 SLAYER.md、.slayer/ 等;安装前可在 GitHub 仓库 查看源码与 MIT 许可证。DeepSeek Harness 社区插件目录(skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-plugin-slayer 的价值不在「多开几个 agent」,而在两套委派记账方式的分工:长期 8 席 Team 与最多 3 人的一次性 subagent/workflow,由 preset 加 mode.js guard 在调用层隔开,并配合 SLAYER.md 把项目交底从对话里抽成可加载的文件。
- 目录页:https://www.skillhub.cn/plugins/yuna78/dsh-slayer
- 源码与完整文档:https://github.com/yuna78/dsh-slayer(含
docs/install.md、docs/manual.md、README.en.md)