前言¶
DeepSeek Harness(DSH)在本地保存每台机器的配置、凭证和模型声明。要在另一台机器使用,通常需要重新输入每个 provider 的显示名称、端点、协议、模型目录和密钥。社区现有的 dsh-cloud-sync 插件同步本地插件源和配置目录,但故意不复制明文凭证,这就留下了同步密钥这一空白。
插件定位¶
tesths/dsh-model-key-sync 是一个 DeepSeek Harness 插件,由维护者 tesths 开发,分类为 admin-security。它通过 S3 兼容存储或 WebDAV 同步模型配置和第三方 API 密钥,让新机器只需一次 pull 即可恢复所有自定义 provider 及其密钥。
核心功能¶
插件负责同步的内容包括:
- Provider 路由信息:显示名称、协议、端点、模型目录、密钥引用、provider 默认值(推理、输入、缓存、思考预算)
- 每个路由的
apiKeyEnv解析到的 API 密钥 - 不同步的内容:会话、附件、插件源、Credits/配额、使用历史、其他设置(主题、快捷键等)
远程文件结构为:
<remoteRoot>/v1/<syncGroup>/
├── manifest.json 格式、版本、设备、每对象 sha256 和大小、snapshotId
├── <provider>.json 每个路由一个文件
└── keys.json { "ENV_NAME": "value" }
每次传输会先写入对象,最后写入 manifest,确保 reader 不会看到不完整的清单。下载时会通过大小和 SHA-256 验证对象完整性。
安装与启用¶
在 Harness 的智能体中执行:
Install the plugin from github:tesths/dsh-model-key-sync
插件安装程序会运行 bundle 安装器。安装完成后刷新页面,该插件在 Settings → Model Key Sync 下出现。
使用要求:当前 Harness 构建提供 settings、credentials 和 tools 服务,并且存在 llm-pi-ai(或兼容)模型适配器行。
典型用法¶
WebDAV 配置¶
在 Settings → Model Key Sync 页面,选择 Backend 为 WebDAV,填写:
| 字段 | 示例值 |
|---|---|
| Backend | WebDAV |
| Collection URL | https://dav.jianguoyun.com/dav/(坚果云),或你的 Nextcloud 路径 |
| User name | 账户登录名(坚果云:你的邮箱) |
| Password | 应用密码,非登录密码 |
| Remote directory | dsh-model-key-sync |
| Sync group | 任意名称;每台机器相同 |
填写后点击 Save(配置和密钥一起保存),然后点击 Test → Upload。
S3 兼容存储配置¶
支持 R2、OSS、B2、MinIO 和 AWS。填写:
- Bucket
- Region(R2 可填
auto,AWS 留空) - Endpoint(AWS 留空)
- Access key id
- Secret
填写后点击 Save,再点击 Test → Upload。
在第二台机器上恢复¶
安装插件,打开同一页面,填写相同的值(包括 sync group),点击 Pull。状态卡片会列出已恢复的凭证,例如:
pulled
credentials: ACME_API_KEY, OTHER_API_KEY
日常使用¶
- 手动模式:编辑完 Settings → Models 下的模型后手动上传;切换到另一台机器前先 pull。
- 自动模式:勾选 Auto upload。自动上传不会触发 pull。
- 冲突处理:不会静默覆盖。如果两边都修改了,pull 会被拒绝并指出冲突轴(
model routes、API keys或两者)。勾选 Force 取远程值,或上传以保留本地值。
适用场景与注意¶
- 适合有多台机器需要同步模型配置和第三方 API 密钥的场景。
- 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。
- 密钥以明文存储在远程,任何人能访问远程存储(如私有 bucket、专用应用密码)即可读取所有密钥。建议:
- 使用专用应用密码,可随时撤销
- 不要共享云端账户
- 仅需同步模型声明时关闭 Sync keys
- 若远程被获取,在提供商处撤销相应密钥
- 本地同步状态(
~/.dsh/model-key-sync/cloud-state.json)存储的是哈希,而非密钥。
总结¶
这个插件填补了 DSH 生态中同步第三方 API 密钥的空白。在配置相同的 WebDAV 或 S3 兼容存储后,新机器只需一次 pull 即可恢复所有自定义 provider 及其密钥,减少重复输入。
- 插件目录页:https://www.skillhub.cn/plugins/tesths/dsh-model-key-sync
- GitHub 仓库:https://github.com/tesths/dsh-model-key-sync