dsh-agent-contract:多智能体契约工作流引擎

前言

在 DeepSeek Harness(DSH)里用主代理往下派子代理,常见问题是约定全靠口头:交上来的文档格式不一、该交的三档文档只交了一档、谁在干什么、哪一步卡住,都要人反复问。主代理的上下文也会被长篇派活说明占满。dsh-agent-contract 把协作约定做成可检查的契约:派活时注入规矩、交作业时有固定格式与台账,审计只提醒不拦截,并在侧栏提供「契约」面板。插件不改你的代码、不替写内容,只做规矩传递与合规提示。

这是什么

一句话:让派出去干活的子代理按统一格式交作业、进度可查、干完可复核、文档有人维护。

项 说明
插件 ID t2094308-star/dsh-agent-contract
维护者 t2094308-star
分类 工作流
当前版本 0.35.0(见仓库 package.json)
目录页 https://www.skillhub.cn/plugins/t2094308-star/dsh-agent-contract
源码 https://github.com/t2094308-star/dsh-agent-contract

DSH 生态是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本文安装与用法以仓库 README 为准。

核心功能

契约注入与按角色委派

主代理通过各角色的 contract_delegate_<角色> 派活时,插件现场装配完整提示词交给子代理,主代理只收到短回执(已派出谁、契约字数、模型与警告)。装配顺序固定为五段:总纲本体(槽位替换,永不裁剪)、角色卡、任务切面(任务路径与上级补充指令原文,不搬运任务文件正文)、文档切片(检索路径与读法,默认不给正文)、能力配置(工具白名单、模型路由、产出契约与禁止事项)。总软上限 6000 / 硬上限 9000 字,可在配置里改;续派同一会话内只发任务切片,不重复总纲与角色卡。

内置角色包括:研究员、实现者、审查者、对抗审查者、图书管理员。子代理可再往下派,层数不超过 4 层、总数不超过 20 个;审查者与对抗审查者为平行两道检查,对抗审查可用不同来源模型(面板「异源」徽章可区分)。

交作业三动作与文档头部

子代理通过固定动作交付:写产出文档(自动补任务号、角色、档级、关键词、相关文件等头部)、更新进度文件(一句话,超过 400 字会提醒)、记修复总结。建索引、核对引用等活可先用只读工具 doc_census 拿机读信息,避免无谓读全文。

台账与审计

插件记录谁在干什么、哪篇文档谁交的、任务是否结束。体检(审计)扫描项目:该交的没交、进度未更新、改了正文未更新关键词、文档目录错误等,出红黄清单,只提醒、不改文件、不拦截操作。绕过契约派活需先调 contract_request_escalation 说明理由;未提权绕过会在体检中报告 uncontracted_dispatch。

文档治理与图书管理员

固定角色「图书管理员」负责整理文档、补齐头部、归档旧档、维护「哪篇讲什么」的目录;写前留备份。配置项 audit.archiveAfterDays 可设定超过多少天的旧档建议归档(示例默认 90 天)。

面板

桌面应用右侧栏「契约」页包含:大方向待办(可读配置的待办文件并勾选)、agent 待办(执行队列)、项目级审计红/黄计数与清单、人员树(派生关系与状态)等。客户端依赖 dsh-better-sidebar 注入。

项目目录自适应

默认跟着当前工作区走:先按候选清单探测既有目录(如 任务/tasks、[Agent进度]、docs/{研究,坑,修改,核心数据库} 等),没有则在项目根下新建默认结构(只新建、不覆盖)。推导结果写在 <项目根>/.agent-contract/project.json。显式初始化入口为 project_init(默认可只预览)。

安装与启用

该插件为本地开发形态,通过 link 挂进 DSH 桌面应用,安装命令须按 README 逐步执行,不能省略依赖步骤。

# 第一步:先给插件目录装依赖(这步不能省)
cd "D:\DSH插件\dsh-agent-contract"
npm install --omit=dev --legacy-peer-deps   # 装依赖(插件运行需要的库)

# 第二步:链进应用
dsh plugin --profile desktop add link:D:\DSH插件\dsh-agent-contract

装完后在桌面应用里完整退出再打开(托盘图标 → Quit,不是关窗口)才会生效。

第一步若遗漏,应用可能提示「组件启用失败 … failed to import」。可用下列命令自检依赖是否齐全(路径按你的实际插件目录修改):

node --input-type=module -e "await import('file:///D:/DSH插件/dsh-agent-contract/index.js')"

报 schemastery 多为缺依赖;报 dsh-tools 属正常(由应用提供)。

运行时依赖包括 @deepseek-ai/schemastery、zod;peer 依赖 @deepseek-ai/dsh-tools(由 DSH 提供)。

典型用法

  1. 派活:对主代理说人话即可,例如「派一个研究员去查 X」。主代理应走契约委派工具,子代理启动即收到工作约定。
  2. 交作业:子代理写产出文档、更新进度、必要时写修复总结;面板上的文档/进度徽章会反映状态。
  3. 复核:改完代码后派审查者;需要第二视角时派对抗审查者(可在设置页配置对抗审查模型路由,示例中为 adversary: glm-5.3-flash)。
  4. 体检与整理:让主代理「跑一次审计」查看红黄清单;需要时派图书管理员整理一轮。
  5. 新仓库:新开文件夹为工作区即可;想预览将创建的目录结构,让主代理调用 project_init(默认只预览)。

需要锁死项目根或自定义路径时,编辑插件包内的 cordis.patch.yml(默认不配即可)。常见项:project.root、paths.*、roles、budgets、audit.checks、git.autoCommit(默认关,且不会 push)等,详见 README 配置表。

适用场景与注意

适合谁:在多子代理协作、强调文档档级与进度可追溯、希望主代理上下文不被几千字契约正文污染的团队或个人 DSH 用户。

权限与安全:插件以当前 DSH 进程权限读写工作区与账本;安装前应自行阅读源码与许可证(资料未单独列出许可证名称时以仓库为准),确认符合你的安全策略。

不做的事:不修改业务代码、不拦截工具调用;合规问题仅提醒。契约工具报错时 README 说明会给出原因与替代路径(重试、初始化、版本漂移重启、提权后绕过等)。

结尾

dsh-agent-contract 把多智能体协作里的口头约定变成派活时自动下发的契约、交作业时的固定格式与台账,以及可选的审计与图书管理员治理;你主要负责会话决策与看面板,规矩与账目由插件横向服务层承担。

  • 目录页:https://www.skillhub.cn/plugins/t2094308-star/dsh-agent-contract
  • GitHub:https://github.com/t2094308-star/dsh-agent-contract
羽毛球分组比赛记分
小程序二维码

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

小夜