voyager
Nagi-ovo
Enhancement suite for Gemini, AI Studio, Claude, ChatGPT & DeepSeek — plus a prompt manager for any website, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude、ChatGPT 与 DeepSeek 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:zhangxiubo/dsh-llm-chatgpt-oauth
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Use a ChatGPT Plus/Pro subscription as a DeepSeek Harness model provider through pi-ai's openai-codex OAuth route—without an OpenAI API key.
This package registers the OpenAI Codex model catalog exposed through ChatGPT OAuth. It does not turn the public
api.openai.comroute into subscription access, and it does not scrape browser sessions.This is an independent community project, not an official OpenAI, DeepSeek, or pi-ai package. OpenAI, ChatGPT, and Codex are trademarks of their respective owners.
openai-codexchatgpt.com/backend-apiOPENAI_API_KEYgpt-5.4, gpt-5.5, and compatible gpt-5.6-* models)PiAiAdapterModel availability and usage limits are controlled by the ChatGPT account and may change independently of this connector.
>=22.19.0pnpm on PATH (used by dsh plugin add)@deepseek-ai/dsh-llm-pi-ai@0.1.0-rc.7@earendil-works/pi-ai@0.82.1The connector intentionally extends a private-by-convention PiAiAdapter.current() construction seam so it can inject pi-ai's OAuth credential store. Its Harness and pi-ai peer versions are therefore pinned exactly; upgrade those pins only after the full suite and opt-in live test pass against the new versions.
For an immutable install, use the release commit SHA shown in the GitHub release notes:
dsh plugin --profile web add 'github:zhangxiubo/dsh-llm-chatgpt-oauth#<release-commit-sha>'
A version tag is a more readable alternative:
dsh plugin --profile web add 'github:zhangxiubo/dsh-llm-chatgpt-oauth#v0.1.0'
The connector is a DSH bundle, so either command installs the Git dependency and appends its declared dsh.bundle.patch to the profile's bundle stack—no manual cordis.patch.yml edit. Restart dsh web afterwards.
The repository ships directly runnable JavaScript and needs no install-time build, prepare script, or pnpm allowBuilds entry. This follows Harness's official GitHub plugin-install guidance, including its recommendation to pin a commit SHA. To test the latest development branch instead, omit the revision:
dsh plugin --profile web add github:zhangxiubo/dsh-llm-chatgpt-oauth
The package is marked private and includes a failing prepublishOnly guard to prevent accidental npm-registry publication; GitHub releases are the supported distribution channel.
If you manage the profile yourself, install the package where the profile's Cordis loader resolves Node packages, then add one row to ${DSH_HOME:-$HOME/.dsh}/profiles/web/cordis.patch.yml:
- insert:
- id: llm-chatgpt-oauth
name: dsh-llm-chatgpt-oauth
The important requirement is that import('dsh-llm-chatgpt-oauth') resolves from the profile composition.
After installing the package:
dsh-llm-chatgpt-auth login
The command prints an OpenAI device-code URL and code, waits for authorization, and saves a dedicated connector credential. It never prints tokens.
Other commands:
dsh-llm-chatgpt-auth status
dsh-llm-chatgpt-auth logout
The credential is stored at:
${DSH_HOME:-~/.dsh}/llm-chatgpt-oauth/oauth.json
By default, when no dedicated credential exists, the connector reads:
${CODEX_HOME:-~/.codex}/auth.json
That makes an existing codex login immediately usable. Refreshed connector credentials are written to the connector's own file and never overwrite the Codex CLI file.
For independent token lifecycle, use the dedicated login command and disable bootstrap in ${DSH_HOME:-~/.dsh}/settings.yaml:
llm-chatgpt-oauth:
bootstrapFromCodexCli: false
After the post-install restart, the Models settings page lists OpenAI Codex (ChatGPT) as an active provider. Select a concrete model in the composer model picker, or set the default for new agents in ${DSH_HOME:-~/.dsh}/settings.yaml:
agent-default-model:
provider: openai-codex
model: gpt-5.4
reasoningEffort: high
The current DSH Models editor has curated forms only for its built-in DeepSeek and pi-ai settings namespaces. This third-party OAuth row is therefore provider visibility/status; use the login CLI for OAuth and the llm-chatgpt-oauth: settings section below for advanced connector options.
Set connector options in ${DSH_HOME:-~/.dsh}/settings.yaml; valid changes apply live and refresh both the adapter metadata and Models provider directory:
llm-chatgpt-oauth:
displayName: OpenAI Codex (ChatGPT)
streamIdleTimeoutMs: 300000
bootstrapFromCodexCli: true
# Optional explicit paths:
# codexAuthFile: /path/to/codex/auth.json
# credentialFile: /path/to/dsh/oauth.json
# Optional provider request headers (redacted as secret on settings wires):
# headers:
# X-Custom-Header: value
The same fields may be set as the composition base by targeting llm-chatgpt-oauth in the profile's cordis.patch.yml; settings values override that base. OAuth access and refresh tokens never enter either file. Custom headers are validated, redacted from settings wire responses, and cannot override authorization, cookie, proxy-authorization, or HTTP transport headers.
To disable the route without uninstalling the package:
- id: llm-chatgpt-oauth
disabled: true
openai-codex, plus a configurable-provider directory entry addressed by the llm-chatgpt-oauth settings namespace.CodexOAuthAdapter subclasses PiAiAdapter and builds pi-ai's Models collection with an OAuth credential store.openaiCodexProvider() and uses https://chatgpt.com/backend-api.PiAiAdapter converts Harness messages to pi-ai context and converts streamed pi-ai events back to Harness chunks.The connector does not place access or refresh tokens in DSH settings, model configuration, logs, or the Git repository.
npm install
npm run verify
The ordinary test suite never contacts OpenAI and does not require credentials.
Run the opt-in live test only on an authenticated machine:
RUN_LIVE_CODEX=1 npm run test:live
Choose another model with:
RUN_LIVE_CODEX=1 CODEX_MODEL=gpt-5.5 npm run test:live
Inspect the package payload before creating a GitHub release:
npm pack --dry-run
This project is distributed directly from GitHub rather than the npm registry. package.json is intentionally marked private and carries a registry-publication denial hook; its package name still identifies the Cordis module when pnpm installs the Git dependency.
Canonical repository links are declared in package.json. Release maintainers should follow RELEASING.md, publish an annotated version tag, and include its immutable commit SHA in the GitHub release notes.
~/.codex/auth.json or the connector's oauth.json.PiAiAdapter implementation; upstream changes may require an update.See SECURITY.md for reporting guidance.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: chatgpt、oauth。