Missher DSH Project Ops:项目任务发现、方案与交付回执

前言

在 DeepSeek Harness(DSH)里做有一定规模的开发时,常见做法是直接让 Agent 跑 shell、改文件,进度散落在对话里,事后很难回答「这次到底改了什么、验没过、能不能算交付」。若只靠人工整理 Markdown 或外部项目管理工具,又容易和会话工作区脱节,Host 自带的审批、Jobs、文件预览也接不上。

Project Ops(npm 包 @missher/dsh-project-ops,仓库 Missher-DSH-Project-Ops)是维护者 Missher12 发布的工作流类 DSH 插件:在当前会话工作区内做有范围的任务发现,用约定目录下的方案与交付文档留痕,并通过工具与验证门收集原生执行回执,而不是替 Host 跑任意命令。社区目录页见 SkillHub;桌面端与其他插件入口见仓库 README 中的桌面端链接。

这是什么

一句话:为 DSH 提供项目开发任务发现、原生执行与验证回执,以及开发方案(PLAN)与交付记录(READY)的读写与界面入口。

当前源码版本 0.4.1(README 与 package.json 一致),面向 DeepSeek Harness 0.2 系列;插件在激活时按能力探测决定是否启用 Jobs 后台、客户端文件预览等可选功能,缺少能力时会关闭对应功能并说明原因,而不是整块入口静默消失。2026-10-17 曾在三个隔离宿主上做过验收(社区 rc.2、社区 alpha.2、官方 npm alpha.5);已核验的只是这些锚点,更完整的最低接口与未测范围见仓库 兼容性矩阵。

核心功能

会话内的 Project Ops 面板

启用插件且 Host 能加载 dsh.client 扩展时,在 DSH Web / Desktop 会话标题栏点击 Project Ops 打开面板。面板使用宿主 --dsw-* 主题变量,列出当前工作区下声明的开发任务:以中文标题为主,读不到标题时回退目录名;完整目录名保留在任务行的 title 属性中。

任务行分两行:第一行任务标题,第二行是短状态与行内「方案 / 交付」入口。四种交付状态用于区分:交付关联当前方案、历史交付(方案已更新)、待核对、尚未生成交付。「关联当前」只表示记录与当前方案修订一致,不代表验收通过。 点击「方案 / 交付」可在宿主原生右侧栏预览 PLAN.md / READY.md;未生成的文档按钮禁用并在 tooltip 说明原因。Escape 或点击面板外可关闭面板。

Agent 工具与任务文档约定

插件注册的工具包括(均带 missher_project_ops_ 前缀):task_list、task_plan、task_run、task_collect、verification_gate、capability_search、doctor,以及 document_read、document_write。

任务发现只读取项目声明;执行仍交给 Agent 可见的原生 shell / Jobs。插件不接受任意执行命令,不替代审批、沙箱、调度器或 Jobs。验证门复核回执和源码快照,未知证据不能判成功。

在有规模的开发任务开始时,当前会话 Agent 维护 docs/tasks/<日期>-<slug>-<身份摘要>/PLAN.md,按进展续写;交付检查后写 READY.md。普通问答和极小修改不强制生成;生成方案后继续已授权开发,不新增审批门。文档写入走 Host 文件系统与会话策略,带原子版本守卫与任务身份隔离;保护根 README / READY / AGENTS,检测人工编辑与中断,重启后从磁盘续写。READY 分开记录实现、验证、Git、发布、安装和限制;文件存在不表示所有工作已完成,且不会自动推 Git。字段与恢复语义见 任务文档说明。

通用 Cordis 宿主还可通过 @missher/dsh-project-ops/cordis 与 projectOpsHost 适配;本轮文档与客户端能力主要面向 Harness 入口,细节见 Cordis 集成。

安装与启用

安装说明以仓库 INSTALL.md 为准。包名统一为 @missher/dsh-project-ops;若曾安装旧的无 scope 包 dsh-project-ops,应先记录其版本与 Bundle 状态,再通过正式插件管理入口移除旧 Bundle,避免同名服务同时加载(项目 docs/tasks 与会话数据应保留)。

安装前应对你实际取得的包做摘要核对(例如 sha256sum 与交付记录中的 SHA-256 一致),并确认来源可信。获准集成时,在目标桌面匹配的 profile 上安装已核验的 tgz:

dsh plugin --profile <目标profile> add <已核验tgz>

重载该 profile 后确认插件无加载错误:Agent 工具应包含上述七项既有能力与 document_read / document_write;若 Host 支持客户端扩展,标题栏应出现 Project Ops。可在合成工作区创建 PLAN,经交付检查创建 READY,并测试方案与交付预览入口。

卸载:

dsh plugin --profile <目标profile> remove @missher/dsh-project-ops

卸载不删除项目 docs/tasks、会话或笔记;回退须用保留的原包与原配置,不能用旧源码的 lib 冒充冻结包。

典型用法

下面是从 README 与任务文档约定归纳的可复现流程,具体字段以 TASK_DOCUMENTS.md 为准。

  1. 在 DSH 中打开目标项目工作区,确认已安装并启用 @missher/dsh-project-ops。
  2. 对需要留痕的开发任务,由 Agent 在 docs/tasks/ 下创建任务目录并编写 PLAN.md,开发过程中续写方案。
  3. 需要跑命令或 Jobs 时,仍通过 Host 原生 shell / Jobs 执行;用 missher_project_ops_task_run、task_collect 等工具配合收集与验证,而不是让插件代跑任意命令。
  4. 交付检查完成后写入 READY.md,在 READY 中分别记录实现、验证、Git、发布、安装状态与限制。
  5. 在标题栏 Project Ops 面板中查看任务列表与四种文档状态,通过「方案 / 交付」在右侧栏预览文件。

插件源码侧开发与隔离验收可使用 README 中的命令(需 Node ^22.19.0 || >=24.0.0):

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm smoke:profile

smoke:profile 仅在仓库 .artifacts 内创建隔离 DSH_HOME 与合成工作区,经正式 dsh Profile 安装、调用、卸载;不等于真实模型、Electron 或日常安装验收。

适用场景与注意

适合谁: 在 DSH 里做会话内开发、希望任务与 docs/tasks 方案/交付文档对齐,并需要把 shell/Jobs 执行与验证回执纳入同一工作流团队的开发者。

务必注意:

  • 插件以当前 dsh 进程权限运行;安装前应阅读源码、许可证(MIT)与交付记录,只从可信位置安装已核验包。
  • 工具注册成功不保证标题栏一定有 Project Ops;客户端入口取决于 Host 能否加载插件的 dsh.client 扩展。
  • 安装包存在、源码升级与当前桌面已启用是不同状态;失败、取消、未验证、未发布和未安装均应在 READY 等文档中如实保留,不要把任意回复或 shell 退出码等同于任务完成。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

Project Ops 把「任务从哪来、方案写什么、命令怎么验、交付记什么」收拢到工作区内的声明、文档与回执链路上,并在支持的 Host 上提供标题栏面板与原生文档预览。进一步细节、截图与 0.4.x 交付记录见 GitHub 仓库 Missher-DSH-Project-Ops 与目录页 Missher-DSH-Project-Ops @ SkillHub。

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

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

Xiaoye