@leonw24/open-codex 0.129.1 → 0.129.2

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 +163 -79
  2. package/package.json +7 -2
package/README.md CHANGED
@@ -17,6 +17,10 @@
17
17
  <a href="#简体中文"><img alt="简体中文" src="https://img.shields.io/badge/简体中文-switch-444444?style=for-the-badge" /></a>
18
18
  </p>
19
19
 
20
+ <p align="center">
21
+ <img src="./.github/open-codex-cli-unleashed.png" alt="Open Codex CLI unleashed banner" width="960" />
22
+ </p>
23
+
20
24
  <p align="center">
21
25
  GitHub README does not allow JavaScript-based language toggles, so this page uses collapsible language sections as the practical equivalent.
22
26
  </p>
@@ -34,35 +38,36 @@ That policy is understandable from the perspective of the upstream maintainers,
34
38
 
35
39
  The goal of **Open Codex CLI** is not to diverge for the sake of divergence. The goal is to keep a small, intentional delta on top of upstream Codex CLI, make that delta easy to understand, and keep the fork mergeable as upstream evolves.
36
40
 
37
- ## Targets
41
+ ## Current Goals
38
42
 
39
43
  - solve real Codex CLI usage problems I run into, whether they are bugs or features worth borrowing from Claude Code
40
44
  - keep improving the Codex CLI experience under `zellij` (**Fuck Off Tmux!**)
41
45
 
42
- ## Current Delta vs. Latest Upstream Codex CLI
46
+ ## Current Delta and Roadmap vs. Latest Upstream Codex CLI
43
47
 
44
48
  This fork is currently based on the latest upstream `openai/codex` and adds a small set of focused CLI improvements from recent fork-specific commits:
45
49
 
46
- ### 1. Better transcript contrast in the TUI for Zellij
50
+ ### 1. General user-query highlighting in the TUI
47
51
 
48
- From commit `598bebc6b`:
52
+ From commit `c652bb8db1`:
49
53
 
50
- - improves visual distinction between user-authored content and assistant-rendered content when Codex CLI is used inside `zellij`
51
- - adjusts the TUI styling path used by user message rendering for the `zellij` case
52
- - targets a real readability issue in `zellij`; this is not the same problem in a normal terminal session or in `tmux`
54
+ - adds a shared `user_message_style()` for user-authored query surfaces instead of a Zellij-only transcript contrast path
55
+ - applies the same terminal-background-aware user-query highlight to the chat composer panel and to committed `UserHistoryCell` messages in chat history
56
+ - wraps historical user queries with top/bottom divider lines and keeps the `User ›` prefix visually distinct, so user prompts are easier to scan in long transcripts
57
+ - keeps the styling adaptive across light and dark terminal backgrounds rather than hardcoding a single foreground/border color
53
58
 
54
- This is a usability-focused patch for the `zellij` environment: the goal is to reduce ambiguity in the chat history without changing the underlying interaction model.
55
-
56
- For context: [Zellij](https://github.com/zellij-org/zellij) is a terminal workspace / terminal multiplexer. Compared with `tmux`, it puts more emphasis on a batteries-included user experience, richer pane behavior, built-in layouts, and more discoverable interaction patterns out of the box.
59
+ This is a general TUI readability improvement: the active user query in the chat box and previous user queries in history now share one consistent highlight language, making user-authored turns easier to identify without tying the behavior to `zellij`.
57
60
 
58
61
  ### 2. Stale turn output protection in the TUI
59
62
 
60
- From commits `5800f4e9f` and `0b299d9bd`:
63
+ From commit `67b06fd086`:
61
64
 
62
- - adds turn-aware filtering for streamed assistant output
63
- - prevents stale deltas from older turns from leaking into the currently active turn
64
- - hardens replay and status handling around message deltas, reasoning deltas, and turn completion events
65
- - adds regression coverage for the stale-turn cases that motivated the fix
65
+ - adds turn-aware filtering at the live TUI notification/render boundary
66
+ - drops stale assistant message, plan, and reasoning deltas when they belong to an older turn
67
+ - drops stale completed assistant/plan/reasoning items from live thread-item notifications
68
+ - ignores stale turn-completion notifications so an old completion cannot end the current turn
69
+ - keeps replay explicitly separate, so resumed thread snapshots can still render historical content
70
+ - adds regression coverage for stale deltas, stale completed items, and stale completions
66
71
 
67
72
  This is a correctness-focused patch: the UI should not render output from the wrong turn, even when retry, replay, or stream timing gets messy.
68
73
 
@@ -100,52 +105,91 @@ From recent fork-specific changes:
100
105
 
101
106
  This brings a Claude Code-style export flow into the TUI without requiring external scripts or manual transcript scraping.
102
107
 
103
- ## Maintenance Philosophy
108
+ ### 6. Parallel-first subagent planning policy
104
109
 
105
- This fork is maintained with a conservative strategy:
110
+ 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):
106
111
 
