DeepSeek Harness 插件

dsh-project-anchor

User-approved Goal, Milestone, and Turn checkpoints for solo long-running DeepSeek Harness projects.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
KKLL2025/dsh-project-anchor
最近更新
2026年8月16日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/KKLL2025/dsh-project-anchor
插件名:dsh-project-anchor
作者:KKLL2025

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

dsh-project-anchor

![ci](https://github.com/KKLL2025/dsh-project-anchor/actions/workflows/ci.yml)

English | 简体中文

dsh-project-anchor 用于让个人长期运行的 DSH 项目持续绑定到用户批准的 Goal、一个活动 Milestone 和可持久恢复的 Turn checkpoint,同时把项目判断留给按需加载的 Skills。

这条仅通过 GitHub 分发的公开 Preview 路径已针对 DeepSeek Harness 0.1.0-rc.6 测试。每个受支持的 Release 都会记录其受审查的源码 revision、固定 SHA CI、公开源码安装证据和私密安全报告渠道。npm 发布不在当前分发范围内。

v0.1.0-preview.1 新增内容

  • 冷恢复后,active Anchor 现在可以针对精确关联的 DSH Goal 提供需要用户明确同意的原生 resume。状态缺失、发生漂移、暂不恢复、问题服务不可用或 resume 失败时,Anchor 与 Milestone 都保持不变。
  • 新增完整的简体中文 README,覆盖安装、首次使用、恢复、限制、移除和维护者验证。
  • bundled drive-large-project 现在明确区分 fastcontinuityhigh-risk/release 三档执行强度,但不会给插件增加另一套持久 planner 或风险字段。
  • Frozen Skill 的来源身份已对齐到合并后的上游 revision;所有 bundled payload 字节保持不变,并继续接受 hash 校验。

当前仍是只通过 GitHub 源码分发的 Preview:请安装 Release notes 中受审查的完整 commit。没有 npm 包,也不支持从移动分支安装。

安装固定 revision 的 GitHub 预览版

需要 Node ^22.19.0 || >=24.11.0、可从 PATH 调用的 pnpm,以及 DeepSeek Harness 0.1.0-rc.6。打开v0.1.0-preview.1 Release,复制其中已核验的 40 位源码 commit,然后把下面的占位符替换成这个完整值:

npm install --global @deepseek-ai/dsh@0.1.0-rc.6
dsh --version
dsh plugin --profile web add github:KKLL2025/dsh-project-anchor#<FULL_COMMIT_SHA>

第一次添加时,pnpm 按预期会在运行 Git 包的 prepare 构建前停止。把 pnpm 输出的完整依赖键复制到所选 profile 的 pnpm-workspace.yaml;不要把它缩短成包名:

allowBuilds:
  '<EXACT_KEY_PRINTED_BY_PNPM>': true

先审查固定 revision 的源码,再授予这项权限。随后重复同一条添加命令,并核验已安装依赖与合成后的 bundle:

dsh plugin --profile web add github:KKLL2025/dsh-project-anchor#<FULL_COMMIT_SHA>
dsh plugin --profile web list dsh-project-anchor --depth 0
dsh --profile web --dump-config
dsh --profile web

dsh --version 必须输出 0.1.0-rc.6,依赖列表必须包含 dsh-project-anchor。配置转储应当只包含一个 # == dsh-project-anchor 层。如果 Web 已经在运行,安装后请重启对应的 DSH 进程。[入门指南](docs/getting-started.md)还说明了核验、移除、其他 profile 和常见故障的处理方式。

启动一个项目

用正常的项目请求明确指定长期项目 Skill:

> 请使用 drive-large-project 推进这个跨会话项目:&lt;描述项目和期望结果&gt;。先恢复仓库真实状态,选择一个可以独立验收的 Milestone,完成实现和验证,并在结束本 Turn 前提交 Project Anchor checkpoint。涉及产品方向、权限、付费或公开发布的决定必须先询问我。

如果当前没有 DSH Goal,首次成功加载 drive-large-project 时,Project Anchor 会询问是否启用持久连续性层。启用后,它会继续询问 Goal 的准确目标和第一个 Milestone;插件不会推断或改写任何一个回答。如果已经存在合适的 DSH Goal,同一个触发会提供明确的复用或恢复选项,而不是替换该 Goal。

后续会话可使用更短的请求:

> 请使用 drive-large-project 继续这个项目。恢复当前 Goal、Project Anchor 状态、handoff 和仓库事实;只推进下一个未阻塞的 Milestone,完成验证和 checkpoint 后结束本 Turn。

冷恢复会让 DSH Goal 保持 disarmed。下一次成功加载 drive-large-project 时,插件会核验当前 Goal 是否仍与 active Anchor 精确匹配,并询问是否恢复。只有明确选择 Resume this Goal 才会调用 DSH 原生 resume;暂不恢复、状态缺失、revision 已变化或问题服务不可用时,Goal、Anchor 和 Milestone 都不会改变。

自适应执行强度

每个 Milestone 开始时,drive-large-project 会根据当前风险和验收边界选择最轻的充分执行强度:

  • fast 适用于可逆、局部、不确定性较低且检查成本较小的工作,通常只运行聚焦测试,不新增管理文档、发布 smoke 或独立审计。
  • continuity 适用于跨 Turn、跨模块、改变持久状态或错误恢复成本较高的工作,需要保持当前 handoff,并补充变更契约所需的集成检查。
  • high-risk/release 适用于不可逆、外部、安全、迁移、兼容性承诺或发布工作,证据会扩展到当前声明所需的广泛测试、消费者或 runtime 路径、制品和独立复核。

执行强度是 Skill 对当前工作的临时判断,不会由原生插件持久化,模型也不能通过 Anchor 字段保存或自行提高档位。仓库规则、用户明确决定和当前验收声明仍然优先;公开发布及其他外部操作仍需单独授权。

包含内容

包内包含 align-project-requirementsdrive-large-projectorganize-ai-project-files 三个 Skill 的逐字节冻结副本。DSH 会先列出其 metadata,只在选中某个 Skill 时才加载正文和引用资源。项目级与用户级 Skill root 继续保留 DSH 原生的优先级,高于这里提供的 bundled default。

原生插件负责记住 consent 和稳定的 Goal 关联;只在 Anchor active 时提供 checkpoint tool;Goal、Milestone 与 Turn 身份都从实时 DSH 状态派生。普通工具不受限制。缺少 checkpoint 时,同一 Turn 最多只会触发一次短修复步骤,避免形成 enforcement loop。重启恢复仍由 DSH 原生生命周期负责关闭中断 Turn 和激活 Goal。

兼容性与限制

  • 已核验的 host:DeepSeek Harness 0.1.0-rc.6,源码 revision 47f943859bef60e4160492346772ded9b24f765a
  • DeepSeek Harness 仍处于 developer preview,后续版本可能需要调整插件。
  • 公开分发路径只有 Preview release 记录的完整 commit 对应的 GitHub 源码;本包尚未发布到 npm。
  • 从 Git 安装会在 pnpm 明确批准 allowBuilds 后运行本包的 prepare。这会在 host 上执行代码,因此必须审查源码并固定到完整 commit SHA,不能从移动分支安装。
  • 已 complete 的 Goal 不会被替换或复用。没有问题服务时,headless activation 会失败关闭。
  • 重启恢复测试使用独立 Node.js 进程和 JSONL persistence;操作系统断电、撕裂写入和跨机器恢复不在当前证据范围内。

移除预览版

先停止对应 profile 的 DSH 进程,再从同一个 profile 移除插件并核验合成配置:

dsh plugin --profile web remove dsh-project-anchor
dsh --profile web --dump-config

移除后,配置转储不应再包含 # == dsh-project-anchor 层。已经写入 session store 的 Goal、Anchor 和 checkpoint 属于用户项目数据,不会由插件移除命令删除。

维护者验证

npm run check
npm run smoke:onboarding
npm run smoke:consumer
npm run smoke:git-source
npm run rc:local

onboarding smoke 会从 DSH_ENTRY、本地/已准备安装或 npm global root 解析 rc.6 CLI。它使用隔离的 DSH_HOME 完成打包、安装、列出、合成、移除和再次核验,不启动 profile,也不发送 prompt。consumer smoke 还会启动全新的 Web 与 headless profile,核验两个 plugin fiber 和三个 frozen Skills,同样不发送 prompt。rc:local 只构建一个候选 tarball,并在两个路径中复用同一个文件;随后检查本地 Git-source prepare 路径,并写入被 Git 忽略的机器可读证据 manifest。

所有权、状态机、验证和安全边界见[开发契约](docs/development-contract.md)。发布证据见[候选门槛](docs/release-candidate.md);host-code 和 frozen-Skill 的信任边界见 [SECURITY.md](SECURITY.md)。参与贡献前请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。