dsh-codex-subscription

DSH PLUGIN浏览器与联网

仓库 yequ172672/dsh-codex-subscription · npm dsh-llm-codex

浏览器与联网 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH 插件:复用 Codex CLI 本地登录凭证,在 DeepSeek Harness 中使用 ChatGPT 订阅模型,无需 API Key。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 20 复刻 4 · 未关闭 issue 未标注
最近更新 2026-10-07 创建于 2026-08-14
README 10.8 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-llm-codex可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-codex-subscription:DeepSeek Harness 的 Codex 凭证复用插件

  • 复用 Codex 凭证
  • 免 API Key
  • 自动刷新令牌
  • 模型实时发现

适用场景

终端命令

上游标签

chatgptcodexdeepseek-harnessdshdsh-pluginllm

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
  • L4.4_RESOLVED_ARTIFACT 安装版本已解析 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方yequ172672仓库 dsh-codex-subscription · 默认分支 未标注
分类浏览器与联网network
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue20 / 4 / 未标注收录时的数值,非实时
创建 / 更新2026-08-14 · 2026-10-07最后推送 未标注
本站收录2026-08-21首次进入本站目录的时间

README 全文

10.8 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-llm-codex

> 📦 已发布到 npm:dsh-llm-codex(当前仓库版本 0.2.0)
> · 📚 GitHub:yequ172672/dsh-codex-subscription
> · 🏷️ 属于 dsh-plugin 插件话题

DSH(DeepSeek Harness)LLM 适配器插件:直接复用 Codex CLI 的本地登录凭证,在 DSH 中
使用 ChatGPT 订阅模型(gpt-6.1-sol 等),不需要 API Key。

这是一个标准的 dsh 插件包:包内 dsh.bundle.patch 声明使其成为 profile 层,
通过官方 dsh plugin 命令安装后自动激活,无需手工编辑任何 composition 文件。

版本兼容性

插件版本 DSH 桌面端 宿主 dsh-llm 配置模型
0.2.x ≥ 44(0.2.0-rc.2) 0.2.x 导出 Config + 全字段 .volatile(),设置页自动生成
0.1.x ≤ 43(0.1.0-rc.6) 0.1.x settings.yaml 的 llm-codex: 段

0.1.x 在 DSH ≥ 44 上会装载失败:宿主已删除 settings.register(设置服务重构为
表单投影),且 LlmRuntime 每次调用都会调用 0.1.x LlmAdapter 上不存在的
prepareCall。请使用 0.2.x。

Codex wire 版本:服务端按 version 头门控模型目录 —— 旧默认 0.144.1 只返回
旧目录且拒绝 gpt-6.1-sol(HTTP 400 "not supported … ChatGPT account");0.2.x 默认
已升到 0.160.1(2026-10 实测返回全量目录)。可用配置 clientVersion 覆盖。

搭配推荐:dsh-session-import-codex

配合 dsh-session-import-codex 使用
效果更佳:它把 Codex 的历史会话导入 DSH(会话 id 形如 codex-),与本插件的
"凭证/模型复用"互补 —— 在 DSH 里既能用 Codex 订阅模型对话,又能无缝续聊 Codex 里
开过的对话,实现"模型 + 历史"全链路打通。

dsh plugin --profile web add dsh-session-import-codex
# 迁移(离线流程:先停止 dsh web 进程 → dry-run → 正式导入 → 重启 dsh)
pnpm --dir "$env:USERPROFILE\.dsh\profiles\web" exec dsh-import-codex --profile web --dry-run
pnpm --dir "$env:USERPROFILE\.dsh\profiles\web" exec dsh-import-codex --profile web

> ℹ️ [email protected] 起已正确声明全部依赖,直接安装即可。

原理

Codex CLI(codex login)会把 ChatGPT 订阅的 OAuth 令牌写入 ~/.codex/auth.json(或
CODEX_HOME)。本插件与 codex CLI 同源读取该文件,并参照两个成熟实现
(参考实现:你的 oh-my-pi-cn 与
opencodex)的 wire 细节:

凭证形态 端点 认证
tokens(auth_mode: chatgpt,订阅) https://chatgpt.com/backend-api/codex/responses Authorization: Bearer + chatgpt-account-id + OpenAI-Beta: responses=experimental + originator: pi + version
OPENAI_API_KEY(auth_mode: apikey) https://api.openai.com/v1/responses Authorization: Bearer
  • 凭证热跟随:每次请求都重新读 auth.json,CLI 登录/换号/登出,DSH 下一次请求自动生效。
  • 令牌刷新:access_token 过期(HTTP 401)时用 refresh_token 走
    auth.openai.com/oauth/token 刷新并自动重试一次;刷新成功后默认原子写回
    auth.json(writeBack: false 可关闭),与 codex CLI 行为一致,两边凭证永远同步。
  • 模型目录:优先实时拉取 GET {base}/codex/models,失败时回退
    ~/.codex/models_cache.json,再回退内置静态列表。
  • 协议:OpenAI Responses API(stream: true SSE),推理摘要、正文、工具调用分别映射为
    DSH 的 reasoning / text / tool-call 块,usage 从 response.completed 提取。

