前言¶
在 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)