DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Codex Provider — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@jcy2387/dsh-codex-provider

Codex Provider

连接 ChatGPT 账户,选择代理,并查看使用量和重置额度。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @jcy2387/dsh-codex-provider@0.1.7-rc.2.1
README兼容性版本

兼容性与来源证明

Codex Provider 以 @jcy2387/dsh-codex-provider 发布,当前版本为 0.1.7-rc.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/16

版本

0.1.7-rc.2.1prerelease
2026/9/26
查看其余 13 个版本收起版本
0.2.0-rc.2.1prerelease
2026/10/1
0.2.0-rc.2prerelease
2026/9/29
0.1.7-rc.3prerelease
2026/9/26
0.1.7-rc.2prerelease
2026/9/25
0.1.7-rc.1prerelease
2026/9/24
0.1.6-alpha.2prerelease
2026/9/20
0.1.5-rc.2prerelease
2026/9/14
0.1.3-alpha.2prerelease
2026/9/10
0.1.3-alpha.1prerelease
2026/9/9
0.1.2-rc.2prerelease
2026/9/4
0.1.2-rc.1prerelease
2026/9/3
0.1.2-alpha.3prerelease
2026/9/3
0.1.0-rc.12prerelease
2026/8/21

相关插件

正在加载相关插件…

最新版
0.1.7-rc.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
444.3 kB
文件数
32
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 5
周下载
119
安全扫描
✓ v0.1.7-rc.2.1 扫描通过
最近提交
2026/10/1
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。Codex Subscriptiondsh-codex-subscription通过 OAuth 在 DeepSeek Harness 中使用 ChatGPT 和 Codex 订阅,支持配额管理、安全重置、网页搜索、图像和快速模式

README

@jcy2387/dsh-codex-provider

English | 简体中文

OpenAI Codex as an installable DeepSeek Harness (DSH) LLM provider — ChatGPT account login instead of API keys, with a native Settings page, usage dashboard, and proxy-aware networking. Part of the DSH Codex Suite monorepo.

OpenAI Codex settings in DeepSeek Harness

Features

ChatGPT OAuth, both flows

  • Browser login opens the ChatGPT authorization page and completes via a loopback callback; device login (device code) covers headless or remote machines.
  • Login failures are classified on the Host into secret-free, localized reasons — region restrictions, callback port conflicts, callback timeout, state mismatch, token-exchange errors, account access, network issues, and more — so the browser never sees raw (potentially sensitive) error text.
  • IPv6 callback bridge: pi-ai's OAuth listener binds IPv4 only. On hosts where localhost resolves to ::1 first, the plugin temporarily listens on the IPv6 loopback and relays the callback to pi-ai's IPv4 listener on port 1455, so browser login still works.

Proactive token refresh

  • The access token rotates ~5 minutes before expiry (marginMs, default 300_000).
  • Transient refresh failures retry after 60 s, then every 300 s (retryDelaysMs).
  • A terminal refresh failure (dead refresh token: invalid_grant, explicit expiry/revocation, 401/403) is detected precisely — server errors (5xx) and rate limits (429) stay retryable — and surfaces the reconnect required state instead of failing mid-stream or condemning a healthy token.

Usage dashboard

Fetched from the account-scoped ChatGPT endpoint (chatgpt.com/backend-api/wham/usage) and rendered in Settings:

  • Plan and credits (balance, or unlimited). Plans render under their user-facing names: plus → Plus, prolite → Pro 5x, promax / pro → Pro 20x, free → Free, and likewise for Team / Business / Enterprise / Education; unrecognized identifiers pass through unchanged so new tiers stay visible.
  • Primary and secondary rate-limit windows with used-percent progress bars and localized reset times.
  • A limit reached notice; auto-refreshes every 60 s while connected, plus a manual refresh button.

Banked rate-limit resets

OpenAI grants eligible accounts one-time banked resets (launch and referral promotions) that can be redeemed to restore the 5-hour and weekly limit windows:

  • The usage dashboard shows the available reset count (riding the 60 s auto-refresh) and hides itself when the endpoint does not report the field; while resets exist, the same row also shows the earliest expiry (details are fetched silently whenever resets exist, falling back to the count alone on failure).
  • Redeem a reset only opens a confirmation dialog — nothing is redeemed yet: the dialog lists each reset by title and expiry (earliest first) with an explicit cannot be undone warning, and redemption runs only after a second Redeem reset click.
  • On confirm the Host calls the redemption endpoint (wham/rate-limit-reset-credits/consume) with a fresh idempotency key — one request, no automatic retries, so an ambiguous network failure never spends a second credit.
  • All four OpenAI result codes are localized (reset / already redeemed / nothing to reset / no credit); success silently refreshes usage and the remaining count.
  • Enabled only from loopback, like every other account action.

