Back to directory

dsh-unified-context

In a curated listMaintenance: Active

chang-tong/dsh-unified-context

Imports resumable sessions and agents, links shared instructions and skills, converges memory, and migrates automations into DSH tasks.

View on GitHubHomepage
$ dsh plugin --profile web add dsh-unified-context

22

stars

1

forks

JavaScript

Language

MIT

License

2026-08-14

Created

2026-11-09

Last push

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

  1. 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

  2. 02

    Restart `dsh web` so the host plugin registers its slash commands

    $ dsh web

  3. 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 integrationNative runtime

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 backend
  • Context 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 files
  • Agents 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 clobbered
  • Automation 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 off
  • Markdown 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.
2026-08-142026-11-09v0.5.0

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.

08Data and sources

  • Author-claimedgithub.com108a5f09a151…

    migrates **pi**, **opencode**, **codex**, **claude-code**, and **WorkBuddy (Tencent)** into [DeepSeek Harness](https://g…

  • Author-claimedgithub.com108a5f09a151…

    Context is **shared through symlinks — one real copy, every harness reading it — never copied per harness.**

  • Author-claimedgithub.com108a5f09a151…

    **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.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.