Bundle
@weibaohui/dsh-sync
dsh 插件 · 多机同步:让多台机器上的 dsh 通过一个私有 GitCode 仓库保持一致——技能、会话、设置、插件清单四类内容各有独立开关;变更走分支 → PR → 合并,推送前自动回填远端新增防误删,支持 AI 智能对齐(语义合并双方改动)与一键解决冲突;强制私有仓库,pull 不覆盖本地改动。
- Source
- weibaohui
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# @weibaohui/dsh-sync [](https://github.com/topics/dsh-plugin) [](https://www.npmjs.com/package/@weibaohui/dsh-sync) **多机同步插件**:让多台机器上的 dsh 通过一个私有 GitCode 仓库保持一致——技能、会话、设置、插件清单都能同步。  ## 核心功能 - **四类内容可同步,每类独立开关 + 独立策略**: - 技能 skills(默认开,策略=并集):新增都收、双方改动交 AI 语义合并 - 会话 sessions(默认关,策略=备份):写 `backup/<实例ID>/`,各机云上独立,本地永不被覆盖 - 设置 settings.yaml(默认开,策略=备份):机器专属配置不打架,想共享键用「AI 智能对齐」逐键并 - 插件清单(默认开,策略=备份):各机 bundle/依赖清单互不覆盖(跨机整文件覆盖曾致宿主 crash loop) - 四种策略:**备份**(各机独立,永不被覆盖)/ **并集**(新增都收、逐文件三方、冲突交 AI)/ **覆盖·远端为准**(本地只读镜像,远端删本地也删)/ **覆盖·本地为准**(只推不拉) - **快照:本地优先,勾选才上云** - 「立即快照」默认只落本机(`~/.dsh/dsh-sync/snapshots/`,滚动保留 30 份,超窗真删除真释放);勾选「上传到云端 git」才写进 `backup/<实例ID>/snapshots/` 永久存档 - 每天首个同步自动打一份本地快照;范围=设置+插件清单(可选含技能),永远不含会话(体积大头) - 一键恢复:本地快照直接恢复,已上云的从影子仓库取回;恢复前自动把当前状态再拍一份(pre-restore-*) - **分支 → PR → 合并**:每台机器的变更以 PR 形式提交,冲突显化为一个待合并的 PR,绝不静默覆盖 - **同步前自动回填**:每次推送前先把远端新增、本机没动过的内容拉回本机,本机快照不会误删别的机器推上来的新技能/新配置 - **AI 智能对齐**:点「AI 智能对齐」,先自动回填远端新增,再由 AI 对两边都改过的文件做语义合并(动手前自动备份本机文件),合并后自动推送;仍冲突的 PR 顺手解决 - **AI 一键解决冲突**:出现冲突时设置页冒出「AI 解决冲突」按钮,点击后自动分析两边改动并合并,确定性的 git 操作不用你动手 - **安全**:强制私有仓库(公共仓库直接拒绝保存);访问 token 只写不回读 - **拉取安全**:pull 只回写本地没动过的远端变更,本地改过的内容不会被覆盖 ## 安装 ```bash dsh plugin --profile web add @weibaohui/dsh-sync -w ``` 装完重启 `dsh web` 即生效。 ## 使用 1. 到 [gitcode.com](https://gitcode.com) 创建一个**私有**仓库(插件不会代建) 2. 打开 Web UI → **设置页 → dsh-sync**,填入仓库地址与 access token,保存 3. 按需开关四类同步内容 4. 之后每次修改,通过同步操作把本机变更推成 PR;多机之间即可保持一致 5. 日常可点「AI 智能对齐」让 AI 先回填远端新增、语义合并双方改动;出现冲突时设置页会出现「AI 解决冲突」按钮,点一下即可 ## 联系我 :飞书群 
Install
dsh plugin --profile web add github:weibaohui/dsh-sync
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install weibaohui-dsh-sync from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.