Introduction

If you switch tasks between DSH (DeepSeek Harness) and Codex, a common requirement is to bring the current conversation to the other side, or to batch import unarchived conversations from a project to the other side. dsh-codex-migrate provides an explicit one-time structured import: perform an import once when needed, without relying on background bidirectional synchronization, and without turning conversations on both sides into shared sessions.

Plugin Positioning

dsh-codex-migrate is a DSH plugin maintained by polarskicpl under the MIT license. Adopting DSH’s “everything is a plugin” extension model, it integrates as a plugin to handle one-time structured migration between Codex and DSH.

Core Features

Below are the capabilities supported by the plugin:

  • One-time structured import from Codex → DSH and DSH → Codex
  • Supports single conversation migration without modifying the source conversation
  • Supports batch migration of unarchived conversations by DSH project, preserving the original workspace path
  • Provides entry points for “Continue in Codex” and “Continue in DSH”
  • Provides MCP memory Beta: remember_memory, search_memory, forget_memory
  • Supports three memory sources: Codex Markdown memory, bridge MCP memory, and Memory Skill storage
  • Uses size + mtime + hash to incrementally refresh the Codex session list via cache
  • Isolates corrupted JSONL session files

It does not perform background bidirectional synchronization, does not share conversations, and does not handle conflict merging. Each import is an explicit action.

Installation and Enablement

First, confirm the environment:

  • Available DeepSeek Harness
  • Codex desktop, Codex CLI, or Codex IDE extension
  • Node.js 18 or higher is recommended

Example commands use the DSH web profile; if you use a different profile, you need to replace it in the command.

Install the DSH plugin:

dsh plugin --profile web add dsh-codex-migrate

After restarting DSH, open Settings → Codex Migration. When the DSH plugin is installed separately, it supports import from the settings page and DSH → Codex operations. If you want to initiate an import from Codex or use MCP memory, you need to install the Codex companion.

Typical Usage

DSH → Codex

Click the Codex icon in DSH to import a DSH conversation and jump to Codex.

You can also open Settings → Codex Migration → Batch Migration by Project to batch import unarchived conversations in the project.

Codex → DSH

In Codex, say:

Continue in DSH

This will import the current Codex task to DSH and open it.

MCP memory Beta

Ask in a Codex task:

Use DSH MCP to remember that my test code is ocean-blue-728.

Then ask in another task:

Search DSH MCP memory and tell me my test code.

MCP memory is stored locally at:

~/.codex/dsh-codex-bridge/memory.jsonl

These memories are not uploaded by the plugin.

Applicable Scenarios and Notes

Suitable for DSH users who need to explicitly import conversations between Codex and DSH. When using it, it is recommended to pay attention to the following points:

  1. Each import is an explicit one-time operation; there is no background bidirectional synchronization, no sharing of conversations, and no conflict merging.
  2. When the DSH plugin is installed separately, it supports import from the settings page and DSH → Codex operations; initiating an import from Codex or using MCP memory requires installing the Codex companion.
  3. The DSH plugin runs under the permissions of the current dsh process; it is recommended to check the source code and MIT license before installation.
  4. Example commands use the web profile; if using a different profile, you need to replace it yourself.
  5. The DSH community directory is an independent community site and has no official affiliation with DeepSeek or High-Flyer.

Links

  • Plugin Directory Page: https://www.skillhub.cn/plugins/polarskicpl/dsh-codex-migrate
  • GitHub Repository: https://github.com/polarskicpl/dsh-codex-migrate