Back to home

RexCoding-Yu

dsh-project-manager

使用项目管理方法论使用dsh

Stars
0
Language
TypeScript
Created
Aug 17, 2026
Updated
Aug 17, 2026

Introduction

dsh-project-manager

License: MIT DeepSeek Harness Topic

DeepSeek Harness 的项目管理插件。人在会话里说目标,经理 Agent 记账并派发工作项;执行会话按一份不可变的上下文包干活;你只在侧栏处理待审核、阻塞、失联和收尾。

A project-manager plugin for DeepSeek Harness. Humans speak goals, a manager agent plans and dispatches, executor sessions work from an immutable context pack, and the sidebar is for exceptions.

包名@dsh-project-manager/plugin
适配DeepSeek Harness 0.1.0-rc.6
发现标签GitHub Topic dsh-plugin
许可证MIT

目录

它解决什么问题

多个 Agent 做稍大一点的事时,常见失败往往不是模型不会写代码:

  • 目标只活在聊天里,过两轮就漂
  • 派出去的会话只拿到一个标题,只能猜范围和验收
  • Agent 自己宣布完成,没有证据
  • 人被看板拖住,没空处理真正要拍板的事

本插件把计划、执行、治理拆开。会话是职场,侧栏是账本。装上即可用,不必再拷 Skill,也不必改 AGENTS.md

适合:目标要跨多个会话、要并行、要按标准验收,或会明显烧 Token。单轮对话就能做完的事,不必建项目。

它不做什么

  • 不在面板里新建项目或手写 WBS,那些只在经理会话里做
  • 不提供甘特、关键路径、挣值、跨项目组合
  • 不把 Job 当成 Agent 执行身份(DSH 的执行单位是 Session)
  • 不强制 Git worktree,也不做多人实时协同
  • 不把组织知识注册成运行时 Skill;知识只作为后续上下文包的参考

安装

需要已经能跑起来的 DSH Web,例如:

npx @deepseek-ai/dsh web

本仓库是 monorepo,可安装的插件在 packages/dsh-project-manager

从 GitHub 安装(推荐)

dsh plugin --profile web add "github:RexCoding-Yu/dsh-project-manager#path:packages/dsh-project-manager"

钉到某次提交(把 COMMIT 换成 sha):

dsh plugin --profile web add "github:RexCoding-Yu/dsh-project-manager#COMMIT&path:packages/dsh-project-manager"

从本仓库打好的包安装

先克隆并构建,再指向本地 tarball:

git clone https://github.com/RexCoding-Yu/dsh-project-manager.git
cd dsh-project-manager
pnpm install
pnpm --dir packages/dsh-project-manager build
dsh plugin --profile web add "file:./packages/dsh-project-manager"

也可以 pnpm --dir packages/dsh-project-manager pack 后安装生成的 .tgz

装完之后

  1. 重启 dsh web
  2. 浏览器打开面板后按 Ctrl+F5(插件脚本会被缓存)
  3. 侧栏底部会出现「项目」,输入框也可以执行 /pm

官方发现通道认 GitHub Topic dsh-plugin。本仓库按该 Topic 发布。

五分钟上手

  1. 打开一个会话,把它当成经理席。对 Agent 说清楚:做成什么样算成功、明确不做的事、一次几个执行会话。
  2. 经理 Agent 会建项目,再一条条加工作项。每项都要有目标、范围、非范围、可判定的验收标准。
  3. 你确认「按这个拆可以开始」之后,它才会 approve_project。未批准前不会自动开执行会话。
  4. 就绪项按调度策略派到新会话。每个执行会话第一轮拿到的是完整上下文包,不是标题。
  5. 执行会话提交产物后进入待审核。非高风险项可自动开审查会话;高风险仍要你在面板里二次确认。
  6. 打开侧栏「项目」:只处理待审核、已阻塞、失联和收尾。

角色怎么分工

待在哪做什么不做什么
你(负责人)经理会话 + 项目面板说目标、确认启动、审高风险、解阻塞、给执行中会话补话、关项目填章程表、拖卡片改计划
经理 Agent经理会话建项目、拆工作项、按策略派发写业务代码、改执行项范围内的文件
执行会话一项一个,做完就关按上下文包交付并提交证据建项目、改别人的项、把自己标成已完成
审查者人或另一个会话按验收标准和产物给结论审自己刚执行完的那一次

执行会话无权改计划。审查会话同样不能改计划。

面板功能

侧栏「项目」打开的是监视和介入面。页签本身就能切换视图,没有额外的导航按钮。右上角刷新是图标,不单独占一行。

项目

列出本工作区的项目卡片。点卡片进入该项目。标题旁的铅笔可以改名称(已关闭的项目也能改)。同一工作区的项目共用组织知识台账。

待处理

默认要看的页:

分组含义你可以做什么
失联会话已经不在,看板却还显示执行中终止,或重新派发到新会话
待审核执行会话交了产物打开详情看自检点和文件,通过或退回修改
已阻塞缺输入或权限「继续」把话打回还活着的会话,或「收回待派发」
进行中执行会话报上来的最后进度打开详情;必要时到会话里补话
待派发已就绪、可以开执行会话派到新会话
无法派发缺范围、验收,或依赖还没完成回到经理会话补全,不要硬派

高风险项派发前会再确认一次。

看板

按状态看全部工作项:待办、待派发、已认领、进行中、已阻塞、待审核、返工、已完成、已取消。用来扫全貌,不是日常首页。

运行

尝试次数、Token、时长、工具次数、异常与最近审计。Token 能从会话日志读到才记账;读不到显示「不可用」,不编金额。

知识

执行或经理提出的可复用条目。点卡片看全文。待审核可「通过 / 驳回」;通过后还要再「发布到组织」才进台账。已发布条目会作为参考写入后续上下文包,不是验收标准。

收尾

关闭项目。未完成项必须选择延期、移交、接受未完成风险或取消。关闭后不再派发。

左侧当前状态和右侧收尾处置不是同一件事:关闭不会把待审核改成通过。

调度条

进入项目后可见:

  • 调度策略:手动 / 串行 / 限制并行 / 最大并行
  • 限制并行时的并行上限
  • 「按策略派发」或「派发待办」
  • 「暂停派发 / 恢复派发」:暂停后不再开新会话,已经在跑的不杀

工作项怎么走

待办 → 待派发 → 已认领 → 进行中 → 待审核 → 已完成
                 ↘ 已阻塞          ↘ 返工
任何时候都可以取消。进行中不能直接标成已完成。

进入「待派发」必须同时满足:目标、范围、非范围都写了;至少一条可判定的验收标准;依赖已完成或产物可引用;项目已批准启动。

完成必须同时满足:有可访问的产物(或明确声明无文件并写原因);每条验收有结果和证据;审查结论允许关闭。Agent 不能把自己的项标成已完成。

点开工作项可以看到:子工作项、自检点、通过情况、产物路径。内部 UUID 和英文状态不会作为主文案。

项目本身:草稿 → 进行中 → 已暂停 / 收尾中 → 已关闭。未批准启动的项目保持草稿。

会话里怎么用

插件会注册三条运行时 Skill(dsh-pm-manager / dsh-pm-executor / dsh-pm-reviewer),以及一段系统提示里的操作规则。模型不必先调用 skill 才知道该用项目工具。

输入框命令:

命令作用
/pm打开项目面板
/pm-status snapshot <项目 id>打印项目快照(排障用)
/pm-status ready <项目 id>打印就绪队列

经理会话常用工具

工具作用
project_manager_list_projects先看已有项目
project_manager_create_project对话式建项目(名称、目标、非目标、成功标准、并行策略)
project_manager_add_work_item一次加一项,必须有目标、范围、验收
project_manager_approve_project你确认拆分后再启动
project_manager_update_project改名称、调度策略,或暂停 / 恢复派发
project_manager_update_work_item改范围或验收,必须写原因
project_manager_cancel_work_item取消一项,必须写原因
project_manager_dispatch派一项到新会话
project_manager_schedule按策略把就绪项补满
project_manager_resolve_blocker解除阻塞:继续当前会话,或收回待派发
project_manager_steer_execution给还活着的执行会话补一句,不改已发出的上下文包
project_manager_propose_knowledge提出一条知识候选,默认不自动发布

