DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Coolwyd /

Coolwyd/dsh-staff

Verified

Persistent employee roster, task ledger, group chat and an in-UI staff center that turn DSH Agent Teams into a managed team.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@737dfa52

DSH Staff 员工制

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

它解决什么

痛点 未装之前 装上之后
成员会散 换会话就是另一支空团队 名册持久化,跨会话可查,staff_rebuild 出交接单
岗位靠临场说 每次 spawn 都要重新交代 6 种岗位模板,或写进档案复用
派活靠嘴 说完就忘 任务账本 + 优先级 + 截止 + 逾期提醒
员工互不来往 只能各干各的 群消息流,收到消息时能看到最近 6 条群历史
不知道谁在干什么 靠翻会话 输入框上方状态带 + staff_dashboard 看板

工具(19 个)

人事

工具 作用
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 现场信息

岗位模板

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=...) 绑定

快照的 employees[] 除原有 online 布尔外,新增 station 与 stationSessionId(在线时指向工位所在会话)。完整状态机与流程见 docs/流程与状态机.md。

文末新增 案例库、度量指标与并行协作规约:三条真实缺陷的现象→根因→修法→证据、每次交付必报的五项指标、多人协作的写入边界。

数据来自两个只读 HTTP 路由:

路由 作用
GET /staff-api/snapshot 员工、未完成任务、群摘要、前端心跳状态
GET /staff-api/client-ping?from=react 前端组件挂载时上报,source 区分 react / manual

两个路由都只允许本机来源(127.0.0.1 / ::1),非本机返回 403——它们不参与 DSH 的认证链,必须靠来源地址兜底。

数据

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

均为原子写(临时文件 + rename),写操作进程内串行化,并发调用不会互相覆盖。

典型流程

1. staff_hire  招人(可只给 template),member 绑定工位
2. staff_assign 派活(可带 priority / due)
3. staff_dispatch 一键投递唤醒(先 dryRun 看一眼)
4. 员工自己 staff_task_update 置 done,send_message 回报
5. staff_dashboard 看全景

建群讨论:

1. group_create 拉 2–8 人
2. group_send 抛议题(不点名 = 全员,mention = 定向)
3. 员工收到消息时能看到最近 6 条群历史,可直接 group_send 在群内发言
4. group_read 回看整条讨论

架构边界(为什么某些事没做)

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

已知限制

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

本地验证(给维护者)

验证脚本会把数据写进 $DSH_HOME/staff/。不要在真实名册上直接跑——曾经因此把一名员工的职责覆盖成四个字。用隔离目录:

DSH_HOME=/tmp/dsh-staff-test node .verify.mjs

版本

版本 变更
0.1.0 名册 + 任务账本,6 个工具
0.2.0 群聊 + 工位绑定 + 群历史可见,10 个工具
0.3.0 写串行化、批量派发、全景看板,12 个工具
0.4.0 岗位模板(6 种)、员工交接单,13 个工具
1.0.0 群成员管理、任务优先级与截止、导出备份、数据自检,16 个工具
2.0.0 DSH 内员工中心(侧栏入口 + 全屏面板)、HTTP 快照与心跳、自动驾驶(默认关),18 个工具
2.1.0 群解散工具 group_delete;群人数上限与 Agent Teams 对齐为 8 人
—/ 5

No ratings yet

Verified DSH bundle

Commit 737dfa526459

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout