前言¶
在 DeepSeek Harness(DSH)里,一个会话通常对应一个助手、一套工具。做内容运营或多人分工时,常见做法是开多个窗口、靠口头约定谁登记素材、谁写稿、谁点发布——流程容易跳步,状态也散落在聊天记录里。
下面介绍的 dsh-team-employees(维护者 syc67169-source)把 Harness 从「一个助手」扩展成多员工协同团队:有工牌与花名册、有一条按阶段推进的内容流水线、有一道只有人能按的闸门,还有一个反映真实会话状态的办公室界面。插件分类为工作流,当前 npm 包版本 0.5.0,许可证 MIT。
这是什么¶
一句话:在 DSH 里注册五位员工 preset(情报、选题、成稿、数据、审核),用 JSON 花名册和纯文本账本协作,内容从素材登记走到发布确认与回采,中间强制人工裁决;侧边栏提供「办公室」总览各部门工位状态。
与「再包一层聊天 UI」不同,插件在 README 里强调三条设计取舍:人工工具闸门(ctx.tools.guard() 拦截员工调用 content_gate)、能用代码做的不外包给模型(例如 content_render 只登记参数)、状态诚实(「上钟中」以该员工会话是否真的开着 turn 为准,读不到的账本数据不编造)。
核心功能¶
员工与花名册¶
五位 agent preset(模式)及工位如下(模型由会话选择器决定,花名册里的 model 仅备注,不负责路由):
| 工位 | 模式 id | 职责 | 工具集 |
|---|---|---|---|
| 情报员工·阿研 | scout |
找素材、核授权、登记 | 检索 + 文件 + 内容工具 |
| 选题员工·阿筛 | select |
打分、排序、给先验 | 文件 + 内容工具 |
| 成稿员工·阿写 | write |
脚本与标题 | 文件 + 内容工具 |
| 数据员工·阿析 | measure |
回采、对账、重算权重 | 文件 + shell + 内容工具 |
| 审核员工·阿审 | reviewer |
代码审核(与内容线无关) | 文件 + shell |
花名册文件:$DSH_HOME/team/employees.json。在客户端 设置 → 员工 可增删改;缺工牌时会给出可复制的配置片段。
团队通用工具:team_roster(看花名册)、team_log(写工作记录)、team_inbox(读协作进度)。内容流水线工具包括 content_new、content_score、content_script、content_render、content_queue、content_gate(仅人)、content_publish、metrics_pull、weights、cost_report 等,字段与状态机细节见仓库内 docs/内容流水线编排设计.md。
内容流水线¶
阶段顺序固定,不能跳步:
素材登记 → 打分 → 写稿 → 制作计划 → 人工裁决 → 发布包 → 真实发布确认 → 回采 → 重算权重。
content_publish 只准备本地发布包,不接触平台接口;条目在办公室完成署名审核、填写真实发布链接/记录并确认后,才进入 published。具有本机文件/终端权限的员工仍可能直接改数据,闸门防的是「员工自我放行」,不是系统级权限隔离。
办公室界面¶
侧边栏有「办公室」入口,整页展示六个部门工位:上钟中、待命、空岗、等你。状态来自真实会话,不是装饰动画。办公室提供人工审核入口。
长期研究职责(0.5.0)¶
本地独立后台可定时检查公开网页,用 Harness headless 模型生成简报,保留上次记忆并提示变化;关闭桌面应用后仍可继续运行(电脑关机或休眠时无法继续)。进入 办公室 → 长期研究员工 → 新建长期职责,填写目标与 1–5 个无需登录的公开网址,设置间隔与每日模型唤醒上限;保存后默认暂停。先点 立即执行一次 建第一份简报,再 启用定期检查 才会持续运行。本地第一版一次只运行一个职责;支持文本、HTML、JSON、RSS/Atom,暂不支持需登录或浏览器渲染的页面。详情见仓库 docs/always-on-research.md。
数据目录¶
团队数据均在 $DSH_HOME/team/,纯文本,可直接查看、修改或纳入版本控制:
$DSH_HOME/team/
├── employees.json 花名册
├── journal.jsonl 团队工作日志
├── content/
│ ├── index.jsonl
│ └── <id>/ item.json / events.jsonl / script.md / render.json / publish.json
└── metrics/
├── <id>.json
└── weights.json
安装与启用¶
需要 Node 20+ 和可运行的 DeepSeek Harness。插件针对 DSH 0.2.0-rc.2 运行时编写,宿主接口变动时需同步升级并重跑自检。
方式一:本地目录链接(改代码最方便)
git clone https://github.com/syc67169-source/dsh-team-employees.git
cd dsh-team-employees
node bin/link-into-profile.mjs --dry-run # 先看要改什么,不写盘
node bin/link-into-profile.mjs # 装进 desktop profile
脚本会给 ~/.dsh/profiles/<profile>/package.json 增加 link: 依赖、把插件名追加进 dsh.profile.bundles、在 profile 的 node_modules 建软链(原 package.json 备份为 package.json.team.bak)。完全退出 DSH 再打开后生效;卸载用 --remove。
方式二:手动改 profile
在 ~/.dsh/profiles/<profile>/package.json 增加依赖与 bundle:
{
"dependencies": { "dsh-team-employees": "github:syc67169-source/dsh-team-employees" },
"dsh": { "profile": { "bundles": ["…原有的…", "dsh-team-employees"] } }
}
在该 profile 目录执行 pnpm install。桌面端:dsh plugin --profile desktop 会被 CLI 拒绝,需手动改 profile 或使用上述脚本。
装上之后建议按 README 验收:
- 完全退出 DSH 再打开。
- 侧边栏出现「办公室」→ 六个部门工位。
- 设置 → 员工 可见花名册。
- 新建会话 → 模式下拉出现五位员工。
- 选「情报员工·阿研」,问「团队里现在有谁」(会调
team_roster);再登记一条素材,回办公室刷新,情报部工位应显示「上钟中」。
典型用法¶
协作交接:各员工通过 team_log 写记录,他人用 team_inbox 看进度;内容条目在 $DSH_HOME/team/content/ 下按 id 留存事件与稿件。
走一条内容:由情报岗 content_new 登记 → 选题岗 content_score → 成稿岗 content_script → content_render 登记制作计划(README 说明 bin/render.mjs 尚未实现,ffmpeg 转码为后续工作)→ 人在办公室或闸门侧完成 review → content_publish 出发布包 → 人确认真实发布后,数据岗 metrics_pull 与 weights 做回采与权重。
长期研究:在办公室创建职责、试跑一次、再启用定期检查;暂停会取消正在执行的任务。
开发者可在插件目录自检(不消耗真实模型额度):
npm test
未启动 DSH 时可用 npm run preview 将办公室等界面渲染到 docs/preview.html 查看布局。
适用场景与注意¶
适合谁:已经在用 DSH、希望用固定角色和状态机管内容流水线,且愿意在关键节点(审核、真实发布)亲自操作的人;也适合想在一个 Harness 里区分「内容四岗 + 代码审核岗」的团队。
安装前请知悉:
- 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证,确认工具集(含 shell、文件)符合你的安全预期。
- 闸门依赖宿主内部字段
exec.agent区分人与员工;升级 DSH 后请重跑npm test确认拦截仍有效。 - 账本
.dshw-usage.json为 best-effort,读不到则界面如实显示「读不到」;平台收入(美元)与账本(人民币)未设汇率时不合并净额。 - 插件不代发、不批量多账号、不绕平台风控;社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-team-employees 把花名册、日志、内容状态机和办公室 UI 收进 $DSH_HOME/team/,让多会话分工有同一套账本和人工闸门,而不是多个互不关联的助手窗口。