dsh-codex-connect 0.1.0-alpha.4.18 → 0.1.0-alpha.4.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/INSTALL.md CHANGED
@@ -12,7 +12,7 @@ Install `dsh-codex-connect` into one requested DeepSeek Harness profile without
12
12
 
13
13
  ## Install and validate
14
14
 
15
- The only verified combination is DSH plugin API packages `0.1.1-rc.2`, `@earendil-works/pi-ai` `0.82.1`, and Node.js `^22.19.0 || >=24.0.0`. Alpha 4.18 uses the rc.2 keyed Plugin configuration slot; users of older DSH API packages should upgrade the DSH API packages and pi-ai together, then rerun `dsh-codex-connect doctor --json` and `pnpm --silent run check:compatibility`; the contract does not make claims about future versions.
15
+ The only verified combination is DSH plugin API packages `0.1.1-rc.2`, `@earendil-works/pi-ai` `0.82.1`, and Node.js `^22.19.0 || >=24.0.0`. Alpha 4.20 uses the rc.2 keyed Plugin configuration slot; users of older DSH API packages should upgrade the DSH API packages and pi-ai together, then rerun `dsh-codex-connect doctor --json` and `pnpm --silent run check:compatibility`; the contract does not make claims about future versions.
16
16
 
17
17
  1. Check `dsh --version` or `dsh --help`. From a Harness checkout use `pnpm dsh`.
18
18
  2. Install the package:
@@ -21,7 +21,7 @@ The only verified combination is DSH plugin API packages `0.1.1-rc.2`, `@earendi
21
21
  dsh plugin --profile web add dsh-codex-connect@alpha
22
22
  ```
23
23
 
24
- After `0.1.0-alpha.4.18` is published, pin it exactly with `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.18`. If npm is unavailable after its matching GitHub prerelease is created, use `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.18'`.
24
+ After `0.1.0-alpha.4.20` is published, pin it exactly with `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.20`. If npm is unavailable after its matching GitHub prerelease is created, use `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.20'`.
25
25
 
26
26
  3. Run `dsh --profile web --dump-config` and require exactly one `llm-openai-codex` row loading `dsh-codex-connect`.
27
27
  4. Confirm the effective `agent-default-model` and `web.searchProvider` values are unchanged from before installation.
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # git hash-object README.md docs/README.zh.md
5
- README.md: a08627cda39b43cbc75d48f50370d8dcb7511365
6
- docs/README.zh.md: 3b018afca725285aa933eccc8b1c65599f1bf242
5
+ README.md: 29729f3c078749ca04dc1d648c496c7b57bf3b17
6
+ docs/README.zh.md: a7141cd531059e44771f763a8e5b75d529fc3f83
package/README.md CHANGED
@@ -28,7 +28,7 @@ dsh plugin --profile web add dsh-codex-connect@alpha
28
28
 
29
29
  Expected result: the package is added to that profile. This does not change the profile's default model or global search route.
30
30
 
31
- To reproduce this release exactly, use `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.18`. If npm is unavailable after the matching GitHub prerelease exists, use `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.18'`. A local checkout can be installed as `link:/absolute/path/to/dsh-codex-connect`.
31
+ To reproduce this release exactly, use `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.20`. If npm is unavailable after the matching GitHub prerelease exists, use `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.20'`. A local checkout can be installed as `link:/absolute/path/to/dsh-codex-connect`.
32
32
 
33
33
  ### Version updates
34
34
 
@@ -84,6 +84,21 @@ Open Harness's normal model picker and select an `openai-codex` model for the ag
84
84
 
85
85
  The picker groups the available entries under **OpenAI Codex**. Model identifiers such as `GPT-5.6 Luna` are canonical names, so they intentionally remain un-translated.
86
86
 
87
+ To shorten that list, open **Settings → Plugins → Plugin configuration → Codex Connect**, uncheck the models you do not want to see, and select **Save changes**. This controls discovery only: a hidden model already stored in an existing conversation or supplied by its exact id remains usable. A fresh installation shows the complete catalog.
88
+
89
+ Profiles may also seed the visible subset with `models`; provider order is preserved regardless of the order written here:
90
+
91
+ ```yaml
92
+ - id: llm-openai-codex
93
+ config:
94
+ models:
95
+ - gpt-5.6-luna
96
+ - gpt-5.6-sol
97
+ - gpt-5.6-terra
98
+ ```
99
+
100
+ Omit `models` to show the full catalog. An empty list hides every Codex model from selectors without disabling exact-id routing.
101
+
87
102
  <p align="center">
