DSH Staff:把 Agent Teams 变成有编制的员工团队

前言

DeepSeek Harness(DSH)的 Agent Teams 适合临时项目协作,但每次切换会话就是一支新团队:成员散失、岗位要重新交代、任务靠口头传达、员工之间互不了解。要把它变成一个持续运行、可管理、可验收的团队,需要一套持久化的名册、任务账本和群聊机制。DSH Staff 就是为了解决这个问题。

它是什么

DSH Staff 是一个工作流类插件,维护者 Coolwyd。它把 DSH 的 Agent Teams 从「临时项目组」变成「有编制的员工」:员工有名字、岗位、职责边界、固定工位、任务账本,能拉群对话、互相质询,输入框上方还有一条常驻状态带。

安装与启用

通过官方安装命令添加:

dsh plugin add github:Coolwyd/dsh-staff

安装后插件会自动注入到 DSH 的对话输入框上方,显示员工状态带,并挂载「员工」入口按钮与全屏员工中心。

核心功能

员工管理

  • staff_hire:招人/调岗。同名再调即更新,保留历史任务;member 绑定工位;template 可选岗位模板。
  • staff_rebuild:生成员工交接单:还原成 spawn_teammate 参数,用于新会话重建。
  • staff_list:花名册,含各状态任务计数。
  • staff_show:单人档案 + 全部任务明细。
  • staff_fire:离职(软删除,档案与历史保留)。

任务派发

  • staff_assign:派一条任务,支持 priority(high/normal/low)与 due。
  • staff_task_update:状态流转:todo / doing / done / blocked。
  • staff_dispatch:批量把待办投给员工并唤醒,支持 dryRun 预览。
  • staff_autopilot:自动驾驶开关:每分钟检查待办并唤醒一名员工,默认关闭,带每日上限。
  • staff_dashboard:全景看板:员工、待办分布、逾期与高优、群、阻塞项。

群聊

  • group_create:建群,2–8 名在册员工。
  • group_update:群改名、增删成员(数量仍限 2–8)。
  • group_send:群发言,点名或全员;投递时附带最近 6 条群历史。
  • group_read:读群消息流。
  • group_list:群列表。
  • group_delete:解散群(confirm 必须显式传 true,防误删)。

维护

  • staff_export:导出 JSON 备份(可回灌)或 Markdown 报告。
  • staff_doctor:数据自检(三级输出):problems 必须修(存储损坏、孤儿任务、序号重复倒序)、warnings 可继续使用(备份恢复、离职成员、序号断档)、infos 现场信息。

岗位模板

提供 6 种岗位模板:secretary(首席执行秘书)、researcher(研究助理)、engineer(工程师)、tester(测试负责人)、product(产品经理)、ops(运维/SRE)。传 template 可省略 post 与 duty;显式传入时优先于模板。

DSH 内界面

三处挂载,全部是 DSH 界面的一部分,不引入独立站点:

  • 侧栏底部:「员工」入口按钮,任何时候都能打开。
  • 输入框上方:状态带 员工 N · 待办 M · 群 K ▸,点击打开。
  • 全屏面板:员工中心:左侧通讯录按「群聊 → 在线员工 → 待重建工位 → 未绑定工位」分组,右侧员工详情与群列表;ESC 关闭。

样式全部使用 DSH 主题 token(--dsw-alias-*),明暗主题自适应。数据 15 秒轮询一次。

工位有三态,界面用状态点颜色区分:

状态 判定 界面 处置
online teammate 在任一在线会话里 绿点·在线待命 直接投递
missing 名册绑了名,但所有会话都找不到它(会话结束 teammate 就消失) 橙点·工位缺失 发消息 / 点 ↑ 自动重建,或档案页「重建工位并上线」
unbound 没有绑定 teammate 灰点·未绑定工位 先 staff_hire(member=...) 绑定

数据位置

  • ~/.dsh/staff/roster.json:员工档案与任务账本。
  • ~/.dsh/staff/groups.json:群与消息流。
  • ~/.dsh/staff/exports/:staff_export 导出的备份与报告。

写操作进程内串行化,并发调用不会互相覆盖。

典型用法

建一个员工并派发任务:

1. staff_hire member=alice template=researcher
2. staff_assign task=调研 Q1 市场趋势 priority=high due=2026-11-01
3. staff_dispatch dryRun=true
4. staff_dispatch

员工在会话中完成并汇报:

5. staff_task_update status=done
6. send_message "调研完成,结果见附件"

查看全景:

7. staff_dashboard

建群讨论:

1. group_create members=alice,bob charlie
2. group_send "今天下午三点开会讨论 Q1"
3. group_send "请 alice 先做 PPT"
4. group_read

架构边界

  • 真·常驻员工(跨会话在职):插件层做不到。员工工位是某 Lead 会话的子会话,换会话即失效。做成 root 级员工需改会话模型。
  • 后台无人值守自动干活:做了但默认关闭,staff_autopilot 每分钟最多唤醒 1 人,有每日上限,内存态重启即停。自动唤醒 = 自动计费,必须人显式开启。
  • 侧栏完整 UI 面板:只做轻量状态带。完整面板需 Typert Remote + client 模块,且认证态下无法在本地验证渲染。

已知限制

  • 员工身份绑会话:teammate 只在当前会话的 Team 里活着;名册持久,工位不持久,用 staff_rebuild 过渡。
  • 群历史是快照:投递时附带最近 6 条,不是实时订阅。
  • 群发即计费:每次群发真实唤醒每个成员,2 人 = 2 次模型运行。
  • UI 渲染未验证:组件已挂载到 conversation.input.dock,但本环境无浏览器认证态,需人工刷新确认。
  • 自动驾驶需人开:默认关闭,内存态,重启失效。

适用场景与注意

适合需要把 Agent Teams 变成持续运行、可管理、可验收的团队,并希望用命令行与界面结合来管理员工、任务与群聊的场景。

注意:插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。数据保存在 ~/.dsh/staff/,导出备份与报告后可回灌。

短结尾

DSH Staff 通过持久化名册、任务账本、群聊与内嵌界面,把 Agent Teams 变成可管理、可对话、可验收的员工团队。更多细节与更新见:GitHub。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye