Back to home@Canary-Builds

dhs-connect

DSH Connect — ChatGPT model connector for DeepSeek Harness, powered by the Codex app-server.

Stars
0
Language
JavaScript
Created
Sep 5, 2026
Updated
Sep 6, 2026
GitHub repo

Introduction

DSH Connect

DSH Connect — Connect DeepSeek Harness to ChatGPT models using OAuth sign-in

Connect DeepSeek Harness to ChatGPT models using OAuth sign-in through the official Codex app-server, without requiring an OpenAI API key.

DSH Connect is a community Cordis plugin with a model-provider adapter and a web Settings panel. The first connector supports Codex/ChatGPT; it is not tied to a particular model. The provider ID is openai-codex.

Install

Requires Node.js 22.19+ and an installed official Codex CLI. Tested with DSH 0.1.1-rc.2 and Codex 0.153.4 on Linux. Both upstream interfaces are evolving; other versions and operating systems need validation.

Install from npm:

dsh plugin --profile web add @canary-builds/dsh-connect

Use --profile headless instead for the CLI profile. To pin this release, use @canary-builds/dsh-connect@0.3.3. No npm account or plugin build step is required to install the public package.

A prebuilt tarball and SHA256SUMS are also available in the v0.3.3 GitHub release.

Restart your running Harness instance after installation. Open Settings → DSH Connect, sign in with ChatGPT, and select a model from the normal model picker. Install only the profiles you use. A pnpm workspace-root profile may require its existing ignoreWorkspaceRootCheck setting or the package-manager workspace-root option.

Remove the earlier dsh-plugin-codex-astra or dsh-openai-oauth adapter from a profile before installing this one: both claim the same openai-codex provider route. Keep your existing Codex sign-in directory to preserve authentication.

Screenshots

Select a screenshot to view it at full size.

Desktop connection settings and model catalog
Desktop connection settings and model catalog
Connection settings on a narrow screen
Connection settings on a narrow screen

The narrow-screen example also uses DSH Mobile UI. Models shown depend on your account and plugin version.

Features

  • Account model discovery merged with a curated fallback; unlisted model IDs can still be requested.
  • One catalog shared by Settings and the model picker, with refresh and connection diagnostics.
  • Text streaming, reasoning summaries, Harness dynamic tool calls and token accounting.
  • Request cancellation, RPC timeouts, process recovery and separate auxiliary calls.
  • Conversation reconstruction after restart, compaction or changed tool definitions.
  • No runtime npm dependencies or automatic binary downloads.

Harness owns tool execution and permissions. The connector disables native Codex tools and delegation features, and does not silently substitute a different model.

Configuration

By default DSH Connect finds codex on PATH, and uses ~/.deepseek-harness/codex as its sign-in directory. Set DSH_CODEX_HOME to an existing Codex home if you want to reuse that login.

Environment variables:

VariablePurpose
DSH_CODEX_BINAbsolute path to the official Codex executable; overrides discovery.
DSH_CODEX_HOMECodex sign-in and configuration directory.
DSH_CONNECT_CONFIGOverride the configuration-file path.
DSH_CONNECT_NO_PROXYOptional domains to append to the Codex child's NO_PROXY.

Alternatively, create $DSH_HOME/connect.json (default ~/.dsh/connect.json):

{
  "codexBin": "/absolute/path/to/codex",
  "codexHome": "/absolute/path/to/codex-home"
}

The optional noProxy field contains a comma-separated domain list. Proxy routing is inherited unchanged unless explicitly configured. Do not put credentials in this file; the official Codex executable manages authentication.

For a browser on another machine, forward the callback port before signing in:

ssh -N -o ExitOnForwardFailure=yes -L 1455:127.0.0.1:1455 user@harness-host

Replace user@harness-host with your SSH destination. The bundled dsh-connect-login command also supports Codex's --device-auth option when available to your account. Run dsh-connect-doctor through your profile's executable environment for diagnostics.

Development

git clone https://github.com/Canary-Builds/dhs-connect.git
cd dhs-connect
npm test
npm run test:package
npm run doctor
npm run test:live

No dependency installation is required for unit tests. npm test rebuilds the client and exercises transport failures, cancellation, model fallback, tool bridging, history recovery, Settings registration and request-origin checks. The build derives the client module ID from package.json; edit src/client.js, not lib/client.js.

test:live uses your configured ChatGPT login and sends a few short requests. Set DSH_CONNECT_TEST_MODEL to choose the test model. scripts/verify-web.mjs checks a running DSH server's served module using its actual module loader and a React render check; it uses DSH_WEB_URL and optionally DSH_RUNTIME_PACKAGE for the host location.

Limits and security

This version supports text and text tool results. Image attachments and per-turn temperature, stop sequences or output-token caps are not supported. A model's presence in the catalog does not guarantee account access.

Matching continuations reuse an ephemeral Codex thread. When that state no longer matches the supplied DSH history, the connector rebuilds from a role-labeled JSON transcript. This adds prompt tokens and does not restore hidden reasoning or replay completed tool execution.

Settings controls require loopback transport and same-origin requests and reject cross-site requests. Remote access requires a trusted deployment proxy; the plugin does not create public endpoints or add authentication to a proxy. Native stderr is not forwarded to Harness logs because it can include request data. Diagnostics filter common credential patterns.

See CONTRIBUTING.md for changes, RELEASING.md for versioned releases and npm publishing, and DIRECTORY.md for a ready-to-copy directory submission.

Upstream references

The development history began with the community dsh-openai-oauth integration. The connector implementation in this repository was subsequently rewritten. DSH Connect is independently maintained by Canary Builds and is not an official DeepSeek or OpenAI product.

License

MIT. See LICENSE.