dsh-member-manager: Enabling Departments, Employee IDs, and Work Order Assignment on DSH

前言

DeepSeek Harness(DSH)里成员 id 通常不可改、不可删,名册信息又往往散落在对话与本地文件之间。若要在多 Agent 协作里做「谁接单、谁汇报、成本算在谁头上」,单靠对话记忆很难稳定复现。社区插件 dsh-member-manager(维护者 SMPcosy,分类:工作流)在 DSH 名册约束之上加一层可持久化的覆盖层,并在此基础上提供部门编号、员工工号、M/P 双通道等级、工单闭环与任务图(DAG)并行派发,以及审计与 token 成本归因;运行时零额外 npm 依赖。目录页见 SkillHub,源码与说明见 GitHub。

这是什么

一句话:给 DSH 加「可运行的公司化组织」——名册负责显示名、岗位、职责、技能与模型覆盖;公司化运行时负责部门、派工、验收与并行任务图。

  • 数据落在 ~/.dsh/storages/member-manager/(名册与公司化格式文档说明可跨版本升级)。
  • 界面入口:DSH 设置 →「成员管理」面板。
  • 对话侧:member_* 共 16 个工具管名册;company_* 共 14 个工具管组织与工单。

与已停止维护的旧包 dsh-plugin-member-manager 同源升级:名册工具名与 registry.json 格式保持一致,并新增 company/ 下部门、员工、工单、审计与成本数据。新旧两包不要同时启用,否则会重复注册工具与路由。

核心功能

下面按 README 已列能力归纳,只写资料中明确出现的行为。

名册覆盖层

在 DSH 成员不可删改的前提下,维护本地 registry.json:显示名、岗位、职责、技能、模型覆盖等。公司员工与名册可双向关联;缺省情况下员工 id 即名册 target,需要别名时可写显式 rosterTarget。登记策略为「只补空字段、不覆盖已有内容」;refresh 才回填。

组织与员工

  • 部门:编号如 D01…(模板可自定义)、编制、接单范围、借调策略、职责描述;仅空部门可删。
  • 员工:工号如 E0001…、M/P 双通道等级可并存、岗位/职责/技能/模型覆盖、停用与调岗;v0.4 起还支持推理强度、spawn/fork 派生、子代理深度、工具黑白名单、会话策略等字段。
  • M/P 双通道:M 管理(默认 manager → M2)、P 技术(默认 staff → P3、window → P1);同一员工可同时拥有两通道等级,至少保留一个。

派工闭环与工作网

典型链路:company_order(或 company_plan 提交任务图)→ 路由与 company_assign 生成派工凭证 → 员工侧 company_accept / company_report → company_review 验收。

路由有五级回退:显式部门、规则表、部门接单范围、技能、兜底。attemptId 用于防串单;重派会先吊销旧 attempt;同一员工忙碌时会返回 E_EMPLOYEE_BUSY。面板「工作网」仅在手动打开时出现,上半部为五泳道看板(待派 / 已路由 / 执行中 / 已完成 / 异常),下半部为管理层 → 部门 → 员工拓扑。

并行派发(DAG)

company_plan 一次最多提交 50 个任务,任务间用 key 声明依赖;无依赖的同层可并行,下游在上游 done 后自动放行。内置空计划、过大、非法任务、重复 key、错误引用、环等校验错误码。company_status({ group }) 可按批次汇总 done / running / pending / failed。

成本与审计

token 与请求可按员工、部门、工单归因(只读接口 GET /company/costs);audit.jsonl 为 append-only,加载时可重放对账。

隔离与降级

员工会话继承宿主标准工具;company_* 走同步 guard。越权、缺宿主 Agent 服务、或关闭公司化开关时,会返回文档中的错误码,且不影响名册功能。

安装与启用

当前版本 v0.5.3,许可证 MIT,要求 Node ≥ 22.19,DSH 引擎约束为 >=0.2.1-rc.1 <0.3.0(见 package.json)。插件不支持热重载,安装或升级后需重启 DSH。

官方 npm 安装命令如下:

dsh plugin --profile desktop add dsh-member-manager@0.5.3

本地开发可用 link(将路径换成本仓库绝对路径):

dsh plugin --profile desktop add link:"<本仓库绝对路径>"

从旧包 dsh-plugin-member-manager 升级时,仓库提供 scripts/migrate-old-plugin.mjs(先 dry-run,再 --apply 备份并改写 profile 登记),完成后重启 DSH 消费迁移标记。卸载可用 dsh plugin --profile desktop remove dsh-member-manager;数据仍保留在 ~/.dsh/storages/member-manager/,可手动删除。

安全说明:插件以当前 DSH 进程权限读写本地存储与调用 Agent 能力。安装前应自行查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。

典型用法

README 建议新手先读仓库内 docs/28-新手使用教程.md。面板侧快速路径如下:

  1. 重启 DSH 后,打开 设置 →「成员管理」→「总架构」。
  2. 「新建部门」→ 用一句话描述(如「新建市场部,编制 5 人」)→「创建预览」→「创建」。
  3. 在对话中派活:company_order 或 company_plan → company_assign → 对应员工 company_accept / company_report → company_review。

对话里也可直接用 member_list / member_add 管名册,或用 company_hire / company_admin 建组织。需要把 DSH 核心成员同步进名册时,可在面板点「同步核心成员」,或调用 member_sync(HTTP 路由拿不到 Agent 凭证,需通过工具触发)。

常用配置默认值(节选,完整表见 README「配置项」):

字段 默认 说明
enabled / company.enabled true 插件与公司化总开关
dataDir ~/.dsh/storages/member-manager 数据目录
company.autoBoot true 非阻塞自动 boot
company.defaultOrderMode "async" 下单模式
company.requireManagerReview true 是否需要经理验收

适用场景与注意

适合谁:已经在用 DSH 多成员 / 子 Agent,希望把「编制、等级、派单、验收、并行任务依赖、成本归因」落到本地可审计数据里,而不是每次在对话里口头约定。

需要注意:

  • 截图中的 demo/*.html 为独立 mock 演示;真实能力以 DSH 设置面板与对话工具为准。
  • 公司化关闭时,工作网会回退为任务视图,名册能力仍可用。
  • SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;星标与版本以仓库与 npm 发布为准。

结尾

dsh-member-manager 把 DSH 成员名册与公司化运行时叠在同一数据目录:名册管「叫什么、用什么模型」,公司化管「编在哪个部门、接哪张单、DAG 怎么并行、钱算在谁头上」。若你要在工作流分类里找可落地的组织派工插件,可从目录页与 README 的快速开始走通第一单。

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

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

Xiaoye