dsh-codex-connect 0.1.0-alpha.4.14 → 0.1.0-alpha.4.16
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 +2 -2
- package/README.i18n.yaml +2 -2
- package/README.md +48 -5
- package/compatibility.json +1 -1
- package/docs/README.zh.md +47 -4
- package/docs/assets/composer-capabilities.jpg +0 -0
- package/docs/design.md +2 -2
- package/docs/design.zh.md +2 -2
- package/lib/bin.js +1 -1
- package/lib/client.js +1628 -56
- package/lib/index.d.ts +65 -4
- package/lib/index.js +2 -2
- package/lib/{src-15cHQKm5.js → src-C-GNEOjg.js} +539 -39
- package/package.json +49 -46
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.
|
|
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.16 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.0-rc.7`, `@earendi
|
|
|
21
21
|
dsh plugin --profile web add dsh-codex-connect@alpha
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
After `0.1.0-alpha.4.
|
|
24
|
+
After `0.1.0-alpha.4.16` is published, pin it exactly with `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.16`. 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.16'`.
|
|
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:
|
|
6
|
-
docs/README.zh.md:
|
|
5
|
+
README.md: f3b46026b1b23633738915667fa6e20c9513c290
|
|
6
|
+
docs/README.zh.md: ec299175d4383a1f07af207378be9aaa0b8edbe2
|
package/README.md
CHANGED
|
@@ -10,11 +10,11 @@ Connect your ChatGPT subscription to DeepSeek Harness with OAuth, optional GPT I
|
|
|
10
10
|
<img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/hero.jpg" alt="Codex Connect — ChatGPT OAuth for DeepSeek Harness" width="100%">
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
|
-
`dsh-codex-connect` adds the `openai-codex` model catalog and a separate ChatGPT OAuth login. Models run through Harness's normal LLM service, so streaming, tool calls, reasoning replay, compaction, filesystem controls, permission gates, and approval prompts remain Harness-owned. It does not turn a ChatGPT subscription into an OpenAI Platform API credential.
|
|
13
|
+
`dsh-codex-connect` adds the `openai-codex` model catalog and a separate ChatGPT OAuth login. Models run through Harness's normal LLM service, so streaming, tool calls, reasoning replay, compaction, filesystem controls, permission gates, and approval prompts remain Harness-owned. It does not turn a ChatGPT subscription into an OpenAI Platform API credential. When an eligible GPT Codex model is selected, the Composer also shows a conversation-scoped Fast Mode toggle and a compact weekly-quota indicator.
|
|
14
14
|
|
|
15
15
|
Installation is additive. The bundle does not replace the current default model or search route. Standalone search, `view_image`, and image generation remain disabled until explicitly enabled.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
The setup and image-result screenshots in this English guide are captured from the English-localized Harness UI. The shared Composer crop is a language-neutral feature strip; the [Chinese guide](docs/README.zh.md) uses the same strip and Chinese captures for the other screens. Model and provider identifiers keep their canonical spelling in both languages.
|
|
18
18
|
|
|
19
19
|
## Quick start (about five minutes)
|
|
20
20
|
|
|
@@ -28,7 +28,27 @@ 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.
|
|
31
|
+
To reproduce this release exactly, use `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.16`. 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.16'`. A local checkout can be installed as `link:/absolute/path/to/dsh-codex-connect`.
|
|
32
|
+
|
|
33
|
+
### Version updates
|
|
34
|
+
|
|
35
|
+
Codex Connect checks public package metadata and this repository's `verified-compatibility.json` periodically through the DSH Web server. The same card reads the locally loaded DSH package version, shows it beside the latest DSH version recorded by this project, and compares the installed and latest plugin versions without repeating equal values. Local version detection uses package metadata already available to the plugin and does not require a DSH Core change.
|
|
36
|
+
|
|
37
|
+
The compatibility record lists exact plugin and DSH versions rather than assuming every later release remains compatible. Maintainers can add a newly verified DSH version to the repository file without publishing another plugin release. A green result means the installed plugin was verified; yellow means the latest plugin was verified and should be installed first; red means neither the installed plugin nor the latest published plugin has been verified yet; gray means the record could not be checked. A red result includes a prefilled GitHub issue link so users can remind the maintainer without composing a report from scratch.
|
|
38
|
+
|
|
39
|
+
When a newer plugin version is available, a frame-wide DSH notice appears even if you switch conversations. It first shows the user-facing changes between your installed version and the newest version; technical release notes are available as a secondary detail, or from the release page. The plugin never runs an upgrade command by itself.
|
|
40
|
+
|
|
41
|
+
The notice first summarizes the user-facing changes between your installed version and the newest version. Technical release notes remain available as a secondary detail. To update, copy the short request shown in the notice to the Agent you use for this DSH project. The Agent can inspect the project instructions and choose the appropriate install or update method; the plugin does not execute anything on your behalf.
|
|
42
|
+
|
|
43
|
+
After the Agent reports completion, return to the notice or settings card and select **Done — check again**. If the running process still reports the old version, restart that profile's DSH Web process and check again.
|
|
44
|
+
|
|
45
|
+
For a manual terminal update, use the command documented for the profile you are running:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
dsh plugin --profile web update dsh-codex-connect
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Replace `web` with your own Harness profile name when needed. If the running process still reports the old version after the check, restart that profile's DSH Web process and check again. If public metadata is unavailable, no update notice is shown; the account and model features continue working normally.
|
|
32
52
|
|
|
33
53
|
### 2. Start Harness
|
|
34
54
|
|
|
@@ -85,6 +105,18 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
85
105
|
|
|
86
106
|
Expected result: `status --json` reports `signed-in` and exits `0`, while `doctor --json` prints one secret-free JSON document. A signed-out `status --json` exits `1`; return to step 4 instead of treating that as a plugin failure.
|
|
87
107
|
|
|
108
|
+
### Composer controls for GPT Codex conversations
|
|
109
|
+
|
|
110
|
+
The two small controls are shown only when the current conversation is using a GPT model from the `openai-codex` provider. They are session controls, not profile-wide settings:
|
|
111
|
+
|
|
112
|
+
- **Fast Mode (lightning icon)** is off by default for each conversation. Click it to request the faster `1.5×` mode; click it again to return to Standard speed. The control is bound to that conversation and does not change the selected model or other conversations. Hover or focus the icon to see the current state and its quota-consumption warning.
|
|
113
|
+
- **Weekly quota bar** is the short horizontal bar beside the model selector. Its color moves from green through yellow/orange to red as the remaining amount falls. Hover or focus it to see the exact remaining percentage and the server-provided reset time. It is hidden for non-GPT models or when usage data is unavailable.
|
|
114
|
+
- For the exact `gpt-5.3-codex-spark` model, the Composer reads the Spark weekly bucket. Other GPT Codex models read the standard Codex weekly bucket; these are separate limits.
|
|
115
|
+
|
|
116
|
+
<p align="center">
|
|
117
|
+
<img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/composer-capabilities.jpg" alt="DeepSeek Harness Composer with the per-conversation Fast Mode lightning control and weekly quota bar" width="820">
|
|
118
|
+
</p>
|
|
119
|
+
|
|
88
120
|
## Optional capabilities (off by default)
|
|
89
121
|
|
|
90
122
|
The installed bundle is intentionally inert beyond model-provider registration:
|
|
@@ -103,7 +135,7 @@ Open **Settings → Plugins → Plugin configuration → Codex Connect** to mana
|
|
|
103
135
|
|
|
104
136
|
- `enableSearch: true` registers Codex as an available search provider. It does not select the profile's global search route.
|
|
105
137
|
- `enableImageTool: true` enables `view_image` for approved local reads and public-network image fetches on vision-capable models.
|
|
106
|
-
- `enableImageGeneration: true` enables the prompt-only image generation tool. Use the image generation capability included with your current GPT subscription. Generated images are saved as DSH attachments and shown in the
|
|
138
|
+
- `enableImageGeneration: true` enables the prompt-only image generation tool. Use the image generation capability included with your current GPT subscription. Generated images are saved as DSH attachments and shown in the Codex Connect result gallery.
|
|
107
139
|
|
|
108
140
|
The screenshot below is an example after someone has explicitly enabled capabilities. It does not show the fresh-install default. This English guide uses the English-localized capture; the Chinese guide shows the matching Chinese-localized state.
|
|
109
141
|
|
|
@@ -124,6 +156,17 @@ This capability uses the image generation access included with your current GPT
|
|
|
124
156
|
<img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/image-generation.png" alt="English-localized Codex Connect GPT Image result with preview, copyable prompt, download action, and image details" width="780">
|
|
125
157
|
</p>
|
|
126
158
|
|
|
159
|
+
The detailed image prompt is authored by the selected GPT model. Codex Connect does not silently add image parameters: it validates the prompt-only request, forwards it through the ChatGPT subscription capability, and stores the returned image as a DSH attachment. On the result card you can scroll through and copy the complete prompt. **Try again** and **Generate another** send that card's own prompt again, so an older card is not accidentally regenerated from a newer conversation message. **Modify this image** first asks what you want to change, then continues from that card's prompt.
|
|
160
|
+
|
|
161
|
+
### Usage limits in Plugin configuration
|
|
162
|
+
|
|
163
|
+
After sign-in, the Codex Connect settings card can show several server-reported windows. They are separate buckets, not three views of one number:
|
|
164
|
+
|
|
165
|
+
- **Codex · Weekly** is the standard Codex weekly bucket used by ordinary GPT Codex models.
|
|
166
|
+
- **GPT-5.3-Codex-Spark · 5-hour** and **GPT-5.3-Codex-Spark · Weekly** are the two Spark windows returned for the Spark model.
|
|
167
|
+
|
|
168
|
+
Each bar shows the remaining percentage and its local reset time. OpenAI controls the returned windows, eligibility, and reset values; missing usage data is treated as unavailable rather than guessed.
|
|
169
|
+
|
|
127
170
|
### Change a default model or global search route separately
|
|
128
171
|
|
|
129
172
|
To make a Codex model the default for new agents, add or update the separate Harness row yourself:
|
|
@@ -180,7 +223,7 @@ Selecting Codex as the profile's global search route is another explicit change:
|
|
|
180
223
|
|
|
181
224
|
## Compatibility and security boundary
|
|
182
225
|
|
|
183
|
-
- The only verified compatibility combination is DSH plugin API packages `0.1.
|
|
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.16 uses the rc.2 keyed Plugin configuration slot; users of older DSH API packages should upgrade to the rc.2 API packages.
|
|
184
227
|
- 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.
|
|
185
228
|
- ChatGPT plan eligibility, model access, quotas, and backend behavior are controlled by OpenAI and may change.
|
|
186
229
|
- 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.
|
package/compatibility.json
CHANGED
package/docs/README.zh.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/zh/hero.jpg" alt="Codex Connect — 通过 ChatGPT OAuth 连接 DeepSeek Harness" width="100%">
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
|
-
`dsh-codex-connect` 提供 `openai-codex` 模型目录和独立的 ChatGPT OAuth 登录。模型仍走 Harness 标准 LLM 服务,因此流式输出、工具调用、reasoning replay、压缩、文件系统控制、权限门禁和审批提示仍由 Harness 负责。ChatGPT 订阅不会因此变成 OpenAI Platform API
|
|
13
|
+
`dsh-codex-connect` 提供 `openai-codex` 模型目录和独立的 ChatGPT OAuth 登录。模型仍走 Harness 标准 LLM 服务,因此流式输出、工具调用、reasoning replay、压缩、文件系统控制、权限门禁和审批提示仍由 Harness 负责。ChatGPT 订阅不会因此变成 OpenAI Platform API 凭据。选择符合条件的 GPT Codex 模型后,Composer 还会显示按对话绑定的 Fast Mode 开关和紧凑的周额度指示条。
|
|
14
14
|
|
|
15
15
|
安装是增量的:bundle 不会替换当前主模型或搜索路由;独立搜索、`view_image` 和图片生成也默认关闭,必须显式开启。
|
|
16
16
|
|
|
@@ -28,7 +28,27 @@ 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.
|
|
31
|
+
如需精确复现这个版本,使用 `dsh plugin --profile web add dsh-codex-connect@0.1.0-alpha.4.16`。对应 GitHub prerelease 已创建但 npm 不可用时,可使用 `dsh plugin --profile web add 'github:franksong2702/dsh-codex-connect#v0.1.0-alpha.4.16'`。本地 checkout 可安装为 `link:/absolute/path/to/dsh-codex-connect`。
|
|
32
|
+
|
|
33
|
+
### 版本更新提醒
|
|
34
|
+
|
|
35
|
+
Codex Connect 会通过 DSH Web 服务定期检查公开的 npm 包信息,以及本仓库维护的 `verified-compatibility.json`。同一张卡片会读取本机实际加载的 DSH 软件包版本,与本项目记录的最新 DSH 版本并列显示,并在不重复相同版本号的前提下比较当前与最新插件版本。本机版本检测只使用插件已经能够取得的软件包元数据,不要求 DSH Core 作出任何修改。
|
|
36
|
+
|
|
37
|
+
兼容性清单按插件版本和 DSH 版本精确记录,不假设后续版本天然兼容。维护者确认新的 DSH 版本后,只需更新仓库文件,不必重新发布插件。绿色表示当前插件已经通过验证;黄色表示最新插件已经通过验证,应先升级插件;红色表示当前插件和最新发布的插件都尚未通过验证;灰色表示暂时无法检查清单。红色状态会提供预填内容的 GitHub Issue 链接,让用户无需自行组织报告就能提醒维护者。
|
|
38
|
+
|
|
39
|
+
发现插件新版本后,即使你切换了对话,DSH 界面也会显示全局更新提醒。提醒会先展示从你当前版本到最新版本之间对用户有用的功能;完整技术发布说明放在次级详情或发布页面中。插件不会自动执行升级命令。
|
|
40
|
+
|
|
41
|
+
完成升级的建议流程是:把提醒里的简短请求复制给你正在使用的 Agent。Agent 会查看项目说明,自行判断合适的安装或更新方式;插件不会替你执行任何操作。
|
|
42
|
+
|
|
43
|
+
Agent 报告完成后,回到提醒或设置卡片,点击 **已完成,重新检查**。如果运行中的 DSH Web 仍显示旧版本,再重启当前 profile 的 DSH Web,然后重新检查。
|
|
44
|
+
|
|
45
|
+
如果你要手动在终端更新,本指南使用的 profile 命令如下:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
dsh plugin --profile web update dsh-codex-connect
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
如果你使用的是其他 Harness profile,请把 `web` 换成对应的 profile 名称。如果重新检查时仍显示旧版本,请先重启该 profile 的 DSH Web,再检查一次。公开包信息暂时不可用时不会显示更新提醒,账户和模型功能仍可正常使用。
|
|
32
52
|
|
|
33
53
|
### 2. 启动 Harness
|
|
34
54
|
|
|
@@ -85,6 +105,18 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
85
105
|
|
|
86
106
|
预期结果:`status --json` 报告 `signed-in` 并以 `0` 退出,`doctor --json` 只输出一条非敏感 JSON。尚未登录时 `status --json` 会以 `1` 退出;回到第 4 步登录即可,不要把它当作插件故障。
|
|
87
107
|
|
|
108
|
+
### GPT Codex 对话中的 Composer 控件
|
|
109
|
+
|
|
110
|
+
只有当前对话选择了 `openai-codex` 提供方的 GPT 模型时,Composer 才会显示下面两个小控件。它们都是当前对话级别的控制,不是 profile 全局设置:
|
|
111
|
+
|
|
112
|
+
- **Fast Mode(闪电图标)**:每个对话默认关闭。点击后请求更快的 `1.5 倍` 模式,再点一次恢复标准速度。它只绑定当前对话,不会改变模型选择,也不会影响其他对话。鼠标悬停或键盘聚焦闪电图标,可以看到当前状态和额度消耗提示。
|
|
113
|
+
- **周额度进度条**:位于模型选择器旁边的短横条。剩余额度越低,颜色会从绿色经过黄色/橙色变为红色。鼠标悬停或键盘聚焦时,会显示精确剩余百分比和服务端提供的重置时间。非 GPT 模型或额度暂时不可用时不会显示。
|
|
114
|
+
- 对于精确模型 `gpt-5.3-codex-spark`,Composer 读取 Spark 的每周额度;其他 GPT Codex 模型读取标准 Codex 周额度,两者是分开的额度桶。
|
|
115
|
+
|
|
116
|
+
<p align="center">
|
|
117
|
+
<img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/composer-capabilities.jpg" alt="DeepSeek Harness Composer 中按对话绑定的 Fast Mode 闪电控件和周额度进度条" width="820">
|
|
118
|
+
</p>
|
|
119
|
+
|
|
88
120
|
## 可选能力(默认关闭)
|
|
89
121
|
|
|
90
122
|
安装后的 bundle 只注册模型提供方,默认不额外启用任何能力:
|
|
@@ -103,7 +135,7 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
103
135
|
|
|
104
136
|
- `enableSearch: true` 会把 Codex 注册为可选择的搜索提供方,不会把它选为 profile 的全局搜索路由。
|
|
105
137
|
- `enableImageTool: true` 会为具备视觉能力的模型启用 `view_image`,用于审批后的本地读取和公网图片获取。
|
|
106
|
-
- `enableImageGeneration: true` 会启用只接受文字描述的图片生成工具。使用你当前 GPT 订阅计划提供的图片生成能力。生成结果会保存为 DSH
|
|
138
|
+
- `enableImageGeneration: true` 会启用只接受文字描述的图片生成工具。使用你当前 GPT 订阅计划提供的图片生成能力。生成结果会保存为 DSH 附件,并通过 Codex Connect 结果画廊展示。
|
|
107
139
|
|
|
108
140
|
下图是有人显式开启能力之后的配置示例,不是新安装的默认状态。本中文指南使用中文本地化截图;English 版展示同一状态的英文截图。
|
|
109
141
|
|
|
@@ -124,6 +156,17 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
124
156
|
<img src="https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/zh/image-generation.png" alt="Codex Connect 中文 GPT Image 结果卡片,包含图片预览、可复制提示词、下载操作和图片详情" width="780">
|
|
125
157
|
</p>
|
|
126
158
|
|
|
159
|
+
图片的详细提示词由当前选择的 GPT 模型生成。Codex Connect 不会偷偷添加图片参数:它只校验“提示词”请求,通过 ChatGPT 订阅提供的图片能力发送,并把返回图片保存为 DSH 附件。结果卡片里的提示词可以滚动查看和复制。点击 **再次尝试** 或 **再生成一张** 时,会重新发送这张卡片自己的提示词,不会因为后来出现了新的对话消息而误用最新上下文。点击 **基于此图修改** 时,模型会先询问你想改什么,再基于这张卡片的提示词继续处理。
|
|
160
|
+
|
|
161
|
+
### 插件配置中的额度说明
|
|
162
|
+
|
|
163
|
+
登录后,Codex Connect 设置卡片可能显示多个服务端额度窗口。它们是不同的额度桶,不是同一个数字重复显示:
|
|
164
|
+
|
|
165
|
+
- **Codex · 每周额度**:普通 GPT Codex 模型使用的标准 Codex 周额度。
|
|
166
|
+
- **GPT-5.3-Codex-Spark · 5 小时额度** 和 **GPT-5.3-Codex-Spark · 每周额度**:Spark 模型返回的两个独立窗口。
|
|
167
|
+
|
|
168
|
+
每条进度条都会显示剩余百分比和按本地时区格式化的重置时间。额度窗口、模型资格和重置时间由 OpenAI 返回;数据缺失时界面会显示不可用,不会自行猜测。
|
|
169
|
+
|
|
127
170
|
### 单独更改默认模型或全局搜索路由
|
|
128
171
|
|
|
129
172
|
如需把 Codex 模型设为新 agent 的默认模型,需要自行添加或修改独立的 Harness 配置项:
|
|
@@ -180,7 +223,7 @@ dsh plugin --profile web exec dsh-codex-connect doctor --json
|
|
|
180
223
|
|
|
181
224
|
## 兼容性与安全边界
|
|
182
225
|
|
|
183
|
-
- 当前唯一已验证的兼容组合是 DSH 插件 API packages `0.1.
|
|
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.16 使用 rc.2 的 keyed 插件配置 slot;旧版 DSH API packages 用户应升级到 rc.2 API packages。
|
|
184
227
|
- 升级时请将 DSH 插件 API packages 与 `@earendil-works/pi-ai` 作为一组升级,再运行 `dsh-codex-connect doctor --json` 和兼容性检查。本契约不对未来版本作判断。
|
|
185
228
|
- ChatGPT 套餐资格、模型权限、额度和后端行为由 OpenAI 控制,可能变化。
|
|
186
229
|
- Codex 端点不会强制普通 Responses 的 `max_output_tokens` 字段。Harness 压缩仍可工作,但这个摘要上限不能由服务端在该路由上强制。
|
|
Binary file
|
package/docs/design.md
CHANGED
|
@@ -6,7 +6,7 @@ The package registers `openai-codex` through Harness's public `LlmRuntime` and `
|
|
|
6
6
|
|
|
7
7
|
The bundle patch inserts only `llm-openai-codex`. It never writes `agent-default-model` or `web.searchProvider`. `enableSearch` and `enableImageTool` are capability gates defaulting to `false`; the optional service injections are not registered while disabled.
|
|
8
8
|
|
|
9
|
-
The Host registers `llm-openai-codex` as the plugin-owned settings namespace
|
|
9
|
+
The Host registers `llm-openai-codex` as the plugin-owned capability settings namespace. DSH's `llm-pi-ai` catalog owns the `openai-codex` configurable-provider directory entry, while Codex Connect registers the active adapter without redeclaring that entry. The browser binds the plugin namespace through Harness's settings-scope transport and renders account, quota, Save/Discard capability controls in the existing Plugin configuration card. Revision-fenced field writes preserve unrelated settings. Committed changes reconcile search and image registrations live; the default-model and global-search namespaces are never written.
|
|
10
10
|
|
|
11
11
|
## OAuth persistence
|
|
12
12
|
|
|
@@ -26,4 +26,4 @@ Before registration the plugin checks current provider ids. An existing `openai-
|
|
|
26
26
|
|
|
27
27
|
## Compatibility boundary
|
|
28
28
|
|
|
29
|
-
The Alpha pins Harness `0.1.
|
|
29
|
+
The Alpha pins Harness `0.1.1-rc.2` development dependencies and uses its keyed `settings.plugin.item` contract; supported Node.js is `^22.19.0 || >=24.0.0`. It pins `@earendil-works/pi-ai` `0.82.1`. Backend eligibility, quotas, models, and protocol details remain controlled upstream. Tests use temporary OAuth documents and mocked network responses; CI does not perform real authentication.
|
package/docs/design.zh.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
bundle patch 只插入 `llm-openai-codex`,不会写入 `agent-default-model` 或 `web.searchProvider`。`enableSearch` 与 `enableImageTool` 默认均为 `false`;关闭时不会注册对应可选服务。
|
|
8
8
|
|
|
9
|
-
Host 将 `llm-openai-codex`
|
|
9
|
+
Host 将 `llm-openai-codex` 注册为插件自有的能力 settings namespace。DSH 的 `llm-pi-ai` catalog 持有 `openai-codex` 可配置 provider 目录条目,Codex Connect 只注册实际 adapter,不重复声明该条目。浏览器通过 Harness settings-scope transport 绑定插件 namespace,把账户、额度以及带保存/放弃的能力配置放在现有“插件配置”卡片中。带 revision 防护的逐字段写入不会覆盖无关设置;提交后会即时协调搜索与图片能力的注册状态,且绝不写入默认模型或全局搜索 namespace。
|
|
10
10
|
|
|
11
11
|
## OAuth 持久化
|
|
12
12
|
|
|
@@ -22,4 +22,4 @@ Host 将 `llm-openai-codex` 注册为插件自有 settings namespace,并在 LL
|
|
|
22
22
|
|
|
23
23
|
注册前检查现有 provider id;发现 `openai-codex` 已被占用时,给出旧 bundle 或手动 provider 配置的定向迁移提示。boot-free CLI doctor 只报告包/运行时版本、OAuth 路径元数据、能力默认值和安全提示。
|
|
24
24
|
|
|
25
|
-
Alpha 固定使用 Harness `0.1.
|
|
25
|
+
Alpha 固定使用 Harness `0.1.1-rc.2` 开发依赖,并采用其 keyed `settings.plugin.item` 契约;Node.js 支持 `^22.19.0 || >=24.0.0`。`@earendil-works/pi-ai` 固定为 `0.82.1`。资格、额度、模型和后端协议仍由上游控制。测试仅使用临时 OAuth 文档和模拟网络响应,CI 不执行真实认证。
|
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
|
|
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-C-GNEOjg.js";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { realpathSync } from "node:fs";
|
|
5
5
|
import { spawn } from "node:child_process";
|