dsh-codex: Run Codex Models in DeepSeek Harness with Your ChatGPT Subscription
yan-zero/dsh-codex
Use ChatGPT subscription to access Codex models in DeepSeek Harness without OpenAI API key.
dsh-codex lets DeepSeek Harness users sign in with a ChatGPT subscription and use Codex models without an OpenAI API key, with streaming, tool calls, and image generation.
dsh plugin --profile web add github:yan-zero/dsh-codex- Category
- Models & Reasoning
- Platform
- DSH-Plugin
- Author
- yan-zero
- Distribution
- Plugin
dsh-codex Key Features
dsh-codex Repository

dsh-codex Repo Summary
dsh-codex is a model/inference DSH plugin for DeepSeek Harness that lets you use your existing ChatGPT subscription through OpenAI's Codex sign-in flow, without requiring an OpenAI Platform API key or any dsh source patch. It solves the problem of subscription users not being able to directly use DSH, and provides a full Codex model catalog, streaming, tool calls, reasoning replay, prompt caching, and dsh compaction. The plugin is maintained by Yan-Zero, licensed under Apache-2.0, and last updated in 2026-08.
What core features does the dsh-codex DSH plugin support?
- ChatGPT OAuth from the dsh Settings panel or a standalone CLI, with automatic token refresh.
- The Codex GPT catalog, including vision-capable models when the account offers them.
- Streaming, tool calls, reasoning replay, prompt caching, and dsh compaction through the normal LLM service.
- Codex standalone web search through dsh's existing
web_searchtool. - Optional HTTP(S) URL input added to Harness's existing
read_imagetool. - An
imagegentool backed bygpt-image-2, with workspace or conversation reference images and automatic workspace output. - Browser image input through dsh's existing paste and drop controls.
How do I install dsh-codex?
Install the prebuilt bundle from npm into the selected dsh profile:
dsh plugin --profile web add github:Yan-Zero/dsh-codex
dsh web
From a DeepSeek Harness source checkout, use pnpm dsh plugin --profile web add dsh-codex. A local plugin checkout can still be installed with link:/absolute/path/to/dsh-codex for development.
How do I sign in to my ChatGPT account with dsh-codex?
Open Settings → OpenAI Codex → Sign in with ChatGPT. The plugin opens OpenAI's authorization page and completes the localhost callback. The account page shows live Codex quota bars and exact remaining percentages; exact credit balances or workspace limits appear only when the account API supplies them.
For terminal and headless installations, the CLI remains available:
dsh plugin --profile web exec dsh-openai-codex login
dsh plugin --profile web exec dsh-openai-codex login --device-code
dsh plugin --profile web exec dsh-openai-codex status
dsh plugin --profile web exec dsh-openai-codex logout
How do I use dsh-codex in dsh-tui?
For dsh-tui, install the bundle into the same profile:
dsh plugin --profile dsh-tui add dsh-codex
After restarting the TUI, /model lists the openai-codex catalog. With no explicit route or saved selection, the TUI adopts the bundle's gpt-5.6-sol default. Use /codex status|login|logout|usage|config for the account and live settings; the four boolean settings can be changed with /codex set <read-image|imagegen-other-models|websocket-context|native-compaction> <on|off>. Browser login shares the same dsh credential file used by the Web profile.
What image features does dsh-codex support?
Image support uses dsh's durable attachment path:
- paste an image into the Web composer with <kbd>Ctrl</kbd>+<kbd>V</kbd>, or drag and drop it;
- on Windows, paste a clipboard image with <kbd>Ctrl</kbd>+<kbd>V</kbd> in the adapted dsh-tui, or enter
@relative/image.png; clipboard images go straight to the attachment store, while path images use the active workspace filesystem; - ask the model to call
read_imagewith eitherfile_pathfor a workspace image orurlfor an HTTP(S) image; - PNG, JPEG, WebP, and GIF are accepted within the active dsh attachment limits;
- only a model that explicitly advertises image input may receive an image.
imagegen is available to any vision-capable conversation model. The current model writes an ordinary prompt and may select either referenced_image_paths or num_last_images_to_include; the plugin reads these and generates images.