Skip to content

Releases

v0.1.1 — corrected latency analysis

Choose a tag to compare

@HuaimaoCy HuaimaoCy released this 26 Sep 14:35

Registers the ChatGPT models available to the local Codex desktop app as a first-class DeepSeek Harness LLM provider, so those models appear in the model picker and can be assigned to subagents. Reuses the desktop app's own ChatGPT sign-in — no API key.

Also adds three read-only tools for reading conversations the desktop app already has: codex_desktop_sessions, codex_threads_list, and codex_thread_read.

Corrected in this release

v0.1.0 claimed the first turn cost 115 seconds because Codex's WebSocket prewarm never completed and Codex waited out its full retry budget. That was wrong, and this release corrects it in the bundled README and in docs/PERFORMANCE.md.

Re-measuring the same private CODEX_HOME, with the same empty config.toml and WebSocket still allowed:

Measurement First turn, turn/start → first token
The slow window (21:37) 115821 ms
Same home, after the fault cleared (22:29) 6616 ms
Fresh home, same period 6864 ms
HTTPS only, same period 8138 ms

With a healthy network the two transports are indistinguishable. The 116-second window was a transient network-path fault that landed on the WebSocket handshake — not a property of Codex or of this plugin.

What still holds, and is the only part now claimed as fact:

  • all of the 115.8 s sat between sending turn/start and receiving the first token;
  • codex.exe wrote nothing to stderr during it, so it read as a hang rather than as slowness;
  • the fallback latches per session (upstream force_http_fallback), which is where the "first turn slow, then 3–5 s" shape comes from.

supports_websockets = false is therefore described as what it is: a way to skip the retry ladder when the WebSocket path is unhealthy, not a root-cause fix. It is kept because it costs nothing in the healthy case and helped inside the fault window, but that claim rests on timing correlation alone — the fault did not recur, so no controlled A/B was possible.

Install

pnpm dsh plugin --profile web add "https://github.com/HuaimaoCy/dsh-codex-chatgpt/releases/latest/download/plugin.tgz"

Then restart dsh web: host-side plugin code does not hot-reload.

Requirements

  • Windows, with the Codex desktop app installed and signed in to ChatGPT
  • DeepSeek Harness with the plugin-manager
  • Node >= 22.5.0

Verification

  • 45 unit cases (node --test)
  • 10 live checks against a real codex.exe and the real ChatGPT session (tools/live-e2e.mjs)

Known limits

  • DSH tool schemas are not forwarded to Codex: it runs its own agent loop and toolset inside the app-server.
  • Reasoning is not streamed; the protocol emits no reasoning-item notifications for these models.
  • Text only. Image attachments become an [image omitted] placeholder.
  • The provider is configured approvalPolicy: never with sandbox: read-only, because no UI exists to answer an approval prompt.

v0.1.0 — ChatGPT models in DSH, without the 115-second first turn

Choose a tag to compare

@HuaimaoCy HuaimaoCy released this 26 Sep 14:02

Correction (see v0.1.1). The explanation of the 116-second first turn below is wrong. It was not Codex's WebSocket prewarm failing; re-measuring the same home with WebSocket still allowed gives 6616 ms to the first token. See https://github.com/HuaimaoCy/dsh-codex-chatgpt/blob/main/docs/PERFORMANCE.md and the v0.1.1 release.

Registers the ChatGPT models available to the local Codex desktop app as a first-class DeepSeek Harness LLM provider, so those models appear in the model picker and can be assigned to subagents. Reuses the desktop app's own ChatGPT sign-in - no API key.

Also adds three read-only tools for reading conversations the desktop app already has: codex_desktop_sessions, codex_threads_list, and codex_thread_read.

Install

pnpm dsh plugin --profile web add "https://github.com/HuaimaoCy/dsh-codex-chatgpt/releases/latest/download/plugin.tgz"

Then restart dsh web: host-side plugin code does not hot-reload.

Requirements

  • Windows, with the Codex desktop app installed and signed in to ChatGPT
  • DeepSeek Harness with the plugin-manager
  • Node >= 22.5.0

Verification

  • 45 unit cases (node --test)
  • 10 live checks against a real codex.exe and the real ChatGPT session (tools/live-e2e.mjs)

Known limits

  • DSH tool schemas are not forwarded to Codex: it runs its own agent loop and toolset inside the app-server.
  • Reasoning is not streamed; the protocol emits no reasoning-item notifications for these models.
  • Text only. Image attachments become an [image omitted] placeholder.
  • The provider is configured approvalPolicy: never with sandbox: read-only, because no UI exists to answer an approval prompt.