目录结构

lib/
index.js      插件入口(注册 provider "codex" + 目录条目 + volatile Config)
adapter.js    CodexAdapter:fetch + SSE → StreamChunk(含 60s 模型目录缓存)
auth.js       auth.json 读取 / 订阅令牌刷新 / 原子写回
serialize.js  harness 消息 → Responses API 请求体
translate.js  Responses SSE 事件 → StreamChunk
sse.js        SSE 字节流解析(Responses 协议无 [DONE])
models.js     模型目录:实时发现 → models_cache.json → 静态兜底
transport.js  可选 HTTP CONNECT 代理(https-proxy-agent + node-fetch)
constants.js  wire 常量(端点/头/上下文窗口)
cordis.bundle.yml   dsh.bundle 声明的 profile 层(插件行;安装后自动挂载)
test/serialize.mjs       请求序列化单元测试
test/apply-contract.mjs  0.2.0 宿主装载契约测试(离线)
test/smoke.mjs           端到端冒烟测试(只读,绝不写 auth.json)
test/version-probe.mjs   client_version 门控探针 + 最小流式对话

安装(dsh 官方插件命令)

前置条件

  1. 已安装 dsh 本体(本插件是 dsh 的 profile 层,必须先有 dsh):
npm install -g @deepseek-ai/dsh
dsh --version   # 确认命令可用

> 若提示 无法将"dsh"项识别为 cmdlet… / dsh: command not found,
> 说明 dsh 尚未安装或不在 PATH,与插件无关。
2. 已安装 pnpm(dsh plugin 会转发给它;缺失时 CLI 会提示)。
3. 已登录 Codex CLI:codex login(插件直接复用其凭证,无需 API Key)。
4. 能访问 chatgpt.com(国内网络通常需要代理,见下文"机器相关配置")。

安装插件

安装已发布的包:

dsh plugin --profile web add dsh-llm-codex

本地开发直接加路径(pnpm 会以 link: 链接,改动即时生效):

dsh plugin --profile web add D:\CODE\dsh\dsh-llm-codex

dsh plugin 做了什么:在 profile 目录里执行 pnpm add,然后把安装结果与
dsh.profile.bundles 层栈自动 reconcile —— 任何声明了 dsh.bundle.patch 的依赖
自动成为 profile 层,update 时新版本获得 bundle 声明也会自动激活,remove 后自动
移除。无需手工编辑 cordis.patch.yml。

> 💡 版本范围建议:请用不带版本号的方式安装(add dsh-llm-codex),pnpm 会保存
> ^x.y.z 范围,之后的 dsh plugin update 能自动收取更新。若 profile 里依赖被写成
> 精确版本(例如 "dsh-llm-codex": "0.1.0",常见于从本地 link: 依赖切换或显式指定
> 版本号的情况),update 会显示 "Already up to date" 而不会升级;重新执行一次不带
> 版本号的 add 即可回到范围跟踪。另外,刚发布的新版本可能触发 pnpm 的
> minimumReleaseAge 供应链策略(写入 pnpm-workspace.yaml 的排除清单或短暂提示),
> 属正常现象。

验证组合结果(不启动服务):

dsh --profile web --dump-config   # 应看到 "# == dsh-llm-codex" 与 llm-codex 行

重启 dsh 后,Web 模型选择器出现 Codex (ChatGPT 订阅) provider,插件清单页
(设置 → 插件)也会列出 llm-codex 条目。

机器相关配置(不进包)

ChatGPT 后端通常需要走本地代理;Node 原生 fetch 不读系统代理。

DSH ≥ 44(插件 0.2.x):settings.yaml 已退役 —— DSH 启动时会把旧
settings.yaml 的段一次性迁移到 profile entry 配置,之后配置入口有两个:

  1. 设置页(推荐):插件装载后 DSH 会按 Config 自动生成本插件的配置表单
    (字段全部 volatile,改动热生效、无需重启)。
  2. profile 组合文件 ~/.dsh/profiles//cordis.patch.yml:
- id: llm-codex
name: dsh-llm-codex
config:
proxy: http://127.0.0.1:7890

