@leonw24/open-codex 0.129.19 → 0.130.1

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.
Files changed (2) hide show
  1. package/README.md +92 -32
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -126,18 +126,29 @@ From recent fork-specific changes:
126
126
 
127
127
  This closes the UX gap between "the request was submitted with xhigh" and "the footer still looks like high": the status line now describes the active foreground turn without making a temporary marker look like a persistent configuration change.
128
128
 
129
- ### 7. Parallel-first subagent planning policy
129
+ ### 7. Lightweight `/btw` side questions
130
+
131
+ From recent fork-specific changes:
132
+
133
+ - ask quick side questions with `/btw <question>` without taking over the main chat
134
+ - keep short follow-ups inside the BTW bottom pane instead of turning them into the primary task
135
+ - use the same model, effort, permission, and tool behavior users expect from the main session
136
+
137
+ This is intended for "by the way" questions that are useful during work but should not become the primary task thread.
138
+
139
+ ### 8. Parallel-first subagent planning policy
130
140
 
131
141
  Implemented through the user-scope `~/.codex/AGENTS.md` instruction layer, with an extracted repo example in [`docs/parallel-first-agent-execution.md`](docs/parallel-first-agent-execution.md):
132
142
 
133
143
  - overrides Codex's default conservative stance against automatic agent spawning with an explicit, more aggressive subagent policy for complex work
134
144
  - classifies non-trivial work by independent investigation, review, test, docs, and validation axes before editing
135
145
  - prefers read-only subagents for evidence gathering, with one final implementation lane unless edit boundaries are clearly disjoint
136
- - sets concrete lane-count guidance, prompt requirements, stop conditions, and final-response evidence requirements
146
+ - keeps the stable profile set small (`default`, `explorer`, `worker`) while describing each subtask with clear task context and ownership
147
+ - encourages subagents across exploration, review, verification, and release checks when those lanes are genuinely independent
137
148
 
138
149
  This is an instruction-policy feature rather than a hardcoded scheduler: it enables a more aggressive subagent mechanism while keeping shared-file edits coordinated.
139
150
 
140
- ### 8. Nonblocking background execution
151
+ ### 9. Nonblocking background execution
141
152
 
142
153
  From recent fork-specific TUI changes:
143
154
 
@@ -148,19 +159,17 @@ The feature is centered on two background lanes:
148
159
 
149
160
  The shared interaction model is:
150
161
 
151
- - **Manual backgrounding** — `Ctrl+B` sends the current active exec/terminal activity to the background without submitting a core op, clearing the foreground task-running UI while preserving streamed output.
152
- - **Foreground state** — foreground model activity still drives the normal `Working` status, while background work is counted separately in the status line as `bg <n> subagent / <m> terminal`.
153
- - **Down task panel** — pressing `Down` opens a persistent bottom-pane task panel instead of inserting a chat-stream summary. The panel updates in place and separates `Tasks`, `Subagents`, and `Terminals`.
154
- - **List navigation** `Up`/`Down` moves selection, `Enter` opens details, `x` stops the selected stoppable terminal, and `Esc`/`Left` closes the panel.
155
- - **Terminal details** terminal detail view shows status, elapsed runtime, wrapped command/task metadata, and the recent output tail. `x` stops the terminal through the same cleanup path as `/stop` when the terminal is stoppable.
156
- - **Slash commands** — `/ps` prints a chat-history summary of running background terminals, while `/stop` terminates all running background terminal processes for the thread.
157
- - **Subagent details** subagent detail view shows agent title, role, task prompt, status, elapsed runtime, and progress lines. Subagents are inspectable in the background picker and switchable through the agent-thread workflow; non-stoppable subagents do not expose `x stop`.
158
- - **Plan tasks** — the same `Down` panel also surfaces the latest visible plan/task list, including completed tasks, so task history is inspectable without relying only on the compact status-line count.
159
- - **Completed background work** — completed background exec cells are flushed back into history once they finish, preserving the command and captured output without re-foregrounding the task.
162
+ - `Ctrl+B` sends the current terminal activity to the background while keeping streamed output available.
163
+ - `Down` opens a live task panel with separate `Tasks`, `Subagents`, and `Terminals` sections.
164
+ - `Enter` opens details, `x` stops the selected stoppable background item, and `Esc`/`Left` closes the panel.
165
+ - the status line keeps foreground `Working` state separate from background subagent/terminal counts.
166
+ - terminal details show runtime and recent output; subagent details show role, task, status, runtime, progress, and task-boundary context.
167
+ - `/agent` shows available agent profiles, while `/subagents` keeps the subagent thread picker/switching workflow.
168
+ - completed background command output is preserved in history without pulling the task back into the foreground.
160
169
 
