前言¶
在 DeepSeek Harness(DSH)裏做長會話開發,常見兩類問題:上下文漲到幾十萬 token 後,壓縮往往要再讓模型通讀整段對話做摘要——越大會越貴、越容易失敗,有時卡在「不壓縮無法繼續、壓縮又裝不下」;多智能體協作時,若指揮與執行邊界不清,還會出現指揮官自己改代碼、下游默認上游已做對等情況。
下面介紹社區插件 dsh-beta-battle-mode(維護者 godthrone,分類:工作流)。它是給 DSH 用的多智能體預設:指揮權集中、執行權下放,並把會話狀態落到項目 Markdown 工作日誌上,壓縮時讀日誌重建上下文,而不是發起額外的摘要模型調用。
這是什麼¶
dsh-beta-battle-mode 是 BETA 作戰模式插件,一句話定位是:指揮官-led 的智能體集羣(指揮官、執行者、審查者),上下文通過項目工作日誌 compaction 重建,避免昂貴的 summarization 調用。
名字借自《Muv-Luv Alternative》裏由 Hive 統一控制的 BETA 集羣結構——這裏強調的是指揮權集中、執行權下放,核心不是「多派幾個 agent」,而是針對上下文爆炸和指揮官下場幹活兩件事做了約束設計。
- 目錄頁:https://www.skillhub.cn/plugins/godthrone/dsh-beta-battle-mode
- 源碼與說明:https://github.com/godthrone/dsh-beta-battle-mode
- 當前 package 版本:0.1.0(MIT)
DSH 生態採用「一切皆插件」的思路;SkillHub 等社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
它解決什麼問題¶
普通長會話把狀態堆在對話裏,壓縮依賴模型再讀一遍再摘要。BETA 換思路:狀態放在項目的 Markdown 文件裏,壓縮時直接讀這些文件當新的上下文,不調用模型。
工作日誌相關路徑(相對項目):
.local/work_log_current.md 當前狀態(每次會話必讀)
.local/work_log_history.md 已歸檔的事件
.local/work_log_digest.md 歷史要點(壓縮前自動生成)
壓縮時的上下文構成(概念上):
context = 系統提示詞 + 工具 + [current 全文 + 歷史要點 + 最近一輪對話] + 新一輪
↑ 一條 checkpoint 消息
結果是:壓縮不發起任何模型請求,耗時與模型無關,也不會因爲「摘要請求裝不下」而失敗;壓縮後的上下文由工作日誌和最近一輪對話重建。壓縮質量取決於工作日誌寫得是否清楚——這是設計取捨。
三個角色與流水線¶
| 角色 | 職責 |
|---|---|
| 指揮官(Commander) | 執行 OODA 循環、設計工作包、派活、驗收。不自己動手改代碼 |
| 執行者(Executor) | 端到端完成一個工作包,交付前自查 |
| 審查者(Reviewer / 總參謀長) | 對照用戶原始訴求做全局複覈,是最後防線 |
採用串行流水線(執行 → 全局審查 → 修正循環),替代樹形指揮,減少「下游都以爲上游做對了」的風險。
核心組成部分¶
| 文件 | 作用 |
|---|---|
cordis.patch.yml |
預設定義:persona(387 行)+ 29 條插件聲明(官方插件爲主) |
lib/compaction-badge.js |
壓縮引擎:讀工作日誌當 checkpoint,零模型調用 |
lib/goal-round-reminder.js |
goal 續輪時追加指揮官提醒 |
壓縮流程概要:
指揮官一輪結束(空閒)
→ 到閾值?→ 發一輪"更新工作日誌 + 寫歷史要點"
→ 那一輪結束 → 讀三個文件壓縮
全程不在輪次中間打斷,也不會和下級通知搶時間。
package.json 中聲明 engines.dsh 爲 >=0.2.0(只有下界、沒有上界)。插件運行時從當前 DSH 安裝加載 @deepseek-ai/* 依賴,而非插件自己的 node_modules:DSH 升級後插件會跟着用新版本;若 API 不兼容,啓動時會報明確錯誤,而不是靜默半殘。
安裝與啓用¶
安裝命令以 README 爲準:
# 從 npm(發佈後)
dsh plugin --profile web add dsh-beta-battle-mode
# 或直接從 GitHub
dsh plugin --profile web add github:godthrone/dsh-beta-battle-mode
裝完不會改變默認模式。新建會話時在模式選擇裏選「BETA作戰模式」即可。
定製與適配¶
DSH 層疊順序是 bundle 層 → 你的 profile patch 層。不要直接改包內文件,升級會丟失。應在 ~/.dsh/profiles/<你的profile>/cordis.patch.yml 裏覆蓋,例如改指揮官人格:
# 例:改指揮官人格
- insert:
- id: preset-beta-battle-mode
name: '@deepseek-ai/dsh-agent-preset'
config:
- id: persona
config:
text: |
……(你自己的指揮官提示詞)
若 DSH 版本、模型、工具鏈與參考實現不一致,README 建議:開創造模式會話,讀 node_modules/dsh-beta-battle-mode/cordis.patch.yml,按環境改一遍並寫入 profile 層——官方插件主要是引用加少量配置覆蓋,適配由用戶側完成。
已知邊界與適用注意¶
- 沒有 plan 模式(指揮官做決策不需要審批門)。
- 沒有
ask_user_question/ 圖表渲染(刻意保持窄口徑)。 - 不依賴任何特定技能:persona 自帶一組最小工程原則;若有自己的開發規範技能或
CONTRIBUTING.md,會優先讀並遵守。
插件以當前 dsh 進程的權限運行。安裝前應自行查看 GitHub 源碼與 MIT 許可證,確認符合你的安全與合規要求。
語義化版本說明(插件自身版本,不追 DSH 版本號):0.1.x 爲參考實現(checkpoint 結構可能調整);0.2.x 表示行爲變更(例如壓縮觸發時機)。
結尾¶
dsh-beta-battle-mode 把多智能體協作收成「指揮官調度 + 執行/審查流水線」,並用項目工作日誌做無模型調用的上下文 compaction,適合在 DSH 裏做長週期、多步驟工程任務且希望控制壓縮成本與失敗模式的開發者。
- 目錄:https://www.skillhub.cn/plugins/godthrone/dsh-beta-battle-mode
- GitHub:https://github.com/godthrone/dsh-beta-battle-mode