lodfather/dsh-workspace-alias ↗★ 0
dsh-workspace-alias
DeepSeek Harness plugin: cross-device workspace path aliasing — let sessions synced from another machine (e.g. macOS /Volumes/Data/notes vs Windows F:\notes) group into the local workspace of the same project.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lodfather/dsh-workspace-alias说明文档
阅读完整 README ↗配置
两种方式,任选其一,结果等价(workspace-alias.json 始终是唯一真源):
方式一:DSH 设置界面(推荐,v0.4.0 起)。双半区插件:host 侧向 settings 服务注册 workspace-alias namespace;client 侧(lib/client.js,DSH client-module 格式)注册 settings.section slot,设置页出现「工作区别名」完整编辑区(别名组增删改 + autoAttach 开关,草稿式编辑、原子保存),保存即写回 JSON 文件、热生效。宿主无 settings 服务时自动退化为方式二,无需任何配置。
方式二:手工编辑 /workspace-alias.json(建议纳入你的 .dsh 同步白名单,一台维护、两端生效):
{
"version": 1,
"groups": [
["/Volumes/Data/notes", "F:\\notes"]
],
"autoAttach": true
}
groups:每个数组是一组「同一个项目在不同机器上的路径」,≥2 项autoAttach:启动时把「仅靠别名解析成功的会话」挂入本地 workspace(默认 true;这类会话不可能被本机主动 detach 过,不会违背手动整理意图)- 修改后由文件 watcher 热加载;新同步进来的会话在下次重启 dsh 时归组
remarks:
- 设置界面编辑同样写回
workspace-alias.json,因此 Syncthing 同步语义不变(一端 UI 修改,另一端 watcher 热加载) - UI 写回前会把上一版内容备份为
workspace-alias.json.bak(防误清空) - 单成员组合法但只能告警(它永远无法 alias 到另一台机器);坏组跳过、不毒化整表(v0.2.4 容错语义)