dsh-beta-battle-mode:指挥官调度与零模型压缩的多智能体预设

前言

在 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