dsh-sync:DeepSeek Harness 的 Git 配置同步工具

在 DeepSeek Harness(DSH)环境中,跨机器同步配置通常意味着复制整个配置目录,这会引入敏感信息和本地化设置。dsh-sync 旨在解决这些问题,提供一种更安全、更可控的 Git 同步工作流。

dsh-sync 是一个用于同步 DeepSeek Harness 设置和配置文件的插件。它由 ZhenHuangLab 维护。核心价值在于让用户明确选择要同步的内容,同时将敏感数据和本地设置保留在本地,并在应用变更前进行审核。

核心功能

  • 选择性配置同步:只同步选定的命名空间、配置文件。
  • 敏感设置感知:在存储前移除已知密钥和配置的本地路径,确保敏感数据不进入 Git。
  • 逐行审核:在应用前审核变更,可以单独启用或禁用某一行。
  • 可执行变更确认:变更涉及代码或插件执行时,需要明确确认。
  • 冲突处理:支持 Cherry-pick 单行或选择 Keep/Take 整个文件。
  • 安全恢复:应用前备份,并在中断或验证失败时恢复。

安装与启用

以 Web 配置文件为例,安装命令如下:

dsh plugin --profile web add dsh-sync

安装完成后,需要重启 dsh web,然后在 Web UI 中打开 Settings → Git Sync。

使用方法

Web 界面流程

  1. 在 Settings → Git Sync 中输入 Git 远程 URL 和分支。
  2. 选择需要同步的设置命名空间、配置文件、补丁和预设。
  3. 将机器特定的设置路径添加到 Keep local-only paths,确保这些路径不被同步。
  4. 保存配置并选择 Compare。
  5. 检查 incoming 和 outgoing 的变更,确认无误后应用设置。

命令行操作

在会话中可以使用以下 /sync 命令:

/sync status
/sync check
/sync diff
/sync pull
/sync push
/sync doctor
/sync recover

在终端中也可以直接运行:

dsh-sync status
dsh-sync check
dsh-sync doctor
dsh-sync recover

本地路径配置

如果某些配置(如 baseURL)需要在特定机器上保持不变,可以在 Keep local-only paths 中添加这些路径。

注意事项

  • 凭据处理:dsh-sync 不在配置中存储 Git 凭据,而是使用现有的 Git 环境。拒绝包含嵌入凭据的 HTTPS 远程 URL。
  • 扫描报告:敏感扫描报告会显示受影响的路径,但不会显示具体的密钥值。
  • 不同步的内容:以下内容永远不会被同步:凭据、会话、存储、node_modules、生成的配置文件(如 .dsh-sync、.env*)、系统预设、符号链接或 gitlink。
  • 可执行变更:涉及代码或插件执行的变更永远不会被自动应用,必须经用户确认。

总结

dsh-sync 为 DSH 提供了一个安全的 Sidecar Git 工作流。通过选择性的配置同步、敏感数据过滤和严格的变更确认机制,它解决了跨机器配置管理的痛点。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