正在执行的工作项要改计划,须先终止,或在工具里声明 releaseFirst

执行会话

只认领当前项。project_manager_get_context 读上下文包,用 progress / blocker 汇报,完成后 submit_deliverables(逐条验收 + 产物路径)。不能把工作项标成已完成。

审查会话

非高风险项提交后,系统可以另开一个审查会话。审查者按验收标准和产物给结论,不能改计划,也不能审自己刚执行完的那一次。

上下文包

派发时生成,版本写入这次尝试。里面有:

  • 项目目标与非目标
  • 本项范围与验收
  • 依赖产物路径
  • 相关组织知识(仅参考)
  • 回报协议(进度、阻塞、提交)

执行开始后,再改项目文档不会悄悄换掉这份包。要改范围,用 update_work_item 并写原因;已经发出的包不会被静默替换。

派发新会话时,会尽量继承经理会话的模型、预设和工作区目录,避免执行会话落到错误目录。

调度策略

策略行为
限制并行(默认)同时运行的执行会话不超过 N,未指定时 N = 2
串行全项目最多一个执行会话
最大并行依赖和预算允许就开
手动系统不开新会话,等人或经理点派发

同一工作项同一时刻只有一个有效执行租约。一个会话同时只持有一个执行租约。会话没了或租约过期,标失联,不对账不得自动重派。

项目状态为「已暂停」时,不再开新的执行会话。

知识台账

  1. 经理或执行会话用 propose_knowledge 提出候选
  2. 你在「知识」页通过或驳回
  3. 通过后还要再点「发布到组织」
  4. 已发布条目会作为参考写进后续上下文包

候选默认不自动发布。知识不是验收标准,也不会变成运行时 Skill。

Token 与运行记录

用量从执行会话的 assistant/chunk / assistant/message.usage 汇总(cache + input + output),记在这次尝试上。面板「运行」页按项目展示。

读不到会话用量时显示「不可用」,不会用 0 冒充「没花钱」。

数据存在哪

默认写在当前工作区的 .dsh-pm/project-manager.json。这是项目账本,不是聊天记录。Harness 的 Session / Agent 只通过引用关联。

.dsh-pm/ 加进 .gitignore,除非你有意共享账本。

常见问题

装完侧栏没有「项目」。
重启 dsh web,浏览器对面板做一次 Ctrl+F5。确认安装命令带了 #path:packages/dsh-project-manager。本仓库根目录的 package.json 是 private workspace,直接 github:RexCoding-Yu/dsh-project-manager 装不到插件包。

GitHub 安装失败,提示找不到入口。
发布分支必须包含已构建的 packages/dsh-project-manager/lib/。从源码安装请先 pnpm --dir packages/dsh-project-manager build

Token 一直是 0 或「不可用」。
只有会话日志里带 usage 才会记账。旧会话或读不到日志时会显示「不可用」。

派发后会话工作区不对。
新会话会尽量继承经理会话所在项目工作区。确认经理会话本身就在目标仓库里打开。

项目关掉了,界面还像进行中。
关闭后卡片和详情应显示「已关闭」,且不能再点一次关闭。若没有,先刷新面板;仍不对再查工作区 .dsh-pm/project-manager.json 里该项目的 status

归档后工作项还显示进行中。
归档不会自动改工作项状态。会话若已不在,到「失联」里终止或重新派发。

从源码开发

需要 Node.js 22+ 和 pnpm。

pnpm install
pnpm test
pnpm --dir packages/dsh-project-manager build

规格与验收:docs/product-spec.mddocs/requirements.mdTESTING.md

仓库结构:

packages/dsh-project-manager/   可安装的 Cordis 双端插件
src/                           领域 / 应用 / 持久化(同步进插件 host)
docs/                          产品规格与需求

从 GitHub 安装依赖已构建的 packages/dsh-project-manager/lib/。发版前请先在本机执行上面的 build。不要把 @deepseek-ai/* 放进插件的 production dependencies

问题与建议请开 Issue

许可证

本项目使用 MIT License。Copyright (c) 2026 RexCoding-Yu

你可以自由使用、复制、修改、合并、发布和再分发,只需保留版权声明和许可文本。