88
103
  <img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/model-selector.jpg" alt="OpenAI Codex model group in the English-localized DeepSeek Harness model picker" width="360">
89
104
  </p>
@@ -124,6 +139,7 @@ The installed bundle is intentionally inert beyond model-provider registration:
124
139
  ```yaml
125
140
  - id: llm-openai-codex
126
141
  config:
142
+ enableProxy: false
127
143
  enableSearch: false
128
144
  enableImageTool: false
129
145
  enableImageGeneration: false
@@ -131,6 +147,14 @@ The installed bundle is intentionally inert beyond model-provider registration:
131
147
 
132
148
  Open **Settings → Plugins → Plugin configuration → Codex Connect** to manage the account and these options in one card. **Save changes** affects only this plugin's capability section and applies live. It never selects a default model or a global search route.
133
149
 
150
+ ### Network connection and proxy detection
151
+
152
+ Codex Connect uses a **Direct connection** by default. A proxy is optional and applies only to this plugin's Codex requests: model streaming, OAuth login and token refresh, usage, standalone search, and image generation. Other providers and unscoped network requests keep the process's original dispatcher.
153
+
154
+ Select **Detect proxy** to test only the standard proxy environment variables and the documented loopback candidates `127.0.0.1:7890`, `127.0.0.1:7897`, and `127.0.0.1:10809`. Detection makes no model call, consumes no quota, and does not write settings. A response from the canonical Codex endpoint proves network reachability; `401/403`, proxy `407`, DNS, refused connection, timeout, TLS, and CONNECT failures remain separate diagnostics.
155
+
156
+ Choose **Use this proxy** only after reviewing a candidate, then click **Save changes**. **Configure manually** lets you test a credential-free HTTP(S) proxy origin before activation. **Disable proxy** is always available. A failed probe leaves the previous mode unchanged, and an enabled proxy failure is shown as an actionable error; Codex Connect never silently retries the request through a direct connection.
157
+
134
158
  ### Enable only the capability you intend to use
135
159
 
136
160
  - `enableSearch: true` registers Codex as an available search provider. It does not select the profile's global search route.
@@ -194,6 +218,9 @@ Selecting Codex as the profile's global search route is another explicit change:
194
218
 
195
219
  | Field | Default | Values |
196
220
  |---|---:|---|
221
+ | `models` | full catalog | Codex model id array; empty hides all entries |
222
+ | `enableProxy` | `false` | boolean; direct connection unless explicitly enabled |
223
+ | `proxyUrl` | `http://127.0.0.1:7890` (inactive placeholder) | Credential-free HTTP(S) proxy origin |
197
224
  | `enableSearch` | `false` | boolean |
198
225
  | `enableImageTool` | `false` | boolean |
199
226
  | `enableImageGeneration` | `false` | boolean |
@@ -223,8 +250,9 @@ Selecting Codex as the profile's global search route is another explicit change:
223
250
 
224
251
  ## Compatibility and security boundary
225
252
 
226
- - The only verified compatibility combination is DSH plugin API packages `0.1.1-rc.2`, `@earendil-works/pi-ai` `0.82.1`, and Node.js `^22.19.0 || >=24.0.0`; see [compatibility.json](compatibility.json). Alpha 4.18 uses the rc.2 keyed Plugin configuration slot; users of older DSH API packages should upgrade to the rc.2 API packages.
253
+ - The only verified compatibility combination is DSH plugin API packages `0.1.1-rc.2`, `@earendil-works/pi-ai` `0.82.1`, and Node.js `^22.19.0 || >=24.0.0`; see [compatibility.json](compatibility.json). Alpha 4.20 uses the rc.2 keyed Plugin configuration slot; users of older DSH API packages should upgrade to the rc.2 API packages.
227
254
  - Upgrade the DSH plugin API packages and `@earendil-works/pi-ai` as one group, then run `dsh-codex-connect doctor --json` and the compatibility check again. This contract does not make claims about future versions.
255
+ - When the daily upstream check finds a new `latest` or `next` DSH candidate, it installs Codex Connect into an isolated profile, boots the installed model runtime without OAuth credentials, verifies model and reasoning-effort discovery, and confirms provider disposal. Live sign-in, quota, and model requests still require manual validation in the test profile.
228
256
  - ChatGPT plan eligibility, model access, quotas, and backend behavior are controlled by OpenAI and may change.
