MIT-licensed DSH plugin that pulls five other harnesses' sessions, shared instructions, skills, memory and automations into DeepSeek Harness — idempotent, symlink-based, zero runtime dependencies.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-11-11
License
MIT
01What can it help you accomplish?
Import sessions from pi, opencode, codex, claude-code and WorkBuddy as resumable DSH sessions
Real dsh JSONL sessions with the full original history (text, reasoning, tool calls and recorded tool results) that continue in the DSH session list
Developers switching from another coding agent to DeepSeek Harness who do not want to lose their chat history
Make every harness read one shared instruction file, one skill hub and one memory store instead of per-harness copies
One canonical AGENTS.md / CLAUDE.md / CODEBUDDY.md plus one skill hub, with relative symlinks from every harness path and divergent copies reported as conflicts
People who run DSH alongside pi / codex / Claude Code on the same projects and are tired of drifting copies
Carry scheduled automations and custom agents over to DSH
Codex and WorkBuddy automations as paused dsh scheduled tasks, and pi / opencode agents as dsh skill bundles
Users with existing automation or agent libraries who want them usable from DSH
02How to install into DeepSeek Harness
Prerequisites
- Node.js >= 22.19 — the same baseline as dsh (node:sqlite, zstd via node:zlib)
- A DSH install whose web profile you can modify (the README uses `--profile web`)
Installation steps
- 01
Run `dsh plugin --profile web add dsh-unified-context` — the installer adds the package and appends it to the profile bundle list, no manual config
$ dsh plugin --profile web add dsh-unified-context
- 02
Restart `dsh web` so the host plugin registers its slash commands
$ dsh web
- 03
Refresh the page — the old page's RPC connection is gone after a restart
Verify the integration
- The composer tool row shows the Sync button and `/import-all` answers in the input
- Optional: `npm view dsh-unified-context version` and `pnpm list dsh-unified-context`
Rollback
- `dsh plugin --profile web remove dsh-unified-context` uninstalls the plugin
03DSH integration and capability boundaries
DSH plugin bundle: host half registers slash commands, client half adds the Sync button in the composer
Five-source session import
pi JSONL, opencode SQLite, codex JSONL, claude-code JSONL, WorkBuddy JSONL→dsh JSONL sessions (checksummed zstd frames) that resume with the full history
writes session files into the dsh persistence backendContext linker (/link-context)
AGENTS.md / CLAUDE.md / CODEBUDDY.md, skill directories, memory directories per harness→one canonical copy plus relative symlinks; identical copies collapse into links, divergent copies are reported as conflicts
replaces identical per-harness copies with symlinksnever overwrites divergent filesAgents and prompts to skills
pi agents / mode prompts, opencode agents→`$DSH_AGENTS_HOME/skills/<name>/SKILL.md` bundles discoverable via `ctx.skills.list()`
name conflicts are renamed `<name>-<source>`existing bundles are completed, never clobberedAutomation migration
Codex `automation.toml`, WorkBuddy automations SQLite→dsh scheduled tasks with the RRULE translated, imported paused by default
creates scheduled tasks that must be armed manually after the source is switched offMarkdown export
imported dsh sessions→`$DSH_HOME/exports/<source>/<session-id>.md` readable by any agent
04Who is it for? When not to use it?
Good for
- Developers switching from another coding agent to DeepSeek Harness who do not want to lose their chat history
- People who run DSH alongside pi / codex / Claude Code on the same projects and are tired of drifting copies
- Users with existing automation or agent libraries who want them usable from DSH
Not for
- The linker never overwrites a difference: identical files become links, but divergent copies are listed as conflicts and left untouched, so you merge them by hand and re-run.
- Migrated automations are imported paused so the source automation cannot run twice; pause or delete the source first, then resume the dsh task and check the translated schedule.
05Compatibility, maintenance and safety notes
- The linker never overwrites a difference: identical files become links, but divergent copies are listed as conflicts and left untouched, so you merge them by hand and re-run.
- Migrated automations are imported paused so the source automation cannot run twice; pause or delete the source first, then resume the dsh task and check the translated schedule.
- WorkBuddy's global identity/memory files, MCP server definitions and provider/permission settings are not unified — they stay harness-native.
- Git-hosted plugins that build during install hit pnpm >= 10 build blocking: the first `add` fails with an allowBuilds hint, so copy the printed key into the profile pnpm-workspace.yaml and re-run. A built tarball or local checkout needs no allowance.
- Node >= 22.19 is required (node:sqlite and zstd via node:zlib); the plugin has zero runtime dependencies beyond Node built-ins and dsh platform modules.
MIT · README evidence only, latest release v0.5.0, safety not audited
06Frequently asked questions
How do I run the whole migration in DeepSeek Harness?
Install with `dsh plugin --profile web add dsh-unified-context`, restart `dsh web`, refresh the page, then click the Sync button in the composer tool row or type `/import-all`. That one command imports sessions from all five sources, converts agents into skills, links the shared context and plans the paused automation tasks. Re-running is idempotent — already-imported sessions are skipped.
Does the context migration copy files into every harness?
No. `/link-context` keeps one canonical copy and makes every harness read path a relative symlink to it. Identical existing copies are replaced with links; divergent copies are reported as conflicts and left untouched. Deleting a symlink restores the previous per-harness file.
Why are migrated automations paused?
So nothing runs twice while the source Codex or WorkBuddy automation is still active. Pause or delete the source, then resume the dsh task from the Automation tasks page and check the translated schedule — `--activate` skips the paused default if you already disabled the source.
Are tool results kept when a session is imported?
WorkBuddy records real tool results and those are imported verbatim. pi, opencode, codex and claude-code store only the call, so their imports keep the call as a `tool-call` block with a clearly marked placeholder `tool/result` — the trajectory still renders cards and resumed requests stay API-legal.
What does it need to run?
Node.js >= 22.19, the same baseline as dsh, and no runtime dependencies beyond Node built-ins (node:sqlite, zstd via node:zlib) plus dsh platform modules. After every restart you must refresh the page, because the old page's RPC connection is gone.
07Related DSH workflows
weknora
by tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
honcho
by plastic-labs
Memory library for building stateful agents
webnovel-writer
by lingfengqaq
A long-form Chinese web-novel writing assistant for Claude Code and DeepSeek Harness, designed to reduce memory loss and hallucinations in serialized projects of up to 2 million characters.
reme
by agentscope-ai
ReMe: Memory Management Kit for Agents - Remember Me, Refine Me.
08Data and sources
migrates **pi**, **opencode**, **codex**, **claude-code**, and **WorkBuddy (Tencent)** into [DeepSeek Harness](https://g…
Context is **shared through symlinks — one real copy, every harness reading it — never copied per harness.**
**One-click Sync button.** A small control in the composer tool row runs `/import-all` and shows the result inline — ses…
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-11. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
