前言¶
在使用 DeepSeek Harness(DSH)时,配置文件通常散落在本地的 ~/.dsh 目录中。当需要在多台机器之间同步这些配置,或者希望统一管理多个 AI 编码工具(如 OpenCode、Cline、Roo Code 等)的设置时,手动复制文件不仅效率低下,还容易引发冲突。dsh-git-sync 旨在将 DSH 的配置目录转化为一个 Git 仓库,实现配置的实时或定时同步,并支持桥接其他 AI 工具的配置。
是什么¶
这是 DeepSeek Harness 的 Git 配置同步中心插件。它由 Yiyang0659 维护,采用 MIT 许可证。该插件将 DSH 的配置变成 Git 仓库,并提供多 AI 工具适配器,让所有 AI 工具的设置都能同步到同一个 GitHub 私有仓库中。
核心功能¶
- 实时同步:监听配置仓库的变化,在配置稳定后自动提交并推送到远程。
- 每日调度器:支持每日定时同步,并在启动时进行补齐运行。
- 冲突自愈:自动修复拉取时的冲突状态,避免因未合并文件导致的拉取失败。
- 多 Harness 适配器:支持 DeepSeek Harness 原生配置,以及 OpenCode、Cline、Roo Code、Kilo Code、Continue、goose、Agent Zero 等工具的配置桥接。
- 智能复制:拉取时仅写入实际变更的文件,保护本地的新编辑。
- 网络重试:在 fetch/pull/push 过程中遇到网络错误时自动重试。
- 四状态徽章:在会话头部显示同步状态(已同步/待上传/待拉取/分叉/冲突),并提供详情面板。
- 侧边栏页面:若安装了
dsh-better-sidebar,可在侧边栏注册 Git 同步中心页面。 - 安全:自动将凭证文件加入
.gitignore,插件不直接触碰 GitHub Token,而是调用本地 git 命令。 - 双机准备:支持在两台机器上同步配置文件,实现配置共享。
安装与启用¶
在 ~/.dsh/profiles/web/package.json 的 dependencies 字段中添加依赖项,然后运行 pnpm install。
- 编辑
~/.dsh/profiles/web/package.json,添加以下内容:
{
"dependencies": {
"dsh-git-sync": "github:Yiyang0659/dsh-git-sync"
}
}
- 进入
~/.dsh/profiles/web目录,执行安装命令:
pnpm install
- 重启 DSH Web 服务:
dsh web
典型用法¶
- 在 GitHub 上创建一个私有仓库(例如
deepseek-harness-sync)。 - 进入 DSH 根目录并初始化 Git 仓库:
cd ~/.dsh
git init
git branch -M main
git remote add origin https://github.com/<你>/deepseek-harness-sync.git
- 进行一次 Git 认证(凭证会保存在操作系统的钥匙串或凭据管理器中):
git config credential.helper osxkeychain
(Windows 系统可使用 manager)
- 重启 DSH Web 后,打开会话头部的徽章面板。
- 点击“⬆️ 本地 ➔ Git”进行首次推送。
- 在“⚙️ 设置与适配器”中启用实时同步、每日调度器,并开启你使用的 AI 工具适配器。
适用场景与注意¶
该插件适合需要在多台设备间保持配置一致的开发者,或希望统一管理多个 AI 编码工具设置的用户。
- 权限说明:每日调度器和实时监视器运行在 DSH 的服务器进程中,而非 Web 页面中。
- 冲突处理:当两台机器同时编辑同一文件时,插件默认开启
pullFirst模式,会先拉取并变基远程更改。 - 生态背景:DSH 生态强调“一切皆插件”,社区目录(如 skillhub.cn)与 DeepSeek 官方无隶属关系。
结语¶
dsh-git-sync 将 Git 的版本控制能力引入了本地 AI 工具配置管理,解决了多机协作和工具配置同步的痛点。通过本地 Git 调用而非直接操作 Token,它在保证同步能力的同时提供了较高的安全性。