161
170
  This is the essential interaction change behind the Claude Code-style behavior: background work stays visible and controllable, but it no longer blocks normal chat flow.
162
171
 
163
- ### 9. Status line token throughput visibility (Beta)
172
+ ### 10. Status line token throughput visibility (Beta)
164
173
 
165
174
  From commit `85e937b855`:
166
175
 
@@ -171,7 +180,7 @@ From commit `85e937b855`:
171
180
 
172
181
  This is intentionally marked **Beta**: the current value is useful as a rough responsiveness signal, but it is not yet an exact real-time throughput metric.
173
182
 
174
- ### 10. Workspace git status in the status line
183
+ ### 11. Workspace git status in the status line
175
184
 
176
185
  The status line can now surface the current workspace diff through the configurable `workspace-changes` item:
177
186
 
@@ -205,6 +214,27 @@ Continue improving the Codex CLI experience under `zellij`, especially around re
205
214
 
206
215
  - **Better task management experience**
207
216
 
217
+ ## Positioning vs. Wrapper Projects
218
+
219
+ Open Codex CLI is intentionally a native Codex fork, not a wrapper layer around the official CLI. Projects such as [everything-claude-code](https://github.com/affaan-m/everything-claude-code) and [oh-my-codex](https://github.com/Yeachan-Heo/oh-my-codex) are valuable because they can iterate quickly in TypeScript or configuration space: skills, prompts, hooks, setup flows, agent teams, and higher-level workflow policies can move faster outside the Rust runtime.
220
+
221
+ This fork targets the complementary layer: source-level CLI behavior that has to be correct inside Codex itself. That includes TUI rendering contracts, turn routing, foreground/background task state, status-line truth, memory-session integration, app-server protocol surfaces, update detection, and npm package identity. Wrapper projects can orchestrate those capabilities, but they should not have to emulate them with prompts or hooks.
222
+
223
+ | Dimension | Open Codex CLI | Wrapper/workflow projects |
224
+ | --- | --- | --- |
225
+ | Primary layer | Native Codex runtime and distribution | External orchestration around Codex or multiple coding agents |
226
+ | Typical implementation | Rust source changes in `codex-rs`, launcher/package changes in `codex-cli`, protocol/schema changes | TypeScript, shell scripts, config files, prompts, skills, hooks, MCP setup |
227
+ | Best for | TUI correctness, turn/session contracts, background task state, status-line truth, memory-session integration, app-server protocol, fork-aware updates | Fast workflow iteration, project setup, agent teams, prompt routing, skills, hooks, policy packs, cross-tool conventions |
228
+ | Iteration speed | Slower, because changes need Rust builds, tests, and upstream-merge discipline | Faster, because behavior can change through TS/config/prompt layers |
229
+ | Contract strength | Can enforce behavior inside the CLI engine | Can guide or orchestrate behavior, but should not have to simulate native runtime guarantees |
230
+ | Relationship | Provides a stronger Codex engine | Composes and operates the engine |
231
+
232
+ The intended boundary is:
233
+
234
+ - use Open Codex CLI for native runtime improvements that require changes in `codex-rs`, `codex-cli`, or the app-server protocol
235
+ - use wrapper/workflow projects for fast-moving orchestration, setup, prompts, skills, hooks, and project-specific operating policies
236
+ - keep the fork close enough to upstream that wrapper projects can treat it as a stronger Codex engine rather than a separate product family
237
+
208
238
  ## Maintenance Philosophy
209
239
 
210
240
  This fork is maintained with a conservative strategy:
@@ -261,8 +291,8 @@ If you want to use this fork from source, build the Rust workspace and install t
261
291
 
262
292
  ```shell
263
293
  # Clone the fork and build the CLI
264
- git clone https://github.com/LEON-gittech/codex.git
265
- cd codex/codex-rs
294
+ git clone https://github.com/LEON-gittech/Open-Codex-CLI.git
295
+ cd Open-Codex-CLI/codex-rs
266
296
  cargo build --release
267
297
  ```
268
298
 
@@ -386,18 +416,29 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
386
416
 
387
417
  这补上了“请求实际按 xhigh 提交,但底部仍显示 high”的 UX 缺口:status line 会描述当前前台 turn,但不会把一次性的 marker 伪装成持久配置变更。
388
418
 
389
- ### 7. Parallel-first subagent planning policy
419
+ ### 7. 轻量 `/btw` side questions
420
+
421
+ 来自最近几条 fork 自有改动:
422
+
423
+ - 用 `/btw <question>` 快速提出 side question,不接管主聊天
424
+ - 在 BTW bottom pane 里继续短 follow-up,而不是把侧聊变成主任务
425
+ - 复用主 session 里用户熟悉的 model、effort、permission 和 tool 行为
426
+
427
+ 这个能力适合“顺便问一下”的问题:它对当前工作有帮助,但不应该接管主任务线程。
428
+
429
+ ### 8. Parallel-first subagent planning policy
390
430
 
391
431
  通过 user-scope `~/.codex/AGENTS.md` 指令层实现,并在 repo 中抽取了示例文件:[`docs/parallel-first-agent-execution.md`](docs/parallel-first-agent-execution.md)。
392
432
 
393
433
  - 显式覆盖 Codex 原本对 automatic agent spawning 的保守/禁止姿态,为复杂任务启用更激进的 subagent policy
394
434
  - 在编辑前先按 independent investigation、review、test、docs、validation 等轴判断任务是否适合拆分
395
435
  - 默认优先使用 read-only subagents 收集证据,除非 edit boundary 明确 disjoint,否则保留一个最终 implementation lane
396
- - 明确 lane 数量建议、subagent prompt 要求、stop conditions,以及 final response 的 evidence 要求
436
+ - 保持稳定 profile 集合足够小(`default`、`explorer`、`worker`),用清晰的 task context ownership 描述每个子任务
437
+ - 鼓励在 exploration、review、verification、release check 等阶段使用真正独立的 subagent lane
397
438
 
398
439
  这不是硬编码 scheduler,而是 instruction-policy feature:它启用了更激进的 subagent 机制,同时避免多个执行 lane 争抢同一批文件。
399
440
 
400
- ### 8. 非阻塞后台执行
441
+ ### 9. 非阻塞后台执行
401
442
 
402
443
  来自最近几条 fork 自有 TUI 改动:
403
444
 
@@ -408,19 +449,17 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
408
449
 
409
450
  共享交互模型是:
410
451
 
411
- - **Manual backgrounding** — `Ctrl+B` 会把当前 active exec/terminal activity 送到后台,不提交 core op,并清掉前台 task-running UI,同时保留后续 streamed output。
412
- - **Foreground state** — 前台模型活动仍然驱动正常的 `Working` 状态,后台工作则在 status line 中单独计数为 `bg <n> subagent / <m> terminal`。
413
- - **Down task panel** — 按 `Down` 会打开一个持久的底部 task panel,而不是往 chat stream 插入 summary。这个 panel 会原地更新,并区分 `Tasks`、`Subagents`、`Terminals`。
414
- - **List navigation** `Up`/`Down` 移动选择,`Enter` 打开详情,`x` 停止当前选中的 stoppable terminal,`Esc`/`Left` 关闭 panel。
415
- - **Terminal details** terminal detail view 会显示 statuselapsed runtime、自动换行的 command/task metadata,以及最近的 output tail。当 terminal 是 stoppable 时,`x` 会通过和 `/stop` 相同的 cleanup path 停止它。
416
- - **Slash commands** — `/ps` 会把 running background terminals 的摘要打印到 chat history,`/stop` 会终止当前 thread 下所有 running background terminal processes。
417
- - **Subagent details** — subagent detail view 会显示 agent title、role、task prompt、status、elapsed runtime 和 progress lines。Subagents 可以在 background picker 中查看,并通过 agent-thread workflow 切换;不可停止的 subagents 不会暴露 `x stop`。
418
- - **Plan tasks** — 同一个 `Down` panel 也会展示最近可见的 plan/task list,包括已经完成的 tasks,因此不用只依赖 status line 上的 compact task count 才能了解任务历史。
419
- - **Completed background work** — background exec 完成后会把对应 cell 刷回 history,保留 command 和已捕获 output,但不会把任务重新拉回前台。
452
+ - `Ctrl+B` 把当前 terminal activity 送到后台,同时保留后续 streamed output。
453
+ - `Down` 打开实时 task panel,并区分 `Tasks`、`Subagents`、`Terminals`。
454
+ - `Enter` 打开详情,`x` 停止当前选中的 stoppable 后台项,`Esc`/`Left` 关闭 panel
455
+ - status line 会把前台 `Working` 状态和后台 subagent/terminal 数量分开显示。
456
+ - terminal detail 展示运行时间和最近输出;subagent detail 展示 role、task、status、运行时间、progress 和任务边界信息。
457
+ - `/agent` 用于查看可用 agent profiles,`/subagents` 保留 subagent thread picker / 切换工作流。
458
+ - background command 完成后会保留输出到 history,但不会把任务重新拉回前台。
420
459
 
421
460
  这是 Claude Code 风格体验背后的本质交互变化:后台工作仍然可见、可管理,但不会阻塞正常聊天流。
422
461
 
423
- ### 9. Status line token throughput visibility(Beta)
462
+ ### 10. Status line token throughput visibility(Beta)
424
463
 
425
464
  来自 commit `85e937b855`:
426
465
 
@@ -431,7 +470,7 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
431
470
 
432
471
  这个能力目前标记为 **Beta**:它可以作为粗略 responsiveness signal,但还不是准确的 real-time throughput metric。
433
472
 
434
- ### 10. Status line 中显示 workspace git status
473
+ ### 11. Status line 中显示 workspace git status
435
474
 
436
475
  status line 现在可以通过可配置的 `workspace-changes` item 显示当前 workspace diff:
437
476
 
@@ -465,6 +504,27 @@ status line 现在可以通过可配置的 `workspace-changes` item 显示当前
465
504
 
466
505
  - **更好的 task management 体验**
467
506
 
507
+ ## 与外层封装项目的定位关系
508
+
509
+ Open Codex CLI 的定位是原生 Codex fork,而不是包在官方 CLI 外面的 wrapper layer。[everything-claude-code](https://github.com/affaan-m/everything-claude-code) 和 [oh-my-codex](https://github.com/Yeachan-Heo/oh-my-codex) 这类项目的价值在于可以用 TypeScript 或配置层快速迭代:skills、prompts、hooks、setup flows、agent teams,以及更高层的 workflow policy,都适合在 Rust runtime 外面快速演进。
510
+
511
+ 这个 fork 针对的是互补的一层:必须在 Codex 本体里保证正确性的 source-level CLI behavior。比如 TUI rendering contract、turn routing、foreground/background task state、status-line truth、memory-session integration、app-server protocol surfaces、update detection 和 npm package identity。这些能力可以被 wrapper 项目编排和调用,但不应该靠 prompts 或 hooks 在外层模拟。
512
+
513
+ | 维度 | Open Codex CLI | 外层 wrapper/workflow 项目 |
514
+ | --- | --- | --- |
515
+ | 主要层级 | 原生 Codex runtime 与分发层 | 围绕 Codex 或多种 coding agent 的外部编排层 |
516
+ | 典型实现方式 | `codex-rs` 的 Rust 源码改动、`codex-cli` launcher/package 改动、protocol/schema 改动 | TypeScript、shell scripts、配置文件、prompts、skills、hooks、MCP setup |
517
+ | 最适合承载 | TUI correctness、turn/session contracts、background task state、status-line truth、memory-session integration、app-server protocol、fork-aware updates | 快速 workflow iteration、project setup、agent teams、prompt routing、skills、hooks、policy packs、跨工具约定 |
518
+ | 迭代速度 | 较慢,需要 Rust build、测试和 upstream merge 纪律 | 较快,可以通过 TS/config/prompt 层快速变化 |
519
+ | Contract 强度 | 能在 CLI engine 内部强制保证行为 | 能引导和编排行为,但不应该模拟 native runtime guarantees |
520
+ | 二者关系 | 提供更强的 Codex engine | 组合、操作和扩展这个 engine |
521
+
522
+ 预期边界是:
523
+
524
+ - Open Codex CLI 负责那些需要改 `codex-rs`、`codex-cli` 或 app-server protocol 的原生 runtime 改进
525
+ - 外层 wrapper/workflow 项目负责快速变化的 orchestration、setup、prompts、skills、hooks 和项目级 operating policies
526
+ - fork 保持足够贴近 upstream,让 wrapper 项目可以把它当作更强的 Codex engine,而不是另一个完全独立的产品线
527
+
468
528
  ## 维护思路
469
529
 
470
530
  这个 fork 的维护策略是偏保守的:
@@ -521,8 +581,8 @@ open-codex --version
521
581
 
522
582
  ```shell
523
583
  # 克隆仓库并构建 CLI
524
- git clone https://github.com/LEON-gittech/codex.git
525
- cd codex/codex-rs
584
+ git clone https://github.com/LEON-gittech/Open-Codex-CLI.git
585
+ cd Open-Codex-CLI/codex-rs
526
586
  cargo build --release
527
587
  ```
528
588
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leonw24/open-codex",
3
- "version": "0.129.19",
3
+ "version": "0.130.1",
4
4
  "license": "Apache-2.0",
5
5
  "bin": {
6
6
  "open-codex": "bin/codex.js"
@@ -14,11 +14,11 @@
14
14
  ],
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "git+https://github.com/LEON-gittech/codex.git",
17
+ "url": "git+https://github.com/LEON-gittech/Open-Codex-CLI.git",
18
18
  "directory": "codex-cli"
19
19
  },
20
20
  "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319",
21
21
  "dependencies": {
22
- "@leonw24/open-codex-linux-x64": "npm:@leonw24/open-codex@0.129.19-linux-x64"
22
+ "@leonw24/open-codex-linux-x64": "npm:@leonw24/open-codex@0.130.1-linux-x64"
23
23
  }
24
24
  }