franksong2702/dsh-codex-connect ↗★ 163
dsh-codex-connect
通过OAuth将ChatGPT订阅连接至DSH 适合需要将ChatGPT OAuth及Codex模型接入DSH代理循环的用户。
安裝
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:franksong2702/dsh-codex-connect說明文件
閱讀完整 README ↗Codex Connect
English | 中文
Connect your ChatGPT subscription to DeepSeek Harness with OAuth, optional GPT Image generation and editing, user-controlled defaults, Harness-native approvals, diagnostics, and reliable session recovery.
Community Alpha — not affiliated with or endorsed by OpenAI, ChatGPT, Codex, DeepSeek, or DeepSeek Harness.
Codex Connect adds the openai-codex model provider to the normal Harness agent loop. Harness continues to manage tools, permissions, approvals, attachments, session persistence, compaction, and recovery. Installing the plugin does not change your default model or search route, and it does not turn a ChatGPT subscription into an OpenAI Platform API key.
Quick start
This guide recommends Codex Connect 0.2.0-alpha.9 / DSH 0.2.1-rc.2; the other exact supported hosts are listed below. Check dsh --version first and use doctor --json for local diagnostics; the CLI version alone does not prove which model-runtime packages are installed, and missing metadata is reported as unknown. For other versions, use Installation and upgrades. A moving npm tag such as alpha is not a compatibility guarantee.
| Requirement | Verified pairing |
|---|---|
| Codex Connect | 0.2.0-alpha.9 |
| DeepSeek Harness | 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2, 0.2.1-alpha.1, 0.2.1-alpha.2, 0.2.1-alpha.3, 0.2.1-alpha.4, 0.2.1-alpha.5, 0.2.1-rc.1 or 0.2.1-rc.2 (consistent package set) |
| Node.js | ^22.19.0 || >=24.0.0 |
| Account | ChatGPT OAuth with access to the requested Codex model; availability is decided by OpenAI |
Published maintenance release: 0.2.0-alpha.9 adds an optional reasoning-effort fallback and independent Standard / Fast / Ultrafast defaults for new top-level and ordinary subagent conversations. Explicit request effort and later manual speed choices win; omitted/reset settings retain the corresponding legacy defaults. Existing/resumed sessions remain respected. Ultrafast still requires sign-in and an eligible model/account route; eligibility and actual served tier remain unknown. Finite SSE and Task pause remain unchanged; no measured speed multiplier or real-account/Desktop acceptance is claimed.
Historical maintenance release: 0.2.0-alpha.8 adds explicit conversation Standard / Fast / Ultrafast selection, preserves the Host retry policy, sets the GPT-6.1 Sol context default to 500,000 tokens, and repairs recovery/file identity and Windows packaging checks. Ultrafast remains opt-in for the two documented Codex model IDs; defaults for new main/subagent conversations are not included. Eligibility and the actual served tier remain unknown; finite SSE and existing opt-in defaults are retained. No measured speed or real-account/Desktop acceptance is claimed.
Historical image-recovery release: 0.2.0-alpha.7 retains completed, validated originals when Harness preview saving fails, with original download and explicit continued editing. Tool help clarifies that chat can stay on DeepSeek while Codex Connect handles images through its separate ChatGPT OAuth lane. All eleven exact host pairings above remain verified; the underlying image interface and credentials are unchanged. Synthetic checks do not establish real-account or Desktop acceptance.
0.2.0-alpha.4 extends exact host support to DSH 0.2.1-alpha.2 and 0.2.1-alpha.3, retaining the previous five hosts. Existing supported hosts do not require an upgrade; Task remains paused and defaults are unchanged.
Historical maintenance release: 0.2.0-alpha.5 delivers exact DSH 0.2.1-alpha.4, 0.2.1-alpha.5 and 0.2.1-rc.1 support plus Host/browser runtime-identity diagnostics, retaining the seven previously published hosts. Diagnostics share one version policy; see the compatibility record and alpha.4 client-state repair. Publication and keyless verification do not establish new real-account, Desktop or authenticated-browser acceptance; #339 remains open for separate acceptance.
Historical release 0.2.0-alpha.3 adds official Desktop sign-in compatibility and Desktop-specific account diagnostics while preserving the Web flow. Desktop uses its own profile and bundled CLI; follow the Desktop installation instructions. The declared host versions, defaults and account storage are unchanged.
Historical release 0.2.0-alpha.2 publishes exact DSH 0.2.1-alpha.1 compatibility and the cross-route image selection handle repair. The earlier 0.2.0-alpha.1 artifact remains unchanged and rejects that host. Existing supported hosts do not require an upgrade.
As of 2026-10-20, npm alpha points to 0.2.0-alpha.9, while latest remains 0.2.0-alpha.1. Default installation still selects the earlier Alpha; the latest tag does not make it a stable release. Use the exact version below for these DSH pairings; a moving npm tag is not a compatibility guarantee for other hosts.
Historical release 0.2.0-alpha.1 adds gpt-6.1-sol through a model-catalog fallback and begins the shorter independent plugin numbering. The four supported DSH versions are unchanged; no host upgrade is required.
It retains Alpha 4.54's handling of initial system instructions and tool definitions on DSH 0.2.0-rc.2, diagnostics for differing host/plugin provider libraries, and Canary's normal-request checks, along with Alpha 4.53's core maintenance changes, existing-task recovery and safety, and 4.52's opt-in local request metrics. Collection stays off until a private directory is configured; unknown usage is not zero. No Task reopening or model-library/OAuth upgrade is included.
The package passed keyless installation/runtime regression on all eleven exact DSH versions above. Task controls remain paused: activation is rejected and existing current-host browser regressions show no controls in fresh Sessions. These checks do not establish live OAuth, real-account image editing, authenticated browser acceptance on the new host, or full user acceptance; migration of earlier Task grants across a Harness upgrade is not verified. Older supported pairings and their task behavior are documented in Installation and upgrades.
Historically, on 2026-10-10 the maintainer reported successful login and normal use on Desktop 0.2.0-rc.2 with the identified local adaptation build. Only the historical 0.2.0-alpha.3 client was compared with that local adaptation and found to differ only by the package-version string. This comparison does not establish 0.2.0-alpha.4 Desktop or live-account acceptance, nor acceptance of later npm artifacts; no new real Desktop acceptance was performed. See the Desktop acceptance record.
1. Install
dsh plugin --profile web add dsh-codex-connect@0.2.0-alpha.9
dsh web
Replace web with your existing profile name; use that same profile when starting Harness. From a DSH source checkout, prefix commands with pnpm. See INSTALL.md for other profiles and installation checks.
2. Authorize and select a model
Open Settings → Models → Openai-Codex → Authorize, then complete approval yourself in the browser. If an embedded window is blocked, select Open ChatGPT sign-in page. Choose an openai-codex model in the normal Harness model picker.
Never paste an authorization URL, code, token, or account identifier into an issue, log, chat, or configuration file. For a browser on another device, the optional manual callback form can complete the pending login without forwarding the localhost callback port; follow Remote browser authorization.
3. Check the installation
For a package-manager-free diagnostic, run the already installed bin directly (replace these independently identified paths):
node /absolute/profile/node_modules/dsh-codex-connect/lib/bin.js doctor --json \
--install-anchor /absolute/dsh/node_modules/@deepseek-ai/dsh/package.json
doctor --json reports local installation metadata without a network request or raw credentials; an anchor does not prove that installation is running. Wrappers such as dsh plugin exec may reconcile dependencies. See runtime identity and direct diagnostics, including Desktop/ASAR limitations. Development builds containing that change also distinguish page, Host-loaded and installed plugin versions in settings. A passing diagnostic is not proof of model access; an actual request requires separate authorization.

