@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.
- package/README.md +92 -32
- 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.
|
|
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
|
-
-
|
|
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
|
-
###
|
|
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
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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/
|
|
265
|
-
cd
|
|
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.
|
|
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
|
-
-
|
|
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
|
-
###
|
|
441
|
+
### 9. 非阻塞后台执行
|
|
401
442
|
|
|
402
443
|
来自最近几条 fork 自有 TUI 改动:
|
|
403
444
|
|
|
@@ -408,19 +449,17 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
|
|
|
408
449
|
|
|
409
450
|
共享交互模型是:
|
|
410
451
|
|
|
411
|
-
-
|
|
412
|
-
-
|
|
413
|
-
-
|
|
414
|
-
-
|
|
415
|
-
-
|
|
416
|
-
-
|
|
417
|
-
-
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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/
|
|
525
|
-
cd
|
|
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.
|
|
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/
|
|
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.
|
|
22
|
+
"@leonw24/open-codex-linux-x64": "npm:@leonw24/open-codex@0.130.1-linux-x64"
|
|
23
23
|
}
|
|
24
24
|
}
|