dsh-company:认单制多智能体「小公司」DSH 插件

前言

在 DeepSeek Harness(DSH)里做多智能体协作,常见做法是把产品、技术、开发、测试排成固定流水线:某一环卡住,后面全停。任务往往被硬塞给某个角色,而不是由角色自己判断该不该接。

dsh-company 是社区维护者 makooslee 发布的工作流类插件(GitHub 仓库 makooslee/dsh-company,目录页 skillhub.cn)。它在 Harness 里搭一家「只有一位 CEO 的小公司」:每个员工是独立智能体会话,有自己的身份、模型和技能;CEO 派活后,员工用认单制决定是否接单,而不是被流水线强行串联。

这是什么

插件英文名对应仓库 dsh-company,当前 package 版本为 0.5.0,许可证 MIT。简介原文为:A tiny company of employee agents for DeepSeek Harness — each has its own identity, model and skills, and they bid for work instead of being piped through it.

你是 CEO;班底里每个人都是真实 agent 会话。派单后他们先回答接不接,接单者并行执行,拒单者需说明该谁接;全过程汇成一条团队时间线,更像群聊开会,而不是单线流水线。

它解决什么问题

认单制流程在 README 里概括为三步:

  1. 派单:任务广播给被勾选的员工,每人拿到同一份任务和团队成员名册。
  2. 认单:第一行只能写 【接单】 或 【不接】,第二行起写理由;不接的人必须指出该谁接。
  3. 执行:只有接单的人进入第二轮,并知道同期还有谁在干,避免重复劳动。

若全员不接,任务会标为「没人接单」,理由留在时间线上,而不是强行指派。

核心功能

以下均来自仓库 README 与 package.json,按能力分组说明。

角色与员工

  • 七个内置角色:项目总监、产品经理、技术总监、工程师、数据分析师、测试工程师、审核员;人设、技能、职位可改,也可「招聘」新员工。
  • 每个员工独立 session 与上下文,模型下拉来自 Harness 模型目录,可按人单独指定。
  • 技能白名单:通过 agentCtx.tools.restrict({ allow }) 限制该员工 agent scope 内可用工具。

任务与协作

  • 团队时间线:认单、拒单、交付按时间汇成可读流。
  • 员工对话详情:在员工管理中点开某人,可查看该员工会话的完整对话(含工具调用)。
  • 任务可删除:任务卡删除按钮会中止进行中的任务;agent-team 面板中的镜像任务同步折叠。
  • 与 Harness 自带 agent-team 面板联动:员工与任务镜像为官方 team/member 与 team/task 事件,写在派单所在会话,不串到其他会话。

入口与命令

  • 管理页面派单,或在对话中让 CEO 助手调用 company_dispatch 工具(同一套实现)。
  • 斜杠命令(v0.4 起):/dsh-company 标题 | 说明 | 员工A,员工B;省略第三段则通知全员;只输入 /dsh-company 可查看公司现状。

工作流编排(v0.5 起)

  • 「工作流」标签下 n8n 式画布:一个工作流有且只有一个「开始」节点,后接多个「员工」节点;指令里可用 {{input}} 占位接收上游输出。
  • 同层节点并行;同一员工在一条管线内自动串行排队;上游失败时下游标记为「已跳过」。
  • 与普通「下发任务」的认单制互补:管线是确定性编排,派单是员工自主认单。

记忆与存储

  • 每名员工在 DSH home 下有独立目录,接单理由与交付结论自动归档,并注入该员工 system prompt;员工详情页可手动「记一笔」。
  • 员工、任务、工作流存于 storage 服务的 json 后端(unit dsh_company);不可用时退化为内存,重启后不保留。

安装与启用

环境要求:DeepSeek Harness(含 plugin_manager 工具)与 Node ≥ 20。

README 给出的获取与安装步骤如下。先取得插件目录(仓库示例为 clone 到本地 dsh-company),再让 Harness 内的 agent 执行 plugin_manager 的 install_bundle,target 指向该目录的绝对路径:

{ "action": "install_bundle", "target": "/absolute/path/to/dsh-company" }

等价自然语言指令示例:

用 plugin_manager 的 install_bundle,target 指向 <绝对路径>/dsh-company

装完后刷新页面,左侧栏应出现组织结构图图标,点开即公司面板。若侧栏无图标,可重启一次 DSH Desktop。

换版本须先 remove_bundle 再 install_bundle;同一包名重复安装会被拒绝。

DSH 社区插件目录站点(如 skillhub.cn)与 DeepSeek / 幻方无官方从属关系;安装前请自行审阅源码与 MIT 许可证。插件以当前 DSH 进程权限运行,员工会话的默认工作目录等也会受 Harness 环境影响。

配置

在 profile 的 cordis.patch.yml 中覆盖该插件行的 config:

- id: dsh-company
  config:
    companyName: 我的公司        # 面板标题与人设里出现的公司名
    cwd: /path/to/workspace      # 员工会话的默认工作目录,留空用 Harness 默认
    bidTimeoutMs: 360000         # 单次认单超时(默认 6 分钟)
    workTimeoutMs: 1800000       # 单次执行超时(默认 30 分钟)

记忆目录默认位于 <DSH home>/dsh-company/employees/<employeeId>/(DSH home 来自 Harness 的 dshHomePath 服务,默认 ~/.dsh),典型结构:

<DSH home>/dsh-company/employees/<employeeId>/
├── memory.md
└── memory/<id>.json

典型用法

员工管理:七个角色默认就位;点卡片看对话,点「编辑」改姓名、职位、人设、模型、技能;点「招聘员工」增员。

任务板:填写标题与说明 → 勾选要通知的员工 → 「下发任务」。状态包括 认单中、执行中、已完成、没人接单、已取消。

对话派单:例如说明「把这事派给技术总监和工程师」,模型可调用 company_dispatch。

斜杠命令派单:

/dsh-company 上线新版结算页 | 需要方案和实现 | 工程师,数据分析师

工作流:在画布上连接「开始」与「员工」节点,指定负责人与指令,运行后可在节点卡片上查看实时与最终产出。

适用场景与注意

适合希望在 DSH 里做「多角色、可并行、可拒单」协作的场景:需求拆解、方案与实现分工、数据分析与测试并行等。若你只需要严格固定的步骤链,可优先用工作流标签;若希望角色自行判断是否归属本岗,用任务板的认单制。

实现上,员工由 ctx.agents.create() 创建,派活走 agent.followup(userMessage),会话日志为唯一真相源。卸载插件时会在 ctx.effect 清理中释放 agent 与存储句柄。

不要假设官方流水线式 multi-agent 框架与本插件行为一致;认单制与画布编排是两套互补机制,混用时先想清楚某次任务是「广播认单」还是「画好的管线」。

结尾

dsh-company 把 Harness 里的多智能体协作从「硬流水线」改成「CEO 派单 + 员工认单 + 并行执行」,并补上 agent-team 镜像、斜杠命令、工作流画布与 per-employee 记忆。若你要试用或改配置,可从目录页与 GitHub 仓库对照 README 逐步操作:

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

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

小夜