107
- - keep the fork close to upstream `openai/codex`
108
- - merge upstream regularly rather than carrying a long-lived reimplementation
109
- - keep fork-specific patches small, testable, and easy to reason about
110
- - prefer user-facing CLI quality improvements over broad architectural churn
111
- - document motivation, tradeoffs, and intended maintenance cost in the repo itself
112
+ - overrides Codex's default conservative stance against automatic agent spawning with an explicit, more aggressive subagent policy for complex work
113
+ - classifies non-trivial work by independent investigation, review, test, docs, and validation axes before editing
114
+ - prefers read-only subagents for evidence gathering, with one final implementation lane unless edit boundaries are clearly disjoint
115
+ - sets concrete lane-count guidance, prompt requirements, stop conditions, and final-response evidence requirements
112
116
 
113
- In practice, maintenance will follow a straightforward loop:
117
+ This is an instruction-policy feature rather than a hardcoded scheduler: it enables a more aggressive subagent mechanism while keeping shared-file edits coordinated.
114
118
 
115
- 1. track the latest upstream Codex CLI changes
116
- 2. merge upstream into this fork on a regular basis
117
- 3. re-validate the fork-specific delta
118
- 4. keep or refine only the patches that still provide clear value
119
+ ### 7. Nonblocking background execution
119
120
 
