pax-beehive/dsh-hub-cli
Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub
DSH Hub CLI – 分享与应用 DeepSeek Harness (DSH) 插件预设
这是什么 – 一个基于 Node 的命令行工具,可让您捕获 DeepSeek Harness 的确切状态(运行时版本、有序插件、配置补丁和所需环境变量),并将其发布为公共 DSH Plugin Hub 上不可变的 Preset Release。其他人可以获取该预设,并用一条命令重现相同的环境。
为什么重要
| 问题 | DSH Hub 解决方案 |
|---|---|
| 漂移 – 团队成员手动安装插件,版本随时间变化。 | 预设锁定运行时、插件版本、加载顺序和源哈希。 |
| 隐藏配置 – 机密和补丁文件散落在文档或聊天中。 | 只发布 ${ENV_VAR} 占位符;实际机密值保留在本地。 |
| 不可靠的上手 – “在我机器上可以”的故事。 | profile apply 暂存、验证,并原子化替换整个配置文件,具有可逆的修订历史。 |
| 手动升级 – 有风险且易出错。 | profile diff 显示确切更改;profile upgrade 应用更改;profile rollback 恢复先前修订。 |
核心概念
- Preset Release – 一个小的、内容寻址的 JSON/YAML 文档(
sha256哈希),记录:- DSH 运行时版本(
@deepseek-ai/dsh)。 - 有序的 bundles(插件)列表,包含精确的 npm 完整性哈希或固定的 Git 提交 ID。
- 作者的
cordis.patch.yml配置。 - 运行时所需的声明 inputs(环境变量)。
- DSH 运行时版本(
- Profile – 一个本地目录(
~/.dsh/profiles/<name>),存放当前安装的插件、锁文件和补丁。 - Plan – 变更(应用/升级)的预览,包含当前状态的指纹和过期时间(30 分钟)。计划必须在任何更改前明确批准,使 CLI 对 AI 代理安全。
主要命令(快速参考)
| 命令 | 用途 |
|---|---|
dsh-hub profile share <slug> --version <v> --profile <name> |
捕获本地配置文件并发布不可变预设。 |
dsh-hub profile apply <slug> --version <v> --profile <name> |
获取预设、暂存、验证,然后原子化替换本地配置文件。 |
dsh-hub profile diff … |
显示本地状态与预设之间的逐行比较。 |
dsh-hub profile upgrade … |
升级到较新的预设版本(含差异预览)。 |
dsh-hub profile rollback [revision] |
恢复每次应用时自动保存的先前修订。 |
dsh-hub profile doctor |
运行健康检查(缺少输入、版本漂移、锁文件完整性)。 |
dsh-hub search / info / install |
浏览公共插件目录并安装单个插件。 |
dsh-hub login |
通过设备码流程验证 Hub(或使用 DSH_HUB_TOKEN)。 |
| `dsh-hub telemetry on | off` |
底层工作原理
- 捕获 – CLI 读取
~/.dsh/profiles/<profile>(插件、顺序、cordis.patch.yml、环境变量声明),并构建 Release 文档,每个工件都有内容寻址哈希。 - 发布 – Release 上传到 Hub API;哈希保证不可变性。
- 应用 –
--plan创建 JSON 计划,包含 Release 哈希、当前配置文件的前置条件哈希,以及过期时间戳。- 用户(或监督的人类)批准计划 ID。
- CLI 在临时目录中暂存新插件,运行结构检查和
dsh --dump-config以验证补丁。 - 成功后,暂存目录原子化替换实际配置文件;先前版本保留为修订以供回滚。
- 安全检查 –
- 任何安装前验证 Release 哈希。
- 发布的补丁中只允许环境变量占位符;拒绝实际机密值。
- 令牌以
0600权限存储;遥测可退出。
典型工作流程
# 1️⃣ 全局安装 CLI
npm i -g @dsh-plugin-hub/cli
# 2️⃣ 将当前工作区分享为预设
dsh-hub profile share my‑workspace --version 1.0.0 --profile web --dry-run # 预览
dsh-hub login # 一次
dsh-hub profile share my‑workspace --version 1.0.0 --profile web # 发布
# 3️⃣ 团队成员应用
dsh-hub profile apply my‑workspace --version 1.0.0 --profile web
dsh-hub profile doctor # 验证一切正常
与 AI 代理集成
此仓库还提供 dsh‑plugin 包,将 CLI 暴露为 agent tools(例如 dsh_hub_profile_diff)。代理可以生成计划、呈现给人类,并在明确确认后才执行 dsh-hub operation apply <plan-id>。此设计强制“人在回路”的安全屏障。
开发与可扩展性
- Monorepo 包含四个包(
schemas、registry、cli、dsh-plugin),全部一起版本化。 - 使用 Node ≥22.13 和 pnpm 构建;使用 TypeScript 进行类型检查,并通过 Node 内置测试运行器测试。
- 提供贡献指南、行为准则和治理模型。
- CLI 以 MIT 许可 开源。
安全与隐私亮点
- 内容寻址的发布(
sha256)防止篡改。 - 所有插件源都固定(npm 完整性哈希或完整 Git 提交 ID)。
- 计划在 30 分钟后过期,若本地配置文件更改则中止。
- 机密永远不会离开本地机器;只发布变量名。
- 可选遥测完全匿名,且可禁用。
许可
MIT – 可自由使用、修改和分发。
底线 – DSH Hub CLI 为团队提供可重现、可审计的方式分享完整的 DeepSeek Harness 配置,将脆弱的“安装这串插件列表”流程转变为单命令、版本控制的操作,甚至 AI 代理也能安全调用。
相关
- 项目
- 项目
- 项目
- 项目