dsh-dntb · 跨电脑同步
在两台电脑之间接续 DeepSeek Harness 与 WorkBuddy 的工作。 逐项勾选工作区 / 对话,传到你自己的私有 GitHub 仓库。入口在 DSH 的左侧边栏。

它解决什么问题
换一台电脑,DSH 里那些对话还在旧机器上。你想接着上次的活干, 但只能靠 U 盘拷、或者手动翻目录。
这个插件把「要同步什么」变成一次勾选:按 DSH 自己的层级 (工作区 → 对话)列出来,勾哪几个就传哪几个。数据走你自己的私有仓库, 不经过任何第三方服务。
安装
方式一:从 npm
dsh plugin --profile desktop add dsh-dntb
方式二:直接从 GitHub
dsh plugin --profile desktop add github:lingrenjie7-star/dsh-dntb
--profile desktop换成你实际在用的 profile 名(dsh的桌面端一般是desktop, 浏览器端是web)。不确定的话跑dsh plugin --help看一眼。
装完重启 DSH,左侧边栏会出现「跨电脑同步」。
方式三:本地目录(开发用)
git clone https://github.com/lingrenjie7-star/dsh-dntb.git
dsh plugin --profile desktop add ./dsh-dntb
第一次使用
- 打开左侧边栏的「跨电脑同步」
- 到 账号 页,粘贴一个有
repo权限的 GitHub 令牌 - 到 仓库 页,点「+ 给这个软件新建仓库」(或者「加入已有仓库」)
- 回到 同步 页,勾选工作区,点「↑ 上传到 GitHub」
另一台电脑上:装同一个插件 → 连 GitHub → 仓库页会自动认出你的同步仓库
(靠仓库里的 dshwb-sync.json 标识)→ 点「↓ 从 GitHub 下载」。
界面
| 页 | 作用 |
|---|---|
| 同步 | 按「工作区 → 对话」勾选,上传 / 下载 |
| 仓库 | 本机仓库、GitHub 上可加入的、「未识别」仓库认领 |
| 账号 | 连接 / 断开 GitHub,网络通道检测 |
| 选项 | 目录设置(工作区根目录、数据目录)、追加软件、诊断 |
「未识别」标签页装的是那些没有标识文件、也没写同步标签的仓库 (多半是网页端手工建的)。指定它属于哪个软件,程序会把标识补写进仓库, 之后任何一台机器都能自动认出来。
工作原理
插件分两半,都在 DSH 进程里:
浏览器半边 (lib/client.js) 宿主半边 (lib/index.js)
侧边栏标签 + 四个面板 ⇄ 同步引擎(git / 文件 / GitHub API)
│ │
└──── HTTP POST /api/dshwb-sync ─────┘
- 宿主半边持有真正的同步能力(Node:
fs/child_process/https) - 浏览器半边只做渲染,所有操作都通过一条 HTTP 路由调宿主
- 路由挂在 DSH 自己的 webserver 上,默认只监听 loopback,另外带一道进程内随机口令, 挡住同机其它网页的 CSRF 调用
仓库标识
建仓时会在仓库根目录写一个 dshwb-sync.json:
{
"schema": "dshwb-sync/marker@1",
"repo": {
"source": "dsh",
"sourceLabel": "DeepSeek Harness",
"owner": "you",
"repoName": "dsh-sync"
},
"createdBy": { "machine": "my-pc", "at": "..." }
}
发现仓库时只读这个文件就能确定归属,不靠名字猜。 早期版本会「名字里带 dsh 就算 DSH 仓库」,那会把 DSH 的对话写进别人的项目仓库,已经删掉了。
已知限制
- 令牌以明文保存。DSH 插件跑在普通 Node 进程里,拿不到 Electron 的
safeStorage。界面会明确提示这一点,不会假装加密。如果这台机器不是你独占的, 建议改用桌面客户端登录。 - 需要 Web 组合。宿主半边依赖
webServer服务;在 headless 组合下插件会告警退出。 - 不做后台自动同步。同步永远由你点按钮触发。
桌面版
同一个仓库的 desktop/ 目录里还有一份独立的桌面客户端
(Electron,绿色版免安装)。功能一致,但可以用系统加密保存令牌。
见 桌面版说明。
No comments yet. Be the first to write one.