DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Session Migrator — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

dsh-session-migrator

Session Migrator

DeepSeek Harness 的可视化跨设备会话迁移,支持拖放导入工作区

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Suixin04/dsh-session-migrator#f73f2edf07e8d3a7e91ba265e64130a3c1f6460e
README兼容性版本

兼容性与来源证明

Session Migrator 以 dsh-session-migrator 发布,当前版本为 0.2.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/24

版本

0.2.4stable
2026/8/24
0.2.2stable
2026/8/24

相关插件

正在加载相关插件…

最新版
0.2.4
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/8/24
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Mnemondsh-mnemon面向 DeepSeek Harness 的可组合三层记忆控制平面:持久化运行时上下文、可搜索的项目文档、可插拔的长期记忆、受保护的策略、WebUI 和无头工具。Memsearch Dsh@zilliz/memsearch-dsh适用于 DeepSeek Harness 的 MemSearch 插件:在多个代理之间共享 Markdown 记忆,支持捕获、步骤前上下文注入、记忆召回技能和技能候选审核面板。Memory@furongjun1999/dsh-memory灵枢(Lingshu·líng shū)DeepSeek Harness 插件:完整大脑——长期记忆/知识飞轮/自我认知/递归反思接入 DSH,对话自动沉淀进 md_cg 认知图(md 文档)

README

dsh-session-migrator

English | 简体中文

A visual cross-device session migration plugin for DeepSeek Harness. Export a session on one device, then import its ZIP, JSONL, or unpacked folder into a selected workspace on another device.

Session migration workflow: export archive, drag or choose files, and select the target workspace

Highlights

  • Visual workflow — use the sidebar action instead of memorizing commands.
  • Drag and drop — drop a Harness session ZIP, session.jsonl, or complete export folder onto the page, then choose a target workspace.
  • Cross-device workspace mapping — rewrites every imported session's cwd to the destination workspace.
  • Complete session trees — imports the root session and every subagents/<id>/session.jsonl descendant.
  • Safe duplicate imports — never overwrites an existing session. If any source ID already exists, the complete tree receives new IDs while lineage and Harness provenance references are remapped together.
  • Attachment migration — restores referenced PNG, JPEG, WebP, and GIF objects and verifies their content-addressed IDs.
  • Harness-native validation — decodes storage rows with decodeStorageRecord() and validates each reconstructed log with Session.create() before writing.
  • Immediate original titles — warms Harness's projection cache during import, so workspace rows show their durable session titles before the sessions are opened.
  • English and Chinese UI — follows the active Harness language automatically.
  • CLI fallback — /session-import remains available for local, scripted workflows.

Requirements

  • DeepSeek Harness 0.1.1-rc.2 or a compatible build.
  • The destination workspace directory must already exist on the destination host.
  • Project files are not included in a session export; migrate the project separately with Git or another synchronization method.

Install

Clone this repository on the machine running Harness:

git clone https://github.com/Suixin04/dsh-session-migrator.git
cd dsh-session-migrator
npm install
npm run build:client

Install it into the Web profile:

dsh plugin --profile web add /absolute/path/to/dsh-session-migrator

Restart the existing dsh web process. The Import sessions action then appears at the bottom of the sidebar.

Updating package.json, Host code, or the profile composition requires a Harness restart. Rebuilding client.js alone may be picked up only when the matching client-plugin watcher is running.

Export on the source device

Harness already provides session export. Open the source session and either:

  • run /export, or
  • click Session log in the session header.

The browser downloads a file similar to:

dsh-session-session-xxxxxxxx.zip

The archive normally includes the root session, all descendant subagent sessions, and referenced image attachments.

Import on the destination device

Visual import

  1. Click Import sessions in the sidebar.
  2. Choose a ZIP/JSONL file, choose a complete export folder, or drag it directly onto the Harness page.
  3. Click or drop onto the destination workspace card.
  4. Wait for validation and persistence to finish.
  5. Click Open imported session.

The interface follows the current Harness language:

会话迁移流程:准备导出文件、拖入或选择文件、投放到目标工作区

Command import

Use the current session's workspace:

/session-import "/absolute/path/dsh-session-xxx.zip"

Choose another existing workspace explicitly:

/session-import "/absolute/path/dsh-session-xxx.zip" --workspace "/absolute/path/to/project"

An unpacked export directory or a single JSONL file is also accepted:

/session-import "/path/to/unpacked-export" --workspace "/path/to/project"
/session-import "/path/to/session.jsonl" --workspace "/path/to/project"

Duplicate strategy

When none of the imported IDs exists locally, original session IDs are preserved.

When any ID conflicts, the plugin clones the complete imported tree:

  • every session receives a new UUID;
  • header id and parentSession fields are remapped;
  • Harness senderSessionId provenance fields are remapped;
  • structured Session Reference targets inside the imported tree are remapped;
  • existing local logs are never overwritten.

User/model-authored text, historical tool arguments, and tool-result text are intentionally not searched and replaced. They are immutable conversation content, and blindly rewriting ID-like strings could corrupt meaning. If a continued cloned conversation tries to reuse an old subagent ID, call list_agents to obtain the current cloned address.

Supported input layout

session.jsonl
subagents/
  <session-id>/
    session.jsonl
media/
  <attachment-id>.<png|jpg|jpeg|webp|gif>

A ZIP may contain one extra top-level directory. The importer detects and strips that single wrapper when locating the root session.jsonl.

Safety and limitations

  • Session exports may contain complete prompts, responses, system context, tool calls, absolute paths, and images. Treat them as sensitive data.
  • The importer enforces archive, JSONL, and entry-count limits and rejects unsafe paths, duplicate entries, malformed logs, duplicate IDs, cyclic lineage, and orphan descendants.
  • Harness persistence is append-only and currently exposes no public deletion or multi-session transaction API. The plugin validates the complete archive before writing, but a storage failure during the final write phase can leave a successfully committed prefix.
  • Importing again after a partial write creates a fresh cloned tree. Inspect the workspace first to avoid unwanted duplicates.
  • This plugin migrates session state and referenced images, not repository files, credentials, model-provider settings, or external services.

Development

npm install
npm run build:client
npm test

Important files:

  • index.js — Host plugin, /session-import, and POST /api/session.import.
  • core.js — parsing, validation, attachment restore, ID remapping, and persistence.
  • client-src.js — React UI source and drag/drop workflow.
  • client.js — prebuilt Harness lazy-CJS browser bundle.
  • build-client.mjs — browser bundle build script.
  • cordis.patch.yml — DSH profile bundle patch.

License

MIT