dsh-mechanics-lab
by godcreator02
DeepSeek Harness 插件系统原理的独立研究项目:一套可复跑的实验,判定写在用例 docstring 里
安装
dsh plugin --profile web add github:godcreator02/dsh-mechanics-labGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
DeepSeek Harness(DSH)插件系统原理的独立研究项目。
搞清楚「插件系统到底怎么工作」——从「一个插件是什么」到「谁在监听配方文件、 它什么时候死」。每一条判定都配一个能复跑的实验,没有实验支撑的不算判定。
产物只有一个:experiments/ 下的实验台。一项一目录,各自完全自包含——
一份用例、一份教学插件、跑出来的归档,判定写在用例文件的模块 docstring 里。
没有另一份文档,读用例的人不用翻第二个文件。
怎么在这个项目里干活见 CLAUDE.md;其余文档在 docs/ 下——
覆盖清单 docs/SYLLABUS.md(有哪些机制、谁管、验没验)、术语 docs/GLOSSARY.md、
探索历史 docs/trajectory/、官方文档快照 docs/official/。
转载声明:docs/official/
docs/official/ 下的 215 篇是 DeepSeek Harness 官方仓库 docs/ 的只读快照,
中英各一棵树,版本钉死在 commit 47f9438。内容一字未改,版权归原作者所有,
本仓收录它只为让实验结论有个固定的对照基准。
⚠️ 这份快照不跟随上游、也不是权威。 官方文档改了它不会动——要看当前文档 请去官方仓库,照着这份快照做事可能踩到已经被改掉的结论。
跑
一律经 uv,不激活虚拟环境、不碰全局解释器:
uv sync # 首次或依赖变更后
uv run pytest # 全套
uv run pytest -m static # 只跑不起进程的
uv run pytest experiments/01-entry/ # 单跑一组
uv run pytest experiments/01-entry/disabled/ # 单跑一项
uv run pytest experiments/01-entry/disabled/ -n 0 # 关并行,看清输出或用 pdb
解释器钉死 3.12.10(.python-version),依赖锁在 uv.lock。
默认 -n 10 --dist loadfile。全套串行要 8 分钟,其中九成时间是在干等固定观测窗口
——那些窗口 CPU 基本空着,并行几乎白赚。削不掉的是需要 dsh-web-app 真启动的那几项,
并行的下限就卡在它们身上。
端口段 3090–3099 只有十个,是硬边界。项数远超 worker 数,所以用端口的项打了
xdist_group 标记钉在固定 worker 上。
实验纪律
规矩写在 CLAUDE.md 第四节,一处定义。一句话概括:只碰假 home、只用 3090–3099、
删目录逐层拆 junction、dsh plugin 只许对假 home 跑。违反会打到生产实例上。
破例声明:箱内有运行时数据
out/testhome/ 假 DSH home,一项一个子目录。整个 out/ gitignore
experiments/…/results/ 每次运行的观测归档,跟着实验走。也 gitignore
运行时数据在箱内,这是有意的破例:
- 每个实验一个独立 home,物理隔离而非靠纪律——home 级 patch 层对该 home 下
所有 profile 同时生效,靠
try/finally清理兜不住(异常、中断、并发任一都会漏) - 就近可查:实验失败时日志、profile、活层都在手边
两样东西分开放是有原因的。归档是纯文件,所以住各实验目录下,点开一项就看得到
它跑出来什么(观测产物 + 当时的配置现场 + summary,留最近三次)。假 home 不行——
它的 profiles/*/node_modules/ 是指向 npx 缓存与本仓源码的 junction 农场,进了源码树,
任何递归遍历都会跟着走出去(ripgrep 扫进缓存、pytest 收到链接那头的用例、IDE 索引吃 CPU)。
两者都不进 git,因为跑一次就能再生。归档留着是为了跑完能翻——并行之后终端输出
是交错的,看 results/<时间戳>/summary.md 比翻 scrollback 靠谱。它不是为了长期保存
证据:证据的归宿是那一项 docstring 里的结论,不是原始 json 躺在仓库里。
每项的假 home 在跑那一项时先整个清空再重建,跑完留着。
整箱删除
先停掉所有实验实例(uv run pytest 自己会回收,异常中断的用 taskkill 清),
再删整个箱目录。本箱不注册进任何工具链、不 attach 到任何实例,删了不留残留。
⚠️ 删 out/ 要逐层拆 junction,绝不跟着链接走——profile 的 node_modules
里全是指向 fixtures 和 npx 缓存的 junction(实测一次全套跑完有五千多条)。
用现成的:
uv run python -c "import sys; sys.path.insert(0,'experiments'); from lab.core import rmtree_safe, OUT_DIR; rmtree_safe(OUT_DIR)"
原始 README: https://github.com/godcreator02/dsh-mechanics-lab/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent