news 2026/9/26 3:38:01

dsh-anchored-standard的工程化体系:shared单一事实源、npm run sync物化与自包含模式目录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
dsh-anchored-standard的工程化体系:shared单一事实源、npm run sync物化与自包含模式目录

dsh-anchored-standard的工程化体系:shared单一事实源、npm run sync物化与自包含模式目录

【免费下载链接】dsh-anchored-standardTwo-phase DeepSeek Harness preset: Minimal-aligned bootstrap, then full Standard tools (Project2 98/99)项目地址: https://gitcode.com/gh_mirrors/ds/dsh-anchored-standard

dsh-anchored-standard是一个面向 DeepSeek Harness 的实验性 Agent 预设(preset)集合:先用 Minimal 条件锚定模型轨迹,再晋升到完整的 Standard 工具目录。仓库里住着 7 个可独立安装的模式目录,它们却共享同一批插件源码——这套「shared/ 单一事实源 +npm run sync物化 + 自包含模式目录」的工程化体系,是理解本仓库如何做到「改一处、全模式同步、复制即装」的关键。

一、问题背景:7 个模式、14 个共享插件 🧩

仓库提供 7 种锚定模式,各自对应一个独立目录:

模式目录锚定机制
Anchored Standard(基础模式)preset/Minimal 真实工具对(bash + str_replace_editor)
Zero-Anchored Standardzero-anchored-standard/一轮零工具固定锚定消息
Whoami Standardwhoami-standard/一轮「你是谁」自我介绍
Prefab Anchored Standardprefab/内置成功轨迹种子
Eternal Minimaleternal-minimal/全程 Minimal 对 + dshx 网关
Wire Think-Execute Standardwire-think-standard/线层 tool_choice: none
Combo Anchoredcombo-anchored/思考分离 + 深度闸门 + 深思滴灌

其中大量插件被多个模式同时复用,例如 shared/context-gate.mjs(统一注入控制)、shared/tool-bootstrap.mjs(工具目录控制)、shared/instruction-hint.mjs(一次性指令提示)、shared/dev-tool-search.mjs(按需工具发现)等,共 14 个文件。

如果每个模式各存一份,改一个 bug 就要改 7 遍——这正是「单一事实源」要消灭的问题。

二、shared/ 目录:插件的单一事实源(Single Source of Truth)

约定非常简单:

  • 被 2 个及以上模式使用的插件,源码只放在 shared/ 一次
  • 模式目录里的同名.mjs文件全部是生成出来的物化副本(materialized copy),且这些副本会提交进仓库
  • 永远只编辑shared/,绝不直接改模式目录里的副本

以 shared/compaction-epoch.mjs 为例:它是纪元感知的晋升追踪器,被context-gate、tool-bootstrap、instruction-hint三个插件通过本地 import 引用。修改它一次,所有引用它的模式在同步后行为一致——不会出现「preset 模式和 whoami 模式对压缩边界(compaction)处理不一致」这类幽灵 bug。

而 shared/custom-bash.mjs(Windows 专用 bash 工具)只在 Windows 平台挂载的行里出现,它同样住在shared/,由同步脚本决定分发到哪些模式。

三、npm run sync:一键物化插件副本

同步逻辑全部集中在 scripts/sync-modes.mjs,入口脚本定义在 package.json:

命令作用
npm run sync把shared/插件重新物化(覆盖写入)到每个模式目录
npm run check先做--check漂移校验,再跑node --test全量测试
npm test零依赖测试套件

同步脚本的工作流程(见 sync-modes.mjs 的MODES清单):

  1. 解析入口:扫描每个模式agent.cordis.yml中所有name: ./xxx.mjs行,得到该模式声明的本地插件清单;
  2. 计算闭包:沿插件文件内的本地 import(如from './compaction-epoch.mjs')做传递闭包,把间接依赖也纳入——这就是为什么tool-bootstrap.mjs单独引用也能带上compaction-epoch.mjs;
  3. 校验一致性:模式目录中出现未被清单收录的「陈旧.mjs」、引用了../外部文件、或引用了既不在shared/也不在模式目录的文件,都会直接报错;
  4. 写入副本:把shared/下对应文件原样写入模式目录,并打印[sync] preset/context-gate.mjs <- shared/context-gate.mjs之类的日志。

💡 副本是已提交的,所以安装某个模式时完全不需要执行任何构建命令——直接复制目录即可。

四、漂移检查:--check 与 CI 式守门

--check模式只读不写:逐字节比对模式目录内的副本与shared/源文件,发现任何漂移(drift)就以退出码 1 失败,并提示run: npm run sync。这条规则同时被测试套件把守——test/self-containment.test.mjs 会在npm test时实际 spawn 一次sync-modes.mjs --check,任何人提交前跑一下npm run check,「手改物化副本」这种事故就无法溜进仓库。

这形成了完整闭环:改shared/→npm run sync→ 提交两边。

五、自包含模式目录:复制即可安装 🔧

自包含(self-contained)是这套体系对用户的最大价值:

  • 每个模式目录只允许引用./下的本地插件,agent.cordis.yml中出现../会被同步脚本和测试双重拦截;
  • 因此安装任何模式都只需一条命令,例如基础模式:
cp -R preset "$HOME/.dsh/.agent-presets/anchored-standard"
  • test/self-containment.test.mjs 中的第一个测试专门断言:7 个模式目录的agent.cordis.yml均无任何../向上引用。

以基础模式 preset/ 为例,物化后目录内包含 context-gate.mjs、tool-bootstrap.mjs、dev-tool-search.mjs 等副本,以及仅本模式持有的 custom-bash.mjs;preset/preset.yml 则声明了预设名称与描述。而prefab/模式除了共享插件,还拥有自己的一组专属工具脚本(install.mjs、instantiate.mjs、roll-prefab.mjs 等),它们属于「模式自有文件」,不参与共享。

六、关键文件速查 📚

文件说明
shared/单一事实源,14 个跨模式共享插件
scripts/sync-modes.mjs物化/漂移检查脚本
package.jsonsync/check/test三个 npm 脚本
test/self-containment.test.mjs自包含 + 无漂移的双重守门测试
preset/agent.cordis.yml基础模式插件装配清单(含全部挂载顺序注释)
README.zh-CN.md中文说明:模式总览、术语表、配置参考

七、新手上手三步

  1. 克隆仓库:git clone https://gitcode.com/gh_mirrors/ds/dsh-anchored-standard
  2. 验证工程体系:运行npm test(内部含sync --check),确认物化副本与shared/零漂移
  3. 安装模式:把需要的模式目录(如preset/)整体复制到~/.dsh/.agent-presets/<预设id>,重启 DeepSeek Harness 后在新会话中选择对应预设即可

这套「单一事实源 + 物化 + 自包含」的三件套,本质是把「7 份易失同步」压缩成「1 份源码 + 1 条命令」,是插件型仓库里非常值得借鉴的工程化范式。

【免费下载链接】dsh-anchored-standardTwo-phase DeepSeek Harness preset: Minimal-aligned bootstrap, then full Standard tools (Project2 98/99)项目地址: https://gitcode.com/gh_mirrors/ds/dsh-anchored-standard

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 3:37:57

OvisOCR2 技术报告解读:VLM 驱动 OCR 如何把图片转成 Markdown

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 3:37:56

小而强大!阿里开源 Qwen3 模型接入 TaoToken 的 config.toml 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 3:37:45

Cursor + TaoToken:30分钟搭建可外网访问的个人网站(含配置骨架)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 3:37:04

【初阶·融合】如何为 AI 推理 API 落地纵深防护:从输入校验、限流到输出审计的请求生命周期治理实战(TaoToken 统一 Key 通道配置篇)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 3:37:00

2026大模型选型指南:用TaoToken统一Key跑通DeepSeek/GLM/Claude场景落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华