前言¶
DSH 生态强调插件化,但在实际使用中,多台设备间的上下文、会话记录和工作区文件往往难以统一。dsh-git-sync 插件通过 Git 协议,解决了工作区对话与文件的双向同步问题,支持仅同步会话或全量同步两种模式,并为预设/插件清单同步预留了中央仓库绑定。
插件简介¶
该插件由社区开发者 dHR-P 维护,采用 MIT 许可证。它利用 Git 仓库作为中央存储,实现 DSH 工作区数据(对话与文件)的多端同步,兼容 DSH 官方插件规范。
核心功能¶
- 设置与配置:在「设置 → 插件配置区」提供设置卡片,支持绑定中央仓库,并允许为每个工作区单独配置同步方案。
- 双模式同步:
- 仅对话模式:只同步
~/.dsh/sessions/的会话日志到仓库特定目录,不触碰本地工作区文件。 - 全部文件模式:执行
git add -A整仓同步,适合纯开发工作区跨设备续接。 - 跨设备路径无关:在「仅对话」模式下,使用逻辑名映射会话目录,不依赖本地绝对路径。新设备拉取后,会自动改写会话头部的路径信息以匹配本地环境。
- 新设备接入:支持新设备通过「克隆工作区」功能一键接入,自动完成仓库克隆、会话注册和路径改写。
- 凭据安全:复用系统 Git 凭据(SSH key / PAT 等),插件本身不存储任何密钥。
安装与启用¶
在终端执行以下命令安装插件:
dsh plugin --profile web add "github:dHR-P/dsh-git-sync"
安装完成后,重启 dsh web 进程。在「设置」页面的「插件配置区」中即可看到「Git 同步」卡片。
典型用法¶
- 进入「设置 → 插件配置区 → Git 同步」。
- 为每个工作区配置同步方案:
- 选择同步模式(仅对话或全部文件)。
- 填写远程仓库 URL。
- (可选)填写逻辑名以自定义跨设备镜像目录。 - 执行操作:
- 点击「推送」上传本地会话或文件。
- 点击「拉取」下载远端内容。 - 注意:在「仅对话」模式下,拉取后需重启 DSH 才能在侧栏看到新会话。
新设备接入¶
在新设备上使用时:
1. 安装插件并登录 GitHub。
2. 进入「设置 → Git 同步」。
3. 点击「新设备:克隆工作区」。
4. 输入本机目标路径(需为空或不存在)并选择对应的远程仓库。
5. 插件将自动完成克隆、注册工作区、拉取会话并改写路径。
6. 重启 DSH 后,会话将出现在侧栏。
注意事项¶
- 私有仓库:由于会话中可能包含敏感信息,建议将远程仓库设置为私有。
- 并发控制:同一时刻仅允许一台设备续接同一工作区,避免会话文件冲突。
- 路径依赖:
- 「仅对话」模式:完全路径无关,依赖逻辑名。
- 「全部文件」模式:按 git 相对路径同步。
- 会话存储:会话文件默认存于
~/.dsh/sessions/<projectKey(cwd)>/目录,DSH 启动时自动扫描发现。
总结¶
dsh-git-sync 插件为 DSH 提供了基于 Git 的标准同步方案,适合需要在多台设备间保持工作上下文一致的开发者。更多细节可查阅 GitHub 仓库。