@ohmydsh/runtime
Lightweight OMDSH Runtime and Profile Pack toolkit for auditable DSH composition, signing, candidate installs, and rollback
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/omdsh-runtime说明文档
阅读完整 README ↗OMDSH Runtime
一个复用官方 Harness Profile、Bundle、Cordis 与包操作的无前端执行层。它只补确定性的 plan/apply、candidate generation、用户确认和 previous generation 恢复,不新增第二套 Loader 或 daemon;DSH Hub Workshop 始终是唯一发现、作者发布、审核与 feed 主数据源。
源码仓库已公开。@ohmydsh/runtime 配置为 npm 公开预览包,只使用 preview dist-tag,预览版本不会隐式移动 latest。
代码边界保持为“一个 Toolkit 仓库、多个稳定模块”:profile-pack 只负责格式、内容摘要、签名和组合检查;pack-authoring 只负责作者清单;license 只负责 SPDX 事实;pack-instances 只负责命名实例;CLI 只是调用这些模块和既有 Runtime/官方 DSH 操作的薄层。Hub 不 import Runtime 源码,双方只交换带版本的 JSON Schema、Registry 快照 ID、锁包和签名结果。等第三方确实需要独立依赖时,可以原样发布这些子路径或拆成 pack-core 包,不需要改 Pack 格式或 CLI。
可移植 Profile Pack
omdsh-profile-pack/v1 是轻量、可审查的 JSON 发行格式。它只记录固定的 Registry 项目与 Release ID、固定到完整 Git commit 的自有源码、Registry 快照、实际观测到的 @deepseek-ai/dsh 版本,以及一个 Agent Preset;不会复制插件包体、凭据、会话、环境文件或本机绝对路径。
# 新建整合包:既可加入已准入 Release,也可加入自己的固定源码插件。
omdsh pack init research.pack.json --id research --preset code
omdsh pack add research.pack.json --release sample@1.2.3
omdsh pack add research.pack.json --source-id my-plugin --package @me/dsh-my-plugin --version 0.1.0 --repository https://github.com/me/dsh-my-plugin --ref --license MIT
# 先查看所有组件许可证,再绑定 Runtime、Registry、哈希与来源并试跑。
omdsh pack licenses research.pack.json
omdsh pack lock research.pack.json --output research-0.1.0.dshpack
omdsh pack test research.pack.json --profile web --trust-source
# 导出当前受管理 Profile,并引用一个官方预设。
omdsh pack export --profile web --preset standard --output web-0.1.0.dshpack
# 把 Workshop 生成的发行清单绑定到当前 Runtime 与 Registry。
omdsh pack build research-0.1.0.distribution.json --output research-0.1.0.dshpack
# 只读检查 schema、文件哈希和整包 digest,再对当前 Runtime、Registry、Profile 与信任参数做零 Profile 写入预检。
omdsh pack inspect research-0.1.0.dshpack
omdsh pack plan research-0.1.0.dshpack --profile web --trust-source
# 用 Ed25519 绑定发布者来源,再显式传入可信公钥验证。
omdsh pack sign research-0.1.0.dshpack --private-key publisher.pem --key-id example/releases-2026 --publisher example --source https://github.com/example/research --output research-0.1.0.signed.dshpack
omdsh pack inspect research-0.1.0.signed.dshpack --trusted-key publisher.pub
# 在命名实例中只生成 candidate;激活仍然是独立动作。
omdsh pack apply research-0.1.0.signed.dshpack --instance research --profile web --trusted-key publisher.pub --require-signature
omdsh activate --profile web
omdsh confirm --profile web
omdsh pack instance research
# 先看版本差异,再准备更新;回滚会重新选择上一个 Profile generation。
omdsh pack diff research-0.2.0.signed.dshpack --instance research
omdsh pack update research-0.2.0.signed.dshpack --instance research --trusted-key publisher.pub --require-signature
omdsh pack rollback --instance research
源清单刻意保持很小:有序组件清单、一个内置预设、SPDX 许可证表达式和不可变来源。分支、浮动标签、本地路径、安装脚本、密钥和复制的 node_modules 都不会被接受。pack licenses 会列出每个组件的许可证表达式、声明来源、SPDX 链接及人工核对提醒;它是可信事实清单,不是法律意见,也不会替作者自动判断许可证兼容性。