Proxy-aware networking

  • Auto-detects proxies from environment variables (http_proxy / https_proxy / all_proxy / no_proxy) and system settings — macOS (scutil --proxy), Windows registry, and Linux (GNOME gsettings / KDE).
  • Routes only OpenAI traffic (openai.com, chatgpt.com) through the proxy via a scoped undici dispatcher; loopback stays direct and unrelated traffic is untouched.
  • Explicit proxy mode setting: auto (detect), environment (env vars only), or off (direct). The active route and any detection issue are shown in Settings; changing the mode applies after a Host restart.

Reliability-first transport

  • Default transport is sse — upstream auto falls back to SSE only before WebSocket stream events begin, so a late WebSocket failure would otherwise duplicate partial output by replaying the request.
  • 5-minute stream idle timeout (configurable) bounds a hung response without killing slow thinking turns.
  • Configurable request timeouts and retry policy.

Security boundaries

  • OAuth state persists in the Harness credentials store (default ref OPENAI_CODEX_OAUTH); tokens never cross the browser RPC, which is registered with loopback-only authority.
  • Usage responses from OpenAI are validated and redacted before reaching the UI.

Install

dsh plugin --profile web add @jcy2387/dsh-codex-provider
dsh web

For a local development copy:

dsh plugin --profile web add link:/path/to/dsh-codex-suite/packages/codex-provider
dsh web

The plugin works in headless profiles too — the Web client half is optional; account management then happens through the browser on a loopback session.

Quick start

  1. Open Plugins → DSH Codex Suite → codex-provider and click Connect.
  2. In the login modal choose Browser login (or Device login on a remote machine) and complete ChatGPT authorization. Progress is shown live; you can cancel at any time.
  3. Once connected, pick an openai-codex model in the normal model selector and start chatting.

The same settings page also shows the usage dashboard (including banked resets) and the proxy mode control while connected; available resets can be redeemed from a confirmation dialog. Account actions (connect/disconnect/reset/proxy) are only enabled when the Web UI is accessed from loopback.

Configuration

Profile patch ID: codex-provider. Set values in the profile's cordis.patch.yml overlay.

OptionValuesDefaultNotes
transportsse | websocket | websocket-cached | autosseSee Reliability-first transport above.
streamIdleTimeoutMspositive integer300000Max idle interval while reading one response stream.
timeoutMspositive integer—Optional overall request timeout.
websocketConnectTimeoutMspositive integer—Optional WebSocket connect timeout.
retryPolicyretry policy objectbuilt-inRequest retry behavior (same schema as other DSH providers).
credentialRefcredential referenceOPENAI_CODEX_OAUTHHarness credential slot holding the serialized OAuth state.
ipv6CallbackBridgebooleantrueRelay the OAuth loopback callback for IPv6-preferred hosts.
proactiveRefreshbooleantrueRefresh access tokens ahead of expiry.
proxyModeauto | environment | offautoAlso editable in the Settings page; applies after restart.

Example overlay:

- id: codex-provider
  name: '@jcy2387/dsh-codex-provider'
  config:
    transport: sse
    streamIdleTimeoutMs: 300000
    proxyMode: auto

Architecture

The package ships two halves:

  • Host half (src/, exported from the package root) — a Cordis plugin injecting llm, credentials, and settings. It owns the OAuth lifecycle (CodexAuthService), token refresh (CodexTokenRefresher), network manager, usage service, and banked-reset service (CodexResetService), and registers the provider through PiAiAdapter (backed by @earendil-works/pi-ai's openaiCodexProvider). The model catalog is validated at load (context window / max tokens must be usable for context budgeting and compaction).
  • Web half (src/client/, bundled to lib/client.cjs and discovered via the dsh.client manifest) — a React settings section registered into the Web UI's Settings page, localized in Chinese and English.

The halves talk over one loopback-authority RPC channel (status, network, setProxyMode, usage, reset-credits, reset-credits/consume, login, cancel, logout). Failure reasons crossing this boundary are enum values, not error text.

Development

pnpm --filter @jcy2387/dsh-codex-provider check      # typecheck + test + build + publint
pnpm --filter @jcy2387/dsh-codex-provider typecheck
pnpm --filter @jcy2387/dsh-codex-provider test
pnpm --filter @jcy2387/dsh-codex-provider build

Eleven vitest suites cover the auth state machine and failure classification, the IPv6 callback bridge, terminal-vs-transient refresh detection, proxy discovery (macOS / Windows / Linux / env), usage parsing and redaction, banked-reset listing/redeeming/idempotency, the settings card controller, and the RPC contract.

See the monorepo README for workspace-wide commands.

License

MIT © jcy2387

This release targets DSH 0.1.7-rc.2. It imports openai-codex.proxyMode from settings.yaml or settings.yaml.imported into the active profile’s cordis.patch.yml, recording a marker after success and retaining the source after failure. The plugin’s compatibility import fills only missing values. Exported locale/en.json and locale/zh.json localize the name and description in DSH.