dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness 可视化跨设备会话迁移插件|Visual cross-device session migration with drag-and-drop ZIP, JSONL, and folder imports.
English | 简体中文
一个用于 DeepSeek Harness 的可视化跨设备会话迁移插件。在一台设备导出会话后,可以在另一台设备把 ZIP、JSONL 或解压后的导出文件夹导入到指定工作区。
session.jsonl 或完整导出文件夹拖入页面,再选择目标工作区。cwd 重写为目标工作区。subagents/<id>/session.jsonl 后代。decodeStorageRecord() 解码存储记录,并用 Session.create() 验证每一份重建日志后才写入。/session-import 处理本地或脚本化工作流。0.1.1-rc.2 或兼容版本。在运行 Harness 的设备上克隆仓库:
git clone https://github.com/Suixin04/dsh-session-migrator.git
cd dsh-session-migrator
npm install
npm run build:client
安装到 Web Profile:
dsh plugin --profile web add /absolute/path/to/dsh-session-migrator
重启现有的 dsh web 进程。随后侧栏底部会出现 导入会话。
修改
package.json、Host 代码或 Profile 组合后必须重启 Harness。仅重建client.js时,也只有在相应 Client Plugin watcher 正在运行的情况下才可能自动更新。
Harness 已内置会话导出。打开需要迁移的会话,然后:
/export;或浏览器会下载类似文件:
dsh-session-session-xxxxxxxx.zip
导出包通常包含根会话、全部子代理会话以及被引用的图片附件。
界面会自动跟随 Harness 当前语言:
使用当前会话所属工作区:
/session-import "/absolute/path/dsh-session-xxx.zip"
显式指定另一个已有工作区:
/session-import "/absolute/path/dsh-session-xxx.zip" --workspace "/absolute/path/to/project"
也支持解压后的导出目录和单个 JSONL:
/session-import "/path/to/unpacked-export" --workspace "/path/to/project"
/session-import "/path/to/session.jsonl" --workspace "/path/to/project"
目标设备不存在冲突时,保留原始会话 ID。
只要任一 ID 已存在,插件就会克隆整棵导入树:
id 和 parentSession;senderSessionId 来源字段;用户或模型撰写的文本、历史工具参数和工具结果文本不会被搜索替换。它们属于不可随意改写的原始对话内容,盲目替换类似会话 ID 的字符串可能破坏语义。如果继续克隆会话时模型尝试复用旧子代理 ID,可先调用 list_agents 获取当前克隆树的地址。
session.jsonl
subagents/
<session-id>/
session.jsonl
media/
<attachment-id>.<png|jpg|jpeg|webp|gif>
ZIP 可以额外包含一层顶级目录。导入器在定位根 session.jsonl 时会自动识别并移除这一层包装。
npm install
npm run build:client
npm test
主要文件:
index.js:Host 插件、/session-import 和 POST /api/session.import。core.js:解析、校验、附件恢复、ID 重映射和持久化。client-src.js:React 界面源码和拖拽流程。client.js:预构建的 Harness lazy-CJS 浏览器 Bundle。build-client.mjs:浏览器 Bundle 构建脚本。cordis.patch.yml:DSH Profile Bundle Patch。MIT