229
257
  - The Codex endpoint does not enforce the ordinary Responses `max_output_tokens` field. Harness compaction still works, but that summary cap cannot be imposed server-side on this route.
230
258
  - Shell, filesystem, skills, MCP, subagents, approvals, permissions, attachments, session persistence, compaction, and recovery continue to come from the active Harness profile.
package/cordis.patch.yml CHANGED
@@ -4,6 +4,7 @@
4
4
  - id: llm-openai-codex
5
5
  name: dsh-codex-connect
6
6
  config:
7
+ enableProxy: false
7
8
  enableSearch: false
8
9
  enableImageTool: false
9
10
  enableImageGeneration: false
package/docs/README.zh.md CHANGED
@@ -28,7 +28,7 @@ dsh plugin --profile web add dsh-codex-connect@alpha
28
28
 
29
29
  预期结果:包被加入该 profile。这个动作不会更改 profile 的默认模型或全局搜索路由。
30
30
 
31
- 如需精确复现这个版本,使用 `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.18`。对应 GitHub prerelease 已创建但 npm 不可用时,可使用 `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.18'`。本地 checkout 可安装为 `link:/absolute/path/to/dsh-codex-connect`。
31
+ 如需精确复现这个版本,使用 `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.20`。对应 GitHub prerelease 已创建但 npm 不可用时,可使用 `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.20'`。本地 checkout 可安装为 `link:/absolute/path/to/dsh-codex-connect`。
32
32
 
33
33
  ### 版本更新提醒
34
34
 
@@ -84,6 +84,21 @@ dsh web
84
84
 
85
85
  选择器会把可用项归在 **OpenAI Codex** 下。`GPT-5.6 Luna` 一类模型标识是规范名称,因此会保留原样,不翻译。
86
86
 
87
+ 如需缩短这个列表,打开 **设置 → 插件 → 插件配置 → Codex Connect**,取消勾选不想显示的模型,然后点击 **保存更改**。这个设置只控制模型发现:已有会话中保存的隐藏模型,或通过精确模型 ID 指定的隐藏模型,仍可继续使用。全新安装默认显示完整目录。
88
+
89
+ 也可以在 profile 中通过 `models` 设置初始显示子集;无论这里如何排列,选择器仍保持提供方的原始顺序:
90
+
91
+ ```yaml
92
+ - id: llm-openai-codex
93
+ config:
94
+ models:
95
+ - gpt-5.6-luna
96
+ - gpt-5.6-sol
97
+ - gpt-5.6-terra
98
+ ```
99
+
100
+ 省略 `models` 时显示完整目录;空列表会在选择器中隐藏全部 Codex 模型,但不会禁用精确模型 ID 路由。
101
+
87
102
  <p align="center">
88
103
  <img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/zh/model-selector.jpg" alt="中文 DeepSeek Harness 模型选择器中的 OpenAI Codex 模型分组" width="360">
89
104
  </p>
