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(环境变量)。
  • 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`

底层工作原理

  1. 捕获 – CLI 读取 ~/.dsh/profiles/<profile>(插件、顺序、cordis.patch.yml、环境变量声明),并构建 Release 文档,每个工件都有内容寻址哈希。
  2. 发布 – Release 上传到 Hub API;哈希保证不可变性。
  3. 应用
    • --plan 创建 JSON 计划,包含 Release 哈希、当前配置文件的前置条件哈希,以及过期时间戳。
    • 用户(或监督的人类)批准计划 ID。
    • CLI 在临时目录中暂存新插件,运行结构检查和 dsh --dump-config 以验证补丁。
    • 成功后,暂存目录原子化替换实际配置文件;先前版本保留为修订以供回滚。
  4. 安全检查
    • 任何安装前验证 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 包含四个包(schemasregistryclidsh-plugin),全部一起版本化。
  • 使用 Node ≥22.13pnpm 构建;使用 TypeScript 进行类型检查,并通过 Node 内置测试运行器测试。
  • 提供贡献指南、行为准则和治理模型。
  • CLI 以 MIT 许可 开源。

安全与隐私亮点

  • 内容寻址的发布(sha256)防止篡改。
  • 所有插件源都固定(npm 完整性哈希或完整 Git 提交 ID)。
  • 计划在 30 分钟后过期,若本地配置文件更改则中止。
  • 机密永远不会离开本地机器;只发布变量名。
  • 可选遥测完全匿名,且可禁用。

许可

MIT – 可自由使用、修改和分发。


底线 – DSH Hub CLI 为团队提供可重现、可审计的方式分享完整的 DeepSeek Harness 配置,将脆弱的“安装这串插件列表”流程转变为单命令、版本控制的操作,甚至 AI 代理也能安全调用。

相关

  • 项目
  • 项目
  • 项目
  • 项目