也可用环境变量 HTTPS_PROXY(优先级:显式 proxy 配置 > HTTPS_PROXY >
HTTP_PROXY;NO_PROXY 命中的主机直连)。其他可选字段:clientVersion(默认
0.160.1)、writeBack(默认 true)、streamIdleTimeoutMs、authFile、
modelsCacheFile、staticModels(显式模型目录)。

选用 codex 作为默认模型(cordis.patch.yml):

- id: agent-default-model
name: "@deepseek-ai/dsh-agent-default-model"
config:
provider: codex
model: gpt-6.1-sol
reasoningEffort: medium

发布到 npm(dsh 插件库)

dsh 的"插件库"即 npm registry:dsh.bundle.patch 声明就是插件身份。

npm login
npm publish            # 仓库目录内执行
# 任何机器上:
dsh plugin --profile web add dsh-llm-codex
dsh plugin --profile web update          # 升级所有 profile 插件
dsh plugin --profile web remove dsh-llm-codex   # 移除

发布前检查:files 字段含 lib 与 cordis.bundle.yml;dsh.bundle.patch 指向的
patch 文件只含插件行,不含任何机器相关的配置。

测试

npm test                              # 序列化单元测试 + 0.2.0 装载契约测试
npm run test:smoke                    # 文本对话(默认模型 gpt-6.1-sol)
npm run test:smoke -- gpt-5.5         # 指定模型
npm run test:smoke -- gpt-6.1-sol --tools   # 额外验证工具调用路径
npm run test:probe                    # client_version 门控探针 + 最小流式对话

冒烟测试输出凭证形态、模型目录(实时拉取)、一次真实流式对话的结果与 usage。
测试默认只读(writeBack: false),绝不改写 auth.json;需要走代理时设置
HTTPS_PROXY(如 http://127.0.0.1:7890)。

故障排查

现象 处理
MISSING_CREDENTIAL:无法读取 Codex 凭证文件 先运行 codex login 登录
TRANSPORT:Connect Timeout 本机直连 ChatGPT 后端被墙;配置 proxy(见上文)
HTTP 401 且刷新失败 订阅过期或被风控;运行 codex login 重新登录
HTTP 429 订阅额度/限流,稍后重试
INVALID_REQUEST:System messages are not allowed 系统提示已自动改走 instructions 字段,不应出现;如出现请升级插件
INVALID_REQUEST:Unsupported parameter 订阅后端拒绝 max_output_tokens/temperature/stop,适配器已自动剥离;如仍出现请升级插件
The 'gpt-6.1-sol' model is not supported … ChatGPT account client_version 太旧被服务端门控;升级插件(默认已 0.160.1)或把 clientVersion 配成与本机 codex 一致的版本
模型列表只有旧模型(gpt-5.6 系) 实时发现被 0.144.1 旧版本头门控;同上调整 clientVersion
模型列表为空 实时发现失败且 models_cache.json 不可读时使用内置静态列表

注意事项

  • 本插件会读取并(在刷新时)改写 ~/.codex/auth.json,与 codex CLI 行为一致;如不希望
    写回,设置 writeBack: false(届时过期令牌只在内存中刷新,重启 dsh 后重新刷新)。
  • 适配器为文本 only:图片内容会以 UNSUPPORTED_CONTENT 拒绝。
  • 订阅额度由 OpenAI 按账号计量,与 codex CLI 共用同一配额。

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-codex-subscription 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-llm-codex`。

dsh-codex-subscription 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-codex-subscription 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-codex-subscription 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2。版本较多,只列出前 8 个。

dsh-codex-subscription 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

dsh-codex-subscription 有哪些功能?

复用 Codex 凭证、免 API Key、自动刷新令牌、模型实时发现。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

2 条
不同作者的仓库分开列,请确认你要装的是哪一个
浏览器与联网
按星标排序,可作替代方案

dsh-our-free-model

dsh-our-free-model

在 DeepSeek Harness 中装上这个 DSH plugin,无需登录、注册或填 API Key,即可直接调用 DeepSeek

L3 · 安装规范通过 8,796 星

dsh-web

dsh-web

侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。

L3 · 安装规范通过 8,549 星

BrowserSkill

BrowserSkill

BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edg

L4 · 沙盒安装通过 8,456 星

dsh-pocket

dsh-pocket

DSH Pocket 让 DeepSeek Harness 装进口袋:电脑跑 dsh web,手机扫码即实时同步访问(局域网+公网),人在外

L5 · 运行验证通过 1,656 星

Browser4

Browser4

L4 · 沙盒安装通过 1,152 星

agentrq

agentrq

L4 · 沙盒安装通过 1,140 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。