@@ -124,6 +139,7 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
124
139
  ```yaml
125
140
  - id: llm-openai-codex
126
141
  config:
142
+ enableProxy: false
127
143
  enableSearch: false
128
144
  enableImageTool: false
129
145
  enableImageGeneration: false
@@ -131,6 +147,14 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
131
147
 
132
148
  打开 **设置 → 插件 → 插件配置 → Codex Connect**,即可在同一张卡片中管理账户和这些选项。**保存更改**只影响本插件的能力配置并即时生效,绝不会选择默认模型或全局搜索路由。
133
149
 
150
+ ### 网络连接与代理检测
151
+
152
+ Codex Connect 默认使用**直连**。代理是可选项,只作用于本插件的 Codex 请求:模型流式请求、OAuth 登录和 token 刷新、额度、独立搜索以及图片生成。其他提供方和未进入插件作用域的网络请求仍使用进程原来的 dispatcher。
153
+
154
+ 点击 **检测代理** 时,只会测试标准代理环境变量,以及文档列出的本机候选地址:`127.0.0.1:7890`、`127.0.0.1:7897` 和 `127.0.0.1:10809`。检测不调用模型、不消耗额度,也不会写入设置。规范 Codex 端点返回任何 HTTP 响应都表示网络可达;`401/403`、代理 `407`、DNS、连接被拒绝、超时、TLS 和 CONNECT 失败会分别显示为诊断类别。
155
+
156
+ 请先检查候选地址,再选择 **使用此代理**,最后点击 **保存更改**。**手动配置**可以先测试一个不带凭据的 HTTP(S) proxy origin,再启用它。**停用代理**始终可用。检测失败会保留原来的模式;代理已启用但请求失败时,界面会给出可操作的错误,绝不会静默改走直连。
157
+
134
158
  ### 只开启你准备使用的能力
135
159
 
136
160
  - `enableSearch: true` 会把 Codex 注册为可选择的搜索提供方,不会把它选为 profile 的全局搜索路由。
@@ -194,6 +218,9 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
194
218
 
195
219
  | 字段 | 默认值 | 可选值 |
196
220
  |---|---:|---|
221
+ | `models` | 完整目录 | Codex model id 数组;空数组隐藏全部条目 |
222
+ | `enableProxy` | `false` | boolean;除非显式启用,否则使用直连 |
223
+ | `proxyUrl` | `http://127.0.0.1:7890`(未启用的占位值) | 不带凭据的 HTTP(S) proxy origin |
197
224
  | `enableSearch` | `false` | boolean |
198
225
  | `enableImageTool` | `false` | boolean |
199
226
  | `enableImageGeneration` | `false` | boolean |
@@ -223,8 +250,9 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
223
250
 
224
251
  ## 兼容性与安全边界
225
252
 
226
- - 当前唯一已验证的兼容组合是 DSH 插件 API packages `0.1.1-rc.2`、`@earendil-works/pi-ai` `0.82.1` 和 Node.js `^22.19.0 || >=24.0.0`;详见 [compatibility.json](../compatibility.json)。Alpha 4.18 使用 rc.2 的 keyed 插件配置 slot;旧版 DSH API packages 用户应升级到 rc.2 API packages。
253
+ - 当前唯一已验证的兼容组合是 DSH 插件 API packages `0.1.1-rc.2`、`@earendil-works/pi-ai` `0.82.1` 和 Node.js `^22.19.0 || >=24.0.0`;详见 [compatibility.json](../compatibility.json)。Alpha 4.20 使用 rc.2 的 keyed 插件配置 slot;旧版 DSH API packages 用户应升级到 rc.2 API packages。
227
254
  - 升级时请将 DSH 插件 API packages 与 `@earendil-works/pi-ai` 作为一组升级,再运行 `dsh-codex-connect doctor --json` 和兼容性检查。本契约不对未来版本作判断。
255
+ - 每日上游检查发现新的 DSH `latest` 或 `next` 候选版本时,会把 Codex Connect 安装到隔离 Profile 中,在没有 OAuth 凭据的情况下启动已安装的模型运行时,验证模型与推理强度发现,并确认提供方可被正确卸载。真实登录、额度和模型请求仍需在测试 Profile 中人工验证。
228
256
  - ChatGPT 套餐资格、模型权限、额度和后端行为由 OpenAI 控制,可能变化。
229
257
  - Codex 端点不会强制普通 Responses 的 `max_output_tokens` 字段。Harness 压缩仍可工作,但这个摘要上限不能由服务端在该路由上强制。
230
258
  - shell、文件系统、skills、MCP、subagents、审批、权限、附件、会话持久化、压缩与恢复继续由当前 Harness profile 提供。
package/lib/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { L as diagnoseOpenAICodex, c as migrateOpenAICodexSearchHistory, ct as normalizeTrustedOrigin, ft as loginOpenAICodex, mt as openAICodexAuthStatus, pt as logoutOpenAICodex, st as OpenAICodexTrustedOriginsStore, vt as openAICodexAuthPath, z as CODEX_CONNECT_VERSION } from "./src-DY3uYj_g.js";
2
+ import { At as openAICodexAuthPath, Et as openAICodexAuthStatus, Tt as logoutOpenAICodex, bt as normalizeTrustedOrigin, c as migrateOpenAICodexSearchHistory, j as CODEX_CONNECT_VERSION, k as diagnoseOpenAICodex, wt as loginOpenAICodex, yt as OpenAICodexTrustedOriginsStore } from "./src-B2d5HLN5.js";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { realpathSync } from "node:fs";
5
5
  import { spawn } from "node:child_process";