@bitkyc08/opencodex 2.6.31-preview.20260707 → 2.7.0
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/README.ko.md +19 -3
- package/README.md +17 -2
- package/README.zh-CN.md +16 -3
- package/gui/dist/assets/index-BGdxwydf.js +34 -0
- package/gui/dist/assets/index-DANCQ2Jt.css +1 -0
- package/gui/dist/index.html +2 -2
- package/package.json +1 -1
- package/src/adapters/anthropic.ts +62 -1
- package/src/adapters/cursor/cursor-errors.ts +28 -1
- package/src/adapters/cursor/discovery.ts +56 -10
- package/src/adapters/cursor/effort-map.ts +35 -7
- package/src/adapters/cursor/live-models.ts +3 -0
- package/src/adapters/cursor/live-transport.ts +136 -7
- package/src/adapters/cursor/protobuf-request.ts +24 -1
- package/src/adapters/cursor/request-builder.ts +6 -5
- package/src/adapters/cursor/transport-retry.ts +22 -3
- package/src/adapters/cursor.ts +2 -1
- package/src/adapters/kiro.ts +1 -1
- package/src/adapters/openai-chat.ts +75 -26
- package/src/bridge.ts +50 -4
- package/src/cli/debug.ts +203 -0
- package/src/cli/doctor.ts +11 -0
- package/src/cli/help.ts +11 -0
- package/src/cli/index.ts +10 -0
- package/src/cli/v2.ts +131 -0
- package/src/codex/account-store.ts +42 -1
- package/src/codex/auth-api.ts +43 -0
- package/src/codex/catalog.ts +356 -29
- package/src/codex/data/upstream-models.json +830 -0
- package/src/codex/features.ts +178 -0
- package/src/codex/project-config-warnings.ts +388 -0
- package/src/codex/sync.ts +8 -0
- package/src/codex/warmup.ts +193 -0
- package/src/config.ts +7 -5
- package/src/lib/debug-log-buffer.ts +42 -0
- package/src/lib/debug-settings.ts +84 -0
- package/src/lib/debug.ts +18 -9
- package/src/lib/errors.ts +104 -1
- package/src/oauth/cursor.ts +35 -12
- package/src/oauth/store.ts +4 -3
- package/src/oauth/token-guardian.ts +32 -7
- package/src/providers/derive.ts +8 -0
- package/src/providers/kiro-models.ts +3 -3
- package/src/providers/registry.ts +77 -56
- package/src/reasoning-effort.ts +34 -12
- package/src/responses/parser.ts +7 -2
- package/src/router.ts +7 -3
- package/src/server/adapter-resolve.ts +1 -1
- package/src/server/index.ts +27 -3
- package/src/server/management-api.ts +168 -7
- package/src/server/relay.ts +2 -2
- package/src/server/request-log.ts +86 -2
- package/src/server/responses.ts +209 -0
- package/src/types.ts +38 -2
- package/src/usage/debug.ts +32 -5
- package/src/usage/summary.ts +6 -6
- package/src/web-search/index.ts +1 -1
- package/gui/dist/assets/index-ByGC8-Bm.css +0 -1
- package/gui/dist/assets/index-CWujz83O.js +0 -15
package/README.ko.md
CHANGED
|
@@ -139,6 +139,19 @@ codex -m "ollama/llama3" "이 함수를 리팩터링해 줘"
|
|
|
139
139
|
|
|
140
140
|
라우팅된 모델은 **Codex App** 모델 선택기에도 모델별 reasoning effort 컨트롤과 함께 나타납니다:
|
|
141
141
|
|
|
142
|
+
현재 Codex 빌드는 모델이 광고하는 경우 `low`, `medium`, `high`, `xhigh`, `max`, `ultra` reasoning
|
|
143
|
+
컨트롤을 노출할 수 있습니다. opencodex는 프로바이더 config가 명시적으로 alias를 지정하지 않는 한
|
|
144
|
+
`xhigh`와 `max`를 서로 다른 단계로 유지합니다. `ultra`는 업스트림 Codex와 같은 의미입니다:
|
|
145
|
+
클라이언트에서 최대 reasoning과 능동적 멀티에이전트 위임을 켜고, 실제 요청은 `max`로 변환되어
|
|
146
|
+
나갑니다. 라우팅된 모델은 `reasoningEfforts` config로 옵트인한 경우에만 `ultra`를 광고합니다.
|
|
147
|
+
|
|
148
|
+
GPT-5.6 Sol/Terra/Luna는 OpenAI API key 및 OpenRouter preset에서 rollout-ready catalog 항목으로
|
|
149
|
+
seed됩니다(`gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`; OpenRouter는 `openai/...` 사용).
|
|
150
|
+
스펙은 upstream models.json 스냅샷을 그대로 따릅니다 — Sol/Terra는 `ultra`까지, Luna는 `max`까지
|
|
151
|
+
광고하고, Sol의 기본 reasoning은 `low`입니다. 실제
|
|
152
|
+
사용 가능 여부는 upstream preview gate를 따르며, opencodex는 계정/프로바이더가 제공할 때 쓸
|
|
153
|
+
routing/catalog metadata를 준비해 둡니다.
|
|
154
|
+
|
|
142
155
|
<p align="center">
|
|
143
156
|
<img src="assets/codex-app-picker.png" alt="opencodex 라우팅 모델을 reasoning effort 선택기와 함께 보여주는 Codex App" width="480">
|
|
144
157
|
</p>
|
|
@@ -164,8 +177,9 @@ opencodex는 두 가지 동작을 분리해서 유지합니다:
|
|
|
164
177
|
- **한 번 로그인하면 API 키는 생략.** xAI, Anthropic, Kimi는 OAuth를 지원하므로 기존 계정으로 인증할 수 있고 토큰은 자동 갱신됩니다. 또는 `codex login`을 forward 하거나, API 키를 붙여넣거나, `${ENV_VAR}` 참조를 쓸 수 있습니다 — 선택은 자유입니다.
|
|
165
178
|
- **Codex가 동작하는 모든 곳에서.** Codex CLI, TUI, App, SDK에 자동으로 주입됩니다. 라우팅된 모델이 네이티브 모델처럼 Codex 모델 선택기에 나타납니다.
|
|
166
179
|
- **알맞은 모델에 위임.** 대시보드나 config에서 최대 5개의 라우팅/네이티브 모델을 Codex 서브에이전트 선택기에 노출해, 복잡한 작업은 reasoning 모델로, 빠른 작업은 저렴한 모델로 보낼 수 있습니다.
|
|
180
|
+
- **프리뷰 게이트된 OpenAI rollout에 대비.** GPT-5.6 Sol/Terra/Luna 항목은 upstream 스펙 그대로(Sol/Terra는 `ultra`까지, Luna는 `max`까지; 372k usable context) ChatGPT passthrough, OpenAI API key, OpenRouter route에 준비되어 있습니다.
|
|
167
181
|
- **어떤 모델에도 초능력을.** OpenAI가 아닌 모델도 ChatGPT 로그인 위에서 도는 `gpt-5.4-mini` sidecar로 실제 웹 검색과 이미지 이해를 사용합니다.
|
|
168
|
-
- **무슨 일이 일어나는지 보이게.** 웹 대시보드가 프로바이더, OAuth 상태, 모델 선택, 실시간 요청 로그를 보여줍니다 — 왜 요청이 실패했는지 더는 추측하지 않아도 됩니다.
|
|
182
|
+
- **무슨 일이 일어나는지 보이게.** 웹 대시보드가 프로바이더, OAuth 상태, 모델 선택, upstream이 보고한 cached/cache-write 토큰 수를 포함한 실시간 요청 로그를 보여줍니다 — 왜 요청이 실패했는지 더는 추측하지 않아도 됩니다.
|
|
169
183
|
- **백그라운드 실행.** 시스템 서비스(launchd / systemd / Task Scheduler)로 설치하면 부팅 시 자동 시작되어 신경 쓸 필요가 없습니다.
|
|
170
184
|
- **깔끔한 종료, 잔여물 제로.** `ocx stop`(또는 대시보드의 Stop 버튼)은 프록시를 종료하고, 설치된 백그라운드 서비스를 멈추며, Codex를 원래 설정으로 복원합니다. 이후 `codex`는 잔여 설정이나 좀비 프로세스 없이 이전과 똑같이 동작합니다.
|
|
171
185
|
|
|
@@ -266,8 +280,10 @@ opencodex는 `config.json.invalid-<timestamp>`로 백업하고 경고를 출력
|
|
|
266
280
|
프로바이더 항목은 라우팅 카탈로그 메타데이터도 함께 지정할 수 있습니다. `contextWindow`는 프로바이더
|
|
267
281
|
전체에 적용되는 Codex 노출용 컨텍스트 상한, `modelContextWindows`는 모델별 상한,
|
|
268
282
|
`modelInputModalities`는 `["text"]`나 `["text", "image"]` 같은 모델별 입력 힌트입니다. 이 값들은 라이브
|
|
269
|
-
`/models` 메타데이터를 상한으로 제한할 뿐, 더 작은 라이브 컨텍스트를 늘리지는 않습니다.
|
|
270
|
-
|
|
283
|
+
`/models` 메타데이터를 상한으로 제한할 뿐, 더 작은 라이브 컨텍스트를 늘리지는 않습니다. 번들된 GPT-5.6
|
|
284
|
+
Sol/Terra/Luna fallback metadata는 OpenAI API key와 OpenRouter catalog 항목에 372,000 토큰 usable
|
|
285
|
+
context window를 사용하며, upstream preview access를 우회하지 않습니다. 전체 필드는 설정 레퍼런스를
|
|
286
|
+
참고하세요.
|
|
271
287
|
|
|
272
288
|
> **Z.AI 경유 GLM-5.2 1M 컨텍스트:** `openai-chat` adapter에서는 `glm-5.2`와 `glm-5.2[1m]`이 모두
|
|
273
289
|
> 동작합니다 — opencodex가 요청 전에 끝의 `[1m]` 접미사를 제거하기 때문입니다(OpenAI 호환 엔드포인트는
|
package/README.md
CHANGED
|
@@ -141,6 +141,18 @@ When you omit the `provider/` prefix, opencodex routes to the default provider
|
|
|
141
141
|
|
|
142
142
|
Routed models also appear in the **Codex App** model picker with per-model reasoning effort controls:
|
|
143
143
|
|
|
144
|
+
Current Codex builds can expose `low`, `medium`, `high`, `xhigh`, `max`, and `ultra` reasoning
|
|
145
|
+
controls when a model advertises them. opencodex keeps `xhigh` and `max` distinct unless a provider
|
|
146
|
+
config explicitly maps one to the other. `ultra` mirrors upstream Codex semantics: it selects
|
|
147
|
+
maximum reasoning plus proactive multi-agent delegation in the client, and is converted to `max`
|
|
148
|
+
before any request reaches a provider. Routed models advertise it only when a provider config opts
|
|
149
|
+
in via `reasoningEfforts`.
|
|
150
|
+
|
|
151
|
+
GPT-5.6 Sol/Terra/Luna are seeded as rollout-ready catalog entries for the OpenAI API key and
|
|
152
|
+
OpenRouter presets (`gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`; OpenRouter uses
|
|
153
|
+
`openai/...`). They remain preview-gated by upstream availability; opencodex only prepares the
|
|
154
|
+
routing and catalog metadata for accounts and providers that can serve them.
|
|
155
|
+
|
|
144
156
|
<p align="center">
|
|
145
157
|
<img src="assets/codex-app-picker.png" alt="Codex App showing opencodex routed models with reasoning effort picker" width="480">
|
|
146
158
|
</p>
|
|
@@ -170,8 +182,9 @@ next Codex session. opencodex keeps two separate behaviors:
|
|
|
170
182
|
- **Works everywhere Codex does.** Injects into Codex CLI, TUI, App, and SDK automatically. Routed models show up in Codex's model picker just like native ones.
|
|
171
183
|
- **History-safe injection.** On local installs the proxy points Codex's own built-in `openai` provider at itself via a single `openai_base_url` line — new threads keep their native provider tag, so ongoing chat history is never remapped and an unclean shutdown can't hide it. (Threads re-tagged by older versions are migrated back once on the first start; remote/LAN binds use a dedicated provider entry instead, since they need an API-key header.)
|
|
172
184
|
- **Delegate to the right model.** Feature up to five routed or native models in Codex's subagent picker from the dashboard or config — route complex tasks to a reasoning model, fast tasks to a cheap one.
|
|
185
|
+
- **Prepare for preview-gated OpenAI rollouts.** GPT-5.6 Sol/Terra/Luna entries ship with the exact upstream spec (Sol/Terra reach `ultra`, Luna caps at `max`; 372k usable context) for ChatGPT passthrough, OpenAI API key, and OpenRouter routes when upstream access is available.
|
|
173
186
|
- **Give any model superpowers.** Non-OpenAI models get real web search and image understanding via a `gpt-5.4-mini` sidecar over your ChatGPT login.
|
|
174
|
-
- **See what's happening.** The web dashboard shows providers, OAuth status, model selection, and a live request log — no more guessing why a request failed.
|
|
187
|
+
- **See what's happening.** The web dashboard shows providers, OAuth status, model selection, and a live request log, including cached/cache-write token counts when upstream reports them — no more guessing why a request failed.
|
|
175
188
|
- **Runs in the background.** Install as a system service (launchd / systemd / Task Scheduler) and forget about it. The proxy starts on boot and stays out of your way.
|
|
176
189
|
- **Clean exit, zero residue.** `ocx stop` (or the dashboard's Stop button) shuts down the proxy, stops the background service if one is installed, and restores Codex to its original configuration. Plain `codex` works exactly as it did before — no leftover config, no orphaned processes.
|
|
177
190
|
|
|
@@ -286,7 +299,9 @@ Provider entries can also annotate routed catalog metadata. Use `contextWindow`
|
|
|
286
299
|
Codex-visible context cap, `modelContextWindows` for model-specific caps, and
|
|
287
300
|
`modelInputModalities` for model-specific catalog input hints such as `["text"]` or
|
|
288
301
|
`["text", "image"]`. Context values cap live `/models` metadata; they never raise a smaller live
|
|
289
|
-
context window.
|
|
302
|
+
context window. The bundled GPT-5.6 Sol/Terra/Luna fallback metadata uses a 372,000-token usable
|
|
303
|
+
context window for OpenAI API key and OpenRouter catalog entries; it does not bypass upstream preview
|
|
304
|
+
access. See the configuration reference for the full field list.
|
|
290
305
|
|
|
291
306
|
> **GLM-5.2 1M context via Z.AI:** through the `openai-chat` adapter, both `glm-5.2`
|
|
292
307
|
> and `glm-5.2[1m]` work — opencodex strips the trailing `[1m]` suffix before
|
package/README.zh-CN.md
CHANGED
|
@@ -100,8 +100,9 @@ npm install -g @bitkyc08/opencodex # 不要加 --ignore-scripts、--omit=optio
|
|
|
100
100
|
- **登录一次,免填 API key。** xAI、Anthropic、Kimi 支持 OAuth,可用现有账户认证,token 自动刷新。也可以转发 `codex login`、粘贴 API key,或使用 `${ENV_VAR}` 引用 —— 随你选择。
|
|
101
101
|
- **Codex 在哪里能用,它就在哪里能用。** 自动注入 Codex CLI、TUI、App 和 SDK。路由模型像原生模型一样出现在 Codex 的模型选择器里。
|
|
102
102
|
- **委派给合适的模型。** 在仪表盘或 config 中把最多 5 个路由/原生模型放进 Codex 的 subagent 选择器 —— 复杂任务交给 reasoning 模型,快速任务交给便宜模型。
|
|
103
|
+
- **为 preview-gated OpenAI rollout 做好准备。** GPT-5.6 Sol/Terra/Luna 条目采用与 upstream 完全一致的规格(Sol/Terra 到 `ultra`,Luna 到 `max`;372k 可用上下文),覆盖 ChatGPT passthrough、OpenAI API key 和 OpenRouter 路由。
|
|
103
104
|
- **给任意模型超能力。** 非 OpenAI 模型也能通过你的 ChatGPT 登录上运行的 `gpt-5.4-mini` sidecar 获得真正的网页搜索和图片理解。
|
|
104
|
-
- **看清正在发生什么。** Web 仪表盘展示 provider、OAuth
|
|
105
|
+
- **看清正在发生什么。** Web 仪表盘展示 provider、OAuth 状态、模型选择和实时请求日志;当上游返回时,也会包含 cached/cache-write token 计数 —— 不必再猜测请求为何失败。
|
|
105
106
|
- **后台运行。** 安装为系统服务(launchd / systemd / Task Scheduler)后开机自启,无需操心。
|
|
106
107
|
- **干净退出,零残留。** `ocx stop`(或仪表盘的 Stop 按钮)会关闭代理、停止已安装的后台服务,并将 Codex 恢复为原始配置。之后 `codex` 就像从未安装过 opencodex 一样工作 —— 无残留配置,无僵尸进程。
|
|
107
108
|
|
|
@@ -147,6 +148,17 @@ codex -m "ollama/llama3" "重构这个函数"
|
|
|
147
148
|
|
|
148
149
|
路由模型也会出现在 **Codex App** 模型选择器中,并带有按模型的 reasoning effort 控制:
|
|
149
150
|
|
|
151
|
+
当前 Codex 构建在模型声明支持时可显示 `low`、`medium`、`high`、`xhigh`、`max` 和 `ultra` reasoning 控制。
|
|
152
|
+
除非 provider config 明确设置 alias,opencodex 会把 `xhigh` 与 `max` 保持为不同档位。`ultra` 与上游
|
|
153
|
+
Codex 语义一致:客户端启用最大 reasoning 并主动委派多智能体,实际请求会转换为 `max` 发送。
|
|
154
|
+
路由模型仅在 provider config 通过 `reasoningEfforts` 显式开启时才会广告 `ultra`。
|
|
155
|
+
|
|
156
|
+
GPT-5.6 Sol/Terra/Luna 已在 OpenAI API key 和 OpenRouter 预设中作为 rollout-ready 目录条目预置
|
|
157
|
+
(`gpt-5.6-sol`、`gpt-5.6-terra`、`gpt-5.6-luna`;OpenRouter 使用 `openai/...`)。
|
|
158
|
+
规格与 upstream models.json 快照一致 —— Sol/Terra 提供到 `ultra`,Luna 到 `max`,Sol 默认
|
|
159
|
+
reasoning 为 `low`。可用性仍受上游
|
|
160
|
+
preview gate 限制;opencodex 只是准备好你的账户/provider 可访问时所需的路由和目录元数据。
|
|
161
|
+
|
|
150
162
|
<p align="center">
|
|
151
163
|
<img src="assets/codex-app-picker.png" alt="Codex App 展示 opencodex 路由模型及 reasoning effort 选择器" width="480">
|
|
152
164
|
</p>
|
|
@@ -256,8 +268,9 @@ npm uninstall -g @bitkyc08/opencodex
|
|
|
256
268
|
|
|
257
269
|
provider 条目还可以标注路由目录元数据。`contextWindow` 设置 provider 级别、对 Codex 可见的上下文上限,
|
|
258
270
|
`modelContextWindows` 设置按模型的上限,`modelInputModalities` 设置按模型的目录输入提示,例如 `["text"]`
|
|
259
|
-
或 `["text", "image"]`。这些值只会对实时 `/models`
|
|
260
|
-
|
|
271
|
+
或 `["text", "image"]`。这些值只会对实时 `/models` 元数据设上限,绝不会抬高更小的实时上下文窗口。内置
|
|
272
|
+
GPT-5.6 Sol/Terra/Luna fallback 元数据会为 OpenAI API key 和 OpenRouter 目录条目使用 372,000 token 的
|
|
273
|
+
usable context window;它不会绕过上游 preview access。完整字段参阅配置参考。
|
|
261
274
|
|
|
262
275
|
> **通过 Z.AI 使用 GLM-5.2 1M 上下文:** 在 `openai-chat` adapter 下,`glm-5.2` 和 `glm-5.2[1m]` 都可用 ——
|
|
263
276
|
> opencodex 会在发送请求前剥离末尾的 `[1m]` 后缀,因为 OpenAI 兼容端点会拒绝带方括号的 id(Z.AI 400 code
|