DSH Hub
dsh-codex-sync cover

Walvez/dsh-codex-sync

dsh-codex-sync

UIWeb UI21 GitHub stars· updated 2026-08-23

The ultimate 2-way bridge between OpenAI Codex and DSH: bidirectional chat sync, live Skills mount & auto MCP mirroring.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-codex-sync

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-codex-sync DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-codex-sync.svg)](https://dshhub.dev/plugins/dsh-codex-sync)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Walvez/dsh-codex-sync, cleaned of badges and images.

⚡ dsh-codex-sync

The ultimate 2-way bridge between OpenAI Codex and DSH: bidirectional chat sync, live Skills mount & auto MCP mirroring.<br/> 2-way project chat sync · Live Skills mount · Auto MCP mirroring · Native modern UI

<a href="README.md"><b>English</b></a><a href="README.zh-CN.md"><b>简体中文</b></a>

<br/>
  <b>🎛️ Native Sync Settings Modal</b><br/>
  <b>📍 Sidebar Workspace Trigger</b><br/>
  <b>📥 Import from Codex by Project</b><br/>
  <b>📤 Export DSH Chats to Codex</b><br/>

🤔 Why dsh-codex-sync?

When using OpenAI Codex, developers build up significant workflow assets:

  1. Rich project chat histories with complete code contexts, architecture decisions, and debugging steps;
  2. Custom Skills libraries under ~/.codex/skills with tailored instructions and scripts;
  3. Configured MCP toolchains for databases, web searches, and browser automation.

When adopting or exploring DeepSeek Harness (DSH), developers typically face major friction:

  • Lost conversation history: Incompatible session formats prevent resuming past Codex tasks in DSH;
  • Configuration duplication and drift: Skills and MCP servers must be manually recreated and maintained in two separate tools;
  • One-way dead ends: Most migration scripts are one-time destructive copies that offer no clean way to safely bring DSH continuations back to Codex.

dsh-codex-sync eliminates this friction completely. It is not a throwaway migrator, but a production-grade, continuous two-way bridge between Codex and DSH.


✨ Key Highlights

1. 💬 Two-Way Safe Project Chat Portability (Codex ⇄ DSH)

  • Import from Codex:
    • Browse conversations grouped by workspace folder in an intuitive project tree;
    • Preserves user prompts, assistant outputs, reasoning traces, and tool-call trajectories;
    • Automatically attaches imported sessions to matching workspaces for seamless continuation;
    • Incremental re-import: Codex conversations continued after the initial import are marked as updated and append only new turns without creating duplicate sessions.
  • Export to Codex:
    • Export DSH native conversations or continuations back into Codex;
    • Automatically matches Codex's workspace catalog, gracefully locking unknown directories to prevent orphan threads;
    • Creates clean, standalone Codex rollouts (history_mode: legacy) and SQLite index entries without modifying or overwriting original Codex histories;
    • View and continue chats in Codex immediately after restarting the Codex app.
  • Sub-Agent Thread Filtering:
    • Hides internal sub-agent threads by default to keep the conversation list focused;
    • Easily expand and nest sub-agents under parent threads for selective, independent export.

2. ⚡ Live First-Class Skills Mounting

  • Mounts ~/.codex/skills/*/SKILL.md directly into DSH's native skill catalog;
  • Full support for nested directory resources and multi-file skill bundles;
  • Zero-restart updates: Edit a skill file on disk, and DSH recognizes the change on the next turn.

3. 🔌 Automated Bidirectional MCP Mirroring

  • Codex → DSH: Watches ~/.codex/config.toml live, dynamically mirroring [mcp_servers.*] to DSH with conflict avoidance and stderr silencing;
  • DSH → Codex (Reverse Bridge): Single-command setup (npx dsh-codex-sync codex-install) equips your Codex agent with tools to search, inspect, and install DSH plugins.

Related plugins