120
- The standard for changes here is simple: if a patch is not worth carrying across upstream merges, it does not belong in the fork.
121
+ From recent fork-specific TUI changes:
122
+
123
+ The feature is centered on two background lanes:
124
+
125
+ - **Terminal commands** — long-running terminal sessions continue in the background instead of keeping the main turn blocked by foreground waiting or polling. Empty `command/exec/write` interactions keep the terminal backgrounded, so normal chat input can be submitted while the shell process continues.
126
+ - **Subagents** — long-running agent work is tracked as background activity after spawn/wait tool calls complete, including agent nickname, role, status, and progress lines when available.
127
+
128
+ The shared interaction model is:
129
+
130
+ - **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.
131
+ - **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`.
132
+ - **Task picker** — pressing `Down` when background work exists opens the bottom-pane background task picker instead of inserting a chat-stream summary. The picker separates `Subagents` and `Terminals`; `Up`/`Down` moves selection, `Enter` opens details, `Left` returns to the list, and `Esc` closes it.
133
+ - **Terminal details** — terminal detail view shows the command and the recent output tail. Pressing `x` in the picker or detail view stops background terminals through the same cleanup path as `/stop`.
134
+ - **Slash commands** — `/ps` prints a chat-history summary of running background terminals, while `/stop` terminates all running background terminal processes for the thread.
135
+ - **Subagent details** — subagent detail view shows agent title, status, and progress. Subagents are inspectable in the background picker and switchable through the agent-thread workflow; `/stop` and picker `x` are terminal-only controls and do not kill subagents.
136
+ - **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.
137
+
138
+ 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.
121
139
 
122
- ## Roadmap
140
+ ### 8. Status line token throughput visibility (Beta)
141
+
142
+ From commit `85e937b855`:
143
+
144
+ - adds a configurable status-line item for session-average input/output token throughput
145
+ - renders as `in <rate> / out <rate> tok/s` when enough token-usage and turn-duration data has been observed
146
+ - falls back to `in -- / out -- tok/s` before a usable sample exists
147
+ - computes a coarse session average from completed turn usage and duration, including interval merging for overlapping active windows
148
+
149
+ 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.
150
+
151
+ ### Near-term roadmap
123
152
 
124
153
  The near-term roadmap is intentionally focused on a few CLI-facing improvements:
125
154
 
126
- ### 1. Status line throughput visibility
155
+ #### 1. ~~Status line throughput visibility~~ ✅ Beta
127
156
 
128
- Improve the Codex CLI status line so it can surface token throughput directly, instead of only showing coarse task state. The aim is to make model responsiveness easier to judge in real time.
157
+ Initial support is implemented as a beta status-line item. The remaining work is accuracy: the current estimator is session-average and timing-derived, so it should not be treated as precise real-time token throughput yet.
129
158
 
130
- ### 2. ~~Session export~~ ✅ Completed
159
+ #### 2. ~~Session export~~ ✅ Completed
131
160
 
132
161
  Implemented as a Claude Code-style `/export` flow for the current session, with user-defined filenames like `/export talk.txt` or `/export talk.md`. This now covers the debugging, sharing, and archival use case directly inside the TUI.
133
162
 
134
- ### 3. Better memory mechanics
163
+ #### 3. Better memory mechanics
135
164
 
136
165
  Active memory staging is implemented on top of upstream memories (see Current Delta section 3 above). Broader durable-memory behavior should continue to follow upstream so fork changes stay additive.
137
166
 
138
- ### 4. Better Zellij ergonomics
167
+ #### 4. Better Zellij ergonomics
139
168
 
140
169
  Continue improving the Codex CLI experience under `zellij`, especially around rendering, layout, contrast, and other interaction details that behave differently from plain terminal sessions or `tmux`.
141
170
 
142
- ### Next focus areas
171
+ #### Next focus areas
172
+
173
+ - **Better task management experience**
174
+
175
+ ## Maintenance Philosophy
176
+
177
+ This fork is maintained with a conservative strategy:
178
+
179
+ - keep the fork close to upstream `openai/codex`
180
+ - merge upstream regularly rather than carrying a long-lived reimplementation
181
+ - keep fork-specific patches small, testable, and easy to reason about
182
+ - prefer user-facing CLI quality improvements over broad architectural churn
183
+ - document motivation, tradeoffs, and intended maintenance cost in the repo itself
184
+
185
+ In practice, maintenance will follow a straightforward loop:
143
186
 
144
- - **Background AutoDream-style consolidation** — move consolidation fully off the startup path and replace it with a background 3-gate consolidator (time ≥ 24h, ≥ 5 new sessions, no lock), using a 4-phase pipeline: Orient → Gather → Consolidate → Prune.
145
- - **Memory staging UI** surface staged session-memory entries in the TUI so the user can inspect what is currently overlaid before upstream consolidation picks it up.
146
- - **Memory versioning** — keep a lightweight changelog for topic edits so agents can reason about what changed and when.
147
- - **More proactive subagent parallel planning** — let the agent split work and dispatch parallel subagents more aggressively instead of stepping through tasks strictly serially.
148
- - **Claude Code-style background execution** — automatically send long-running commands and agent work to the background rather than keeping the main process occupied by foreground waiting and polling.
187
+ 1. track the latest upstream Codex CLI changes
188
+ 2. merge upstream into this fork on a regular basis
189
+ 3. re-validate the fork-specific delta
190
+ 4. keep or refine only the patches that still provide clear value
191
+
192
+ The standard for changes here is simple: if a patch is not worth carrying across upstream merges, it does not belong in the fork.
149
193
 
150
194
  ## Community
151
195
 
@@ -235,30 +279,31 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
235
279
  - 解决我在实际使用 Codex CLI 时遇到的体验问题,不管它们是 bug,还是值得从 Claude Code 借鉴过来的 feature
236
280
  - 持续优化 Codex CLI 在 `zellij` 下的使用体验(**Fuck Off Tmux!**)
237
281
 
238
- ## 当前相对最新 Upstream Codex CLI 的差异
282
+ ## 当前相对最新 Upstream Codex CLI 的差异与路线图
239
283
 
240
284
  这个 fork 目前基于最新的 `openai/codex`,并在最近几条 fork 自有 commit 的基础上增加了几项聚焦的 CLI 改进:
241
285
 
242
- ### 1. 面向 Zellij TUI transcript 对比度优化
243
-
244
- 来自 commit `598bebc6b`:
286
+ ### 1. TUI 中通用的 user query 高亮优化
245
287
 
246
- - 改善了在 `zellij` 环境下用户消息与 assistant 输出之间的视觉区分度
247
- - 调整了 `zellij` 场景下用户消息渲染路径的样式策略
248
- - 解决的是 `zellij` 下真实存在的可读性问题,而不是普通 terminal 或 `tmux` 下的通用问题
288
+ 来自 commit `c652bb8db1`:
249
289
 
250
- 这是一个面向 `zellij` 使用环境的可用性优化,目标是在不改变交互模型的前提下,降低 transcript 阅读时的歧义。
290
+ - 增加共享的 `user_message_style()`,用于 user-authored query surfaces,而不是继续保留 Zellij-only 的 transcript contrast 路径
291
+ - 把同一套 terminal-background-aware user-query highlight 同时用于聊天输入框 panel 和历史聊天里的 `UserHistoryCell`
292
+ - 历史 user query 会带 top/bottom divider lines,并保留醒目的 `User ›` prefix,让长 transcript 里的用户提问更容易扫描
293
+ - 样式会根据 light/dark terminal background 自适应,而不是硬编码单一 foreground/border color
251
294
 
252
- 补充说明:[Zellij](https://github.com/zellij-org/zellij) 是一个 terminal workspace / terminal multiplexer。相比 `tmux`,它更强调开箱即用的体验、更丰富的 pane 行为、内建布局能力,以及更容易发现的交互方式。
295
+ 这是一个通用 TUI 可读性优化:聊天框中的当前 user query 和历史聊天中的旧 user query 使用一致的高亮语言,让用户输入回合更容易识别,而不再绑定到 `zellij` 场景。
253
296
 
254
297
  ### 2. TUI 中的 stale turn output 保护
255
298
 
256
- 来自 commits `642d306a7` 和 `6c27de579`:
299
+ 来自 commit `67b06fd086`:
257
300
 
258
- - 为流式 assistant 输出增加了 turn-aware 过滤
259
- - 防止旧 turn 的 delta 混入当前 active turn
260
- - 强化了 replay、reasoning delta、turn completion 等路径下的状态处理
261
- - 增加了针对 stale-turn 场景的回归测试覆盖
301
+ - live TUI notification/render boundary 增加 turn-aware filtering
302
+ - 丢弃属于旧 turn 的 assistant message、plan、reasoning deltas
303
+ - 丢弃 live thread-item notifications 中属于旧 turn completed assistant/plan/reasoning items
304
+ - 忽略旧 turn 的 completion notification,避免旧 completion 结束当前 turn
305
+ - replay 路径保持独立,resumed thread snapshot 仍然可以渲染历史内容
306
+ - 增加针对 stale deltas、stale completed items、stale completions 的回归测试覆盖
262
307
 
263
308
  这是一个偏正确性的修复:即使在 retry、replay、stream 时序比较复杂的情况下,UI 也不应该把错误 turn 的输出渲染出来。
264
309
 
@@ -296,52 +341,91 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
296
341
 
297
342
  这让类似 Claude Code 的会话导出能力直接进入 TUI,而不需要额外脚本或手工抓 transcript。
298
343
 
299
- ## 维护思路
344
+ ### 6. Parallel-first subagent planning policy
300
345
 
301
- 这个 fork 的维护策略是偏保守的:
346
+ 通过 user-scope `~/.codex/AGENTS.md` 指令层实现,并在 repo 中抽取了示例文件:[`docs/parallel-first-agent-execution.md`](docs/parallel-first-agent-execution.md)。
302
347
 
303
- - 尽量保持与 upstream `openai/codex` 接近
304
- - 通过持续 merge upstream,而不是长期走大幅重写路线
305
- - 保持 fork 自有 patch 小而清晰、可测试、可解释
306
- - 优先关注面向 CLI 用户的真实体验改进,而不是无边界扩张
307
- - 在仓库内直接记录动机、取舍和维护成本
348
+ - 显式覆盖 Codex 原本对 automatic agent spawning 的保守/禁止姿态,为复杂任务启用更激进的 subagent policy
349
+ - 在编辑前先按 independent investigation、review、test、docs、validation 等轴判断任务是否适合拆分
350
+ - 默认优先使用 read-only subagents 收集证据,除非 edit boundary 明确 disjoint,否则保留一个最终 implementation lane
351
+ - 明确 lane 数量建议、subagent prompt 要求、stop conditions,以及 final response 的 evidence 要求
308
352
 
309
- 实际维护会遵循一个比较直接的循环:
353
+ 这不是硬编码 scheduler,而是 instruction-policy feature:它启用了更激进的 subagent 机制,同时避免多个执行 lane 争抢同一批文件。
310
354
 
311
- 1. 跟踪 upstream Codex CLI 的最新变化
312
- 2. 定期把 upstream merge 进这个 fork
313
- 3. 重新验证 fork 的自有差异是否仍然成立
314
- 4. 只保留那些在持续 merge 成本下仍然值得维护的 patch
355
+ ### 7. 非阻塞后台执行
315
356
 
316
- 标准很简单:如果一个 patch 不值得长期跟随 upstream 一起维护,它就不应该存在于这个 fork 中。
357
+ 来自最近几条 fork 自有 TUI 改动:
358
+
359
+ 这个能力围绕两个 background lanes 展开:
360
+
361
+ - **Terminal commands** — 长时间运行的 terminal session 会进入后台继续执行,不再通过前台 waiting / polling 阻塞主 turn。空的 `command/exec/write` 交互会保持 terminal backgrounded,因此 shell process 继续运行时也可以正常提交新的聊天输入。
362
+ - **Subagents** — 长时间运行的 agent work 会在 spawn/wait tool call 完成后作为 background activity 跟踪,能带上 agent nickname、role、status,以及可用的 progress lines。
363
+
364
+ 共享交互模型是:
365
+
366
+ - **Manual backgrounding** — `Ctrl+B` 会把当前 active exec/terminal activity 送到后台,不提交 core op,并清掉前台 task-running UI,同时保留后续 streamed output。
367
+ - **Foreground state** — 前台模型活动仍然驱动正常的 `Working` 状态,后台工作则在 status line 中单独计数为 `bg <n> subagent / <m> terminal`。
368
+ - **Task picker** — 有后台任务时按 `Down` 会在底部打开 background task picker,而不是往 chat stream 插入 summary。picker 会区分 `Subagents` 和 `Terminals`;`Up`/`Down` 移动选择,`Enter` 打开详情,`Left` 返回列表,`Esc` 关闭。
369
+ - **Terminal details** — terminal detail view 会显示 command 和最近的 output tail。在 picker 或 detail view 中按 `x` 会通过和 `/stop` 相同的 cleanup path 停止 background terminals。
370
+ - **Slash commands** — `/ps` 会把 running background terminals 的摘要打印到 chat history,`/stop` 会终止当前 thread 下所有 running background terminal processes。
371
+ - **Subagent details** — subagent detail view 会显示 agent title、status 和 progress。Subagents 可以在 background picker 中查看,并通过 agent-thread workflow 切换;`/stop` 和 picker 里的 `x` 都是 terminal-only controls,不会 kill subagents。
372
+ - **Completed background work** — background exec 完成后会把对应 cell 刷回 history,保留 command 和已捕获 output,但不会把任务重新拉回前台。
373
+
374
+ 这是 Claude Code 风格体验背后的本质交互变化:后台工作仍然可见、可管理,但不会阻塞正常聊天流。
375
+
376
+ ### 8. Status line token throughput visibility(Beta)
377
+
378
+ 来自 commit `85e937b855`:
317
379
 
318
- ## 路线图
380
+ - 增加可配置的 status-line item,用于显示 session-average input/output token throughput
381
+ - 当已经观察到足够的 token usage 和 turn duration 数据时,显示为 `in <rate> / out <rate> tok/s`
382
+ - 在还没有可用 sample 前,回退显示为 `in -- / out -- tok/s`
383
+ - 当前用 completed turn usage 和 duration 计算粗略 session average,并对 overlapping active windows 做 interval merging
384
+
385
+ 这个能力目前标记为 **Beta**:它可以作为粗略 responsiveness signal,但还不是准确的 real-time throughput metric。
386
+
387
+ ### 近期路线图
319
388
 
320
389
  接下来会优先推进几项面向 CLI 的改进:
321
390
 
322
- ### 1. Status line 中增加 token throughput 可见性
391
+ #### 1. ~~Status line 中增加 token throughput 可见性~~ ✅ Beta
323
392
 
324
- 改进 Codex CLI status line,让它可以直接展示 token 吞吐,而不只是显示比较粗粒度的任务状态,便于更直观判断模型响应效率。
393
+ 初步能力已经实现为 beta status-line item。剩余工作是准确性:当前 estimator session-average 且依赖 turn timing,不应该当作精确的 real-time token throughput。
325
394
 
326
- ### 2. ~~Session export~~ ✅ 已完成
395
+ #### 2. ~~Session export~~ ✅ 已完成
327
396
 
328
397
  已实现类似 Claude Code 的 `/export` 会话导出能力,支持用户自定义文件名,例如 `/export talk.txt` 或 `/export talk.md`。当前已经覆盖调试、归档、分享这一类核心使用场景。
329
398
 
330
- ### 3. 更好的 memory 机制
399
+ #### 3. 更好的 memory 机制
331
400
 
332
401
  当前已在 upstream memories 之上实现主动 memory staging(见上方当前差异第 3 项)。更广义的 durable-memory 行为应继续跟随 upstream,fork 侧只保留增量补充。
333
402
 
334
- ### 4. 更好的 Zellij 使用体验
403
+ #### 4. 更好的 Zellij 使用体验
335
404
 
336
405
  继续针对 `zellij` 下的 Codex CLI 使用体验做优化,包括渲染、布局、对比度,以及其他与普通 terminal 或 `tmux` 表现不同的交互细节。
337
406
 
338
- ### 下一阶段重点
407
+ #### 下一阶段重点
408
+
409
+ - **更好的 task management 体验**
339
410
 
340
- - **后台化的 AutoDream 式 consolidation** — 把 consolidation 完整移出启动路径,改为后台 3-gate 合并器(时间 ≥ 24h、≥ 5 个新 session、无锁),并使用 4 阶段管线:Orient → Gather → Consolidate → Prune。
341
- - **Memory staging UI** — 在 TUI 中展示当前 staged session-memory entries,让用户能检查当前 overlay 中有什么,再等待 upstream consolidation 吸收。
342
- - **Memory 版本管理** — 为 topic 编辑维护轻量级变更日志,让 agent 能推理内容何时发生了什么变化。
343
- - **更主动的 subagent 并行规划** — 让 agent 能更积极地拆分任务并并行派发 subagent,而不是严格串行地一步步推进。
344
- - **Claude Code 风格的后台执行** — 自动把长时间运行的命令和 agent 工作放到后台,而不是长时间占用主进程做前台等待或轮询。
411
+ ## 维护思路
412
+
413
+ 这个 fork 的维护策略是偏保守的:
414
+
415
+ - 尽量保持与 upstream `openai/codex` 接近
416
+ - 通过持续 merge upstream,而不是长期走大幅重写路线
417
+ - 保持 fork 自有 patch 小而清晰、可测试、可解释
418
+ - 优先关注面向 CLI 用户的真实体验改进,而不是无边界扩张
419
+ - 在仓库内直接记录动机、取舍和维护成本
420
+
421
+ 实际维护会遵循一个比较直接的循环:
422
+
423
+ 1. 跟踪 upstream Codex CLI 的最新变化
424
+ 2. 定期把 upstream merge 进这个 fork
425
+ 3. 重新验证 fork 的自有差异是否仍然成立
426
+ 4. 只保留那些在持续 merge 成本下仍然值得维护的 patch
427
+
428
+ 标准很简单:如果一个 patch 不值得长期跟随 upstream 一起维护,它就不应该存在于这个 fork 中。
345
429
 
346
430
  ## 社区协作
347
431
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leonw24/open-codex",
3
- "version": "0.129.1",
3
+ "version": "0.129.2",
4
4
  "license": "Apache-2.0",
5
5
  "bin": {
6
6
  "open-codex": "bin/codex.js"
@@ -19,6 +19,11 @@
19
19
  },
20
20
  "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319",
21
21
  "optionalDependencies": {
22
- "@leonw24/open-codex-linux-x64": "npm:@leonw24/open-codex@0.129.1-linux-x64"
22
+ "@leonw24/open-codex-linux-x64": "npm:@leonw24/open-codex@0.129.2-linux-x64",
23
+ "@leonw24/open-codex-linux-arm64": "npm:@leonw24/open-codex@0.129.2-linux-arm64",
24
+ "@leonw24/open-codex-darwin-x64": "npm:@leonw24/open-codex@0.129.2-darwin-x64",
25
+ "@leonw24/open-codex-darwin-arm64": "npm:@leonw24/open-codex@0.129.2-darwin-arm64",
26
+ "@leonw24/open-codex-win32-x64": "npm:@leonw24/open-codex@0.129.2-win32-x64",
27
+ "@leonw24/open-codex-win32-arm64": "npm:@leonw24/open-codex@0.129.2-win32-arm64"
23
28
  }
24
29
  }