Core capabilities
- Accounts: save up to 16 accounts on the DSH host and manually select the active account for subsequent requests. Account selection is not a per-session binding. Requests keep their captured account; the plugin does not rotate accounts or silently fail over.
- Models and Astra support: the currently verified DSH and plugin combination supports
gpt-6-astra. The plugin supplies its missing model definition with Low, Medium, High, Xhigh, and Max reasoning levels; Default preserves the provider default. Saved Off/Minimal selections require an explicit update. When the installed dependency catalog includes Astra, the plugin preserves its native metadata while retaining these five calibrated reasoning choices. A model appearing in the list does not mean the current account has permission to use it; overall compatibility with new dependency versions still requires separate verification. - Fast Mode: request priority service for one conversation, off by default. Optional, separate profile settings can enable it for newly started top-level or subagent conversations without changing existing conversations. Actual speed and quota consumption depend on the service; no fixed speed multiplier is guaranteed.
- Quota: show the server-returned
5hand7dwindows and reset times, normally refreshed every 60 seconds while signed in and the tab is visible; failures back off. Missing windows are not invented; Spark uses its separate quota bucket. - Plugin updates: check for newer Codex Connect releases without installing anything or recommending changes to DSH. Host compatibility is available through explicit local diagnostics.

Optional capabilities
Development now follows the core maintenance scope: maintain connection, compatibility, diagnostics and recovery; freeze Task orchestration and unproven optimization work. Existing published options are not removed or remotely disabled by this decision.
Earlier Alpha 4.40/4.41 pairings: task-level model control is off by default. After explicit task authorization, GPT-5.6 Sol/Medium starts the task, and the active model may continue, change effort, or hand off the main task within the granted scope. The task shares one request ledger and budget; stopping, manual takeover, and restart recovery retain the grant boundary. Phase 2 read-only delegation requires separate consent and does not grant workers write access. Stock DSH 0.1.7-rc.1 with Alpha 4.43 keeps these Task controls paused; do not infer they are available from an older pairing. See Phase 1 and Phase 2 consent.
Alpha 4.40 also supplies gpt-6-sol and gpt-6-luna when older provider catalogs omit them, retaining native metadata when present. Both expose Low through Max (including Xhigh); Default omits an explicit effort. Codex Sol's Ultra orchestration mode is not implemented. New task grants can explicitly include these models, but existing grants, GPT-5.6 Sol/Medium startup and Luna Reserve remain unchanged. A catalog entry is not proof of account access. See compatibility scope and validation.
All options below are off on a fresh installation. Edit them in Settings → Plugins → Plugin configuration → Codex Connect or Settings → Models → Openai-Codex → More settings, then select Save changes. A conflict or failed save preserves your draft.
| Capability | Enable with | Important behavior |
|---|---|---|
| Proxy | enableProxy | Credential-free HTTP(S), scoped to this plugin's traffic, including compressed OAuth and quota responses. Unrelated Fetch calls retain the host's original transport. A failed proxy request does not silently retry directly. |
| Codex Search | enableSearch | Selects Codex for the entire profile's search route; disabling restores the previously active route. |
| Luna Reserve | enableReserveFallback | Uses the hidden Reserve route only when the backend explicitly authorizes it for the captured account; never changes global defaults or retries a generic 429. |
| Image viewing | enableImageTool | Adds view_image to vision-capable models for local files and validated public HTTP(S) images. |
| GPT Image generation and editing | enableImageGeneration | Generate from a prompt or edit selected conversation images with ordered references. Availability, dimensions, and quota remain account- and service-controlled. Also gates the cross-route image handle bridge, which persists the Codex Connect image selection handles into image tool results on non-Codex routes so image editing works there too; the openai-codex route is skipped because its adapter already injects the same handles per request. Optional imageHandleBridgeTools restricts the bridge to specific tools. |
| Auto-review | enableAutoReview | Sends bounded approval context, tool arguments, working directory, and the planned action to chatgpt.com, with confirmation on first enablement. Failures return to human approval. |
Published experiment: Alpha 4.35 includes Luna Reserve fallback, disabled by default. Real-account Reserve entry and recovery remain unverified; Alpha 4.34 does not include this feature.
With enableReserveFallback: true, the account UI and agent routing share one identity-bound quota state. Background refresh follows the returned quota windows while recently in use; fresh state is reused across agent steps. Ordinary quota reads also share the cache, even with Reserve disabled. The plugin enters gpt-reserve only with complete, non-FedRAMP account/user identity and backend Luna Reserve authorization, then restores the session's previous model and reasoning effort after confirmed ordinary-usage recovery. Reserve has its own allowance, is hidden from the model picker, and is not unlimited. The backend decides eligibility; reset times alone do not authorize a switch. This version supports known gpt-5.6-luna metadata only. See Luna Reserve fallback for refresh, identity, and verification limits.
Use the image g