黄奕彬

外部精选

omp · v18.10.0

本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。

阅读原文(github.com)
来源
oh-my-pi (omp) releases ↗
作者 / 署名
github-actions[bot]
来源更新时间
本站收录时间
原文域名
github.com

以上时间均为北京时间;来源更新时间由来源提供,不代表首次发布时间。

结构化摘要 AI 生成

背景与问题

这是 omp(oh-my-pi)v18.10.0 的发布说明,面向该工具的现有用户,回答"从 v18.9.2 升级到 v18.10.0 时新增、变更、修复了什么,以及哪些是破坏性变更"。内容按 monorepo 中的五个包(pi-catalog、pi-coding-agent、pi-natives、pi-tui、pi-utils)组织。

方法或内容

发布说明按包逐个列出 Added / Changed / Fixed / Breaking Changes / Removed 条目,多数条目附 issue/PR 编号与贡献者(如 #15421、#15405、@H4vC),并给出完整变更区间 v18.9.2...v18.10.0。

主要主题:本地 IPC 原生化、transcript/回滚区(scrollback)行为修正、会话与认证跨机迁移、嵌入模型共享。

关键发现 / 结果

  • pi-catalog:openai-codex/gpt-6.1-sol 与 gpt-6.1-sol-wm 默认上下文窗口由 272K 提至 500K,以匹配 OpenAI 新的 Codex 默认;扩展上下文仍为 922K(#15421)
  • pi-coding-agent:新增 /fork(turn 流式传输中新建 Tern 窗格)、omp session pack / omp session unpack / omp session moved、omp auth export / omp auth import、Alt+H 隐藏未回答的 ask 问题
  • 修复:mnemopi 嵌入模型不再每会话各载一份并常驻至退出,改为每模型一个共享服务器、闲置 15 分钟退出;首次下载不完成、RpcClient.stop() 偶发永久等待、多处终端空白行问题被修复
  • pi-natives:新增 IpcServer、IpcConnection、ipcEndpoint
  • pi-tui:Breaking Changes 移除 RuntimeChildrenOptions.transient、Component.retireDisplacedTranscript、Composer.pinInputToBottom()
  • pi-utils:新增 getMnemopiEmbedRuntimeDir(),修复 ChildProcess.kill() 静默不终止子进程

结论与意义

原文未给出总体性结论或评价,属于变更清单型内容。适用边界由原文明示两条:Windows 上升级后旧 omp 启动的守护进程不再被复用,需关闭旧会话;pi-tui 移除的 API 对依赖这些接口的下游代码构成破坏性变更。其余意义需读者自行判断,原文未说明。

AI 解读 AI 生成

方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。

时间:何时发生,现在是否仍成立

按来源日期,该发布说明发布于北京时间 2026-10-12 09:18:39,描述版本 v18.10.0、变更区间 v18.9.2...v18.10.0。关于"现在是否仍成立":原文未说明后续版本情况;其中对旧版行为的描述(如每会话各载嵌入模型、272K 默认值)仅适用于 v18.9.2 及更早版本。

空间:谁的环境 / 场景

适用于使用 omp v18.10.0 的本地命令行编码代理环境,跨平台(原文同时提及 Unix sockets 与 Windows named pipes)。

具体场景包括:Tern 终端分屏与流式 turn、跨机迁移会话及其 artifacts、omp auth 登录态迁移,以及本地 IPC 端点(daemon broker、LSP mux、IDA hosts、text prediction、omp stream、Collab discovery、本地模型 workers、OMP_TUI_DEBUG 控制插座)。pi-tui 的移除项仅影响引用这些 API 的下游代码。

变量:实际改变了什么

  • 模型默认值:gpt-6.1-sol 系默认上下文 272K → 500K(扩展上下文 922K 不变)
  • IPC 行为:本地端点改跑原生传输,owner-only,Windows 用命名管道;Windows 上不再复用旧 omp 启动的守护进程
  • 进程/内存:mnemopi 嵌入模型由"每会话一份、驻留至退出"变为"每模型一个共享服务器、闲置 15 分钟退出";首次下载在共享嵌入服务器中于会话退出后完成
  • 交互:被 ask 对话框/命令报告/todo 列表遮挡的输出改为在其关闭后进入回滚区;跨屏 transcript 块只将屏外行送入回滚
  • API 移除:RuntimeChildrenOptions.transient、Component.retireDisplacedTransient 之外的 Component.retireDisplacedTranscript、Composer.pinInputToBottom()
  • ChildProcess.kill() 失败路径改为直接发信号并在宽限期后升级 SIGKILL

区分:包含 ≠ 相关 ≠ 因果

有明确因果陈述的(按修复描述):共享嵌入服务器消除了每会话内存驻留;transcript 重新填充屏幕修复了空白行;会话退出后在共享服务器完成下载修复了首次下载不完成。

属"相关/对齐"而非内部因果的:500K 默认值是"匹配 OpenAI 的新 Codex 默认",原文称对齐关系,未陈述 OpenAI 变更导致本变更的因果链。属包含/并存关系:扩展上下文选项仍提供 922K;"不重用旧守护进程"与"升级后应关闭旧会话"是原文直接陈述的行为后果。性能"优化"仅定性,原文未说明量化数据或验证方式。

对象:作者/署名与关键技术原理

署名(仅取结构化作者字段):github-actions[bot],即 GitHub 自动化发布账号;正文变更条目内另标注了贡献者 @H4vC(#15400、#15405、#15420),这是原文事实陈述,非本篇署名作者。关键技术及原文描述的原理:

  1. 本地 IPC 传输——基于 Unix sockets 与 Windows named pipes,具备 owner-only 访问、单实例绑定、失效端点接管、换行分帧,性能上采用 task-local write coalescing 与批量换行处理;
  2. transcript/scrollback——被对话框、报告或 HUD 挤开的行在关闭后进入终端回滚区,跨屏块仅屏外行入回滚,行分割处指纹改为按已提交字节计算;
  3. 会话迁移——omp session pack/unpack/moved 携带 artifacts 到另一机器续跑,遗留副本恢复时转为 fork;
  4. ChildProcess.kill() 修复后直接向子进程发信号并在宽限期后升级 SIGKILL。

元反空综合结论

元:这条内容本质在解决"版本升级时的变更透明度"问题,即告知用户 v18.10.0 相对 v18.9.2 的增删改与破坏性影响,服务于升级决策与下游适配。

反:最可能失效或有边界的部分——

  1. Windows 升级后旧守护进程不复用,要求关闭旧会话,属升级期临时边界;
  2. pi-tui 移除三个 API,对下游是硬边界;
  3. 500K 默认值与 OpenAI 上游对齐,若上游再调,此值可能随之失效;
  4. "optimized transport performance" 无任何量化数据;
  5. 原文未提供测试或验证细节,修复效果的描述依赖发布者的自述。

空:去掉宣传叙事后剩下的必要事实是——一份按五个包分类的 Added/Changed/Fixed/Breaking Changes 清单、具体 issue/PR 编号、版本区间 v18.9.2...v18.10.0、署名为 github-actions[bot]。

综合结论:这是一次以本地 IPC 原生化、TUI transcript 与回滚区正确性修复、会话与认证可迁移性为主题的常规功能+修复发布,信息可信度依托 GitHub 发布流程与所附编号,但无性能、稳定性数据可供独立验证。

中文译文 AI 生成

@oh-my-pi/pi-catalog

变更

  • 将 openai-codex/gpt-6.1-sol 和 gpt-6.1-sol-wm 的默认上下文窗口从 272K 提升到 500K,与 OpenAI 新的 Codex 默认值保持一致;扩展上下文仍可打开 922K (#15421)

@oh-my-pi/pi-coding-agent

新增

  • 新增 /fork 支持,可在一次 turn 仍在流式输出时创建新的 Tern 窗格,并保留原始会话
  • 新增 omp session pack、omp session unpack 和 omp session moved,用于将某个会话及其工件迁移到另一台机器并在那里继续;恢复留在原地的副本会对该副本执行 fork,而不是继续它
  • 新增 omp auth export 和 omp auth import,用于将模型登录状态带到另一台机器
  • 新增在不回答的情况下隐藏待处理的提问:Alt+H(app.ask.hide)或 Tern 中的 Hide 按钮可将对话框折叠为一行;同一按键、Enter 或 Show 可将其恢复 (#15400 by @H4vC)

变更

  • 本地 IPC 端点(daemon broker、LSP mux、IDA hosts、文本预测、omp stream、Collab discovery、本地模型工作进程)现在运行在原生传输上:在包括 Windows 命名管道在内的所有平台上均仅限所有者访问;在 Windows 上,由旧版 omp 启动的 daemon 不会被复用,因此升级后请关闭旧会话。
  • 被打开的 ask 对话框、命令报告或 todo 列表遮挡的输出,现在会在其关闭后进入终端 scrollback,而不是在其仍处于打开状态时 (#15405 by @H4vC)

修复

  • 修复了每个会话都加载自己的本地 mnemopi 嵌入模型副本并将其保留在内存中直到退出的问题;现在每个模型由一个跨会话共享的服务器承载,并在闲置 15 分钟后退出 (#9908)
  • 修复了首次使用的 mnemopi 嵌入模型下载在会话时长短于下载时长时永远无法完成的问题;现在它会在会话退出后在共享嵌入服务器中完成 (#10240)
  • 修复了 RpcClient.stop() 偶尔永久等待的问题,原因是 agent 进程从未收到信号。
  • 修复了在已填满屏幕的会话中,ask 对话框、命令报告或 todo 列表关闭后在输入框下方出现空白行的问题;现在 transcript 会重新填满屏幕 (#15405 by @H4vC)
  • 修复了 turn 结束时流式回答的最后几段之间出现空白行的问题 (#15405 by @H4vC)

@oh-my-pi/pi-natives

新增

  • 新增 IpcServer、IpcConnection 和 ipcEndpoint:一种基于 Unix 套接字和 Windows 命名管道的本地 IPC 传输,具备仅限所有者访问、单实例绑定、陈旧端点接管和换行符分帧。

变更

  • 通过任务本地的写合并和基于批处理的换行处理优化了传输性能

@oh-my-pi/pi-tui

破坏性变更

  • 移除了 RuntimeChildrenOptions.transient 和 Component.retireDisplacedTranscript:composer 现在会按 transcript 下方所有 chrome 曾渲染过的最小高度对其进行结算,因此不再有任何 root 需要选择加入或退出 (#15405 by @H4vC)

新增

  • 新增 app.ask.hide 按键绑定(默认 Alt+H)以及 AskDialogComponent 上的 Hide/Show 操作,可在问题保持待处理状态时将对话框折叠为单行 (#15400 by @H4vC)

变更

  • OMP_TUI_DEBUG 控制 socket 现在使用原生 IPC 传输:它仅限所有者访问,并且不再替换另一个存活进程正在服务的 socket。
  • 被打开的对话框、报告或 HUD 推开的 transcript 行,现在会在其关闭或被更新的输出推出时进入 scrollback,而不是在其仍处于打开状态时 (#15405 by @H4vC)
  • 横跨屏幕顶部的 transcript 块现在只将其屏幕外的行送入 scrollback;其余部分保持实时显示 (#15405 by @H4vC)

修复

  • 修复了在已填满屏幕的会话中,ask 或其他内联对话框、命令报告或 todo/loader HUD 关闭后在编辑器下方出现空白行的问题;现在屏幕会以 transcript 重新填充 (#15405 by @H4vC)
  • 修复了当实时工具预览在滚出屏幕的输出下方折叠时,编辑器上浮到空白行上方的问题;现在它保持在最底行 (#15405 by @H4vC)
  • 修复了 turn 结束时工作中的 loader 消失导致流式回答内部出现空白行的问题 (#15405 by @H4vC)
  • 修复了被拆分的 transcript 块丢弃其拆分后显现的仅含标点的行(例如工具窗格展开时的 rule line)的问题;接缝现在会停在这些行之前,而不是将其视为已提交 (#15420 by @H4vC)
  • 修复了被拆分的 transcript 块对测量行而非已提交到 scrollback 的字节进行指纹计算的问题,此前可能在待处理的编码落位后重复 SIXEL 图像前缀 (#15420 by @H4vC)
  • 修复了当行内图像限制在同一帧中将其图像降级为文本时,横跨屏幕顶部的 transcript 块丢失其屏幕外行的问题;这些行现在会以文本形式进入 scrollback

移除

  • 移除了 Composer.pinInputToBottom();composer 自行将输入保持在最底行 (#15405 by @H4vC)

@oh-my-pi/pi-utils

新增

  • 新增 getMnemopiEmbedRuntimeDir(),用于共享 mnemopi 嵌入服务器的端点和日志。

修复

  • 修复了当原生进程句柄无法解析或使用时,ChildProcess.kill() 静默地让子进程继续运行的问题;现在它会直接向子进程发送信号,并在宽限期后升级为 SIGKILL。

更新内容

  • feat(tui): 在不回答的情况下隐藏待处理的 ask 对话框 by @H4vC in #15400
  • fix(tui): 在其下方的 chrome 收缩时保持 transcript 填满屏幕 by @H4vC in #15405
  • fix(tui): 加固行拆分接缝的重定位与指纹 by @H4vC in #15420

完整变更日志:v18.9.2...v18.10.0

展开原文提取正文(采集端自动提取,可能有缺失)

@oh-my-pi/pi-catalog

Changed

Raised the default context window for openai-codex/gpt-6.1-sol and gpt-6.1-sol-wm from 272K to 500K, matching OpenAI's new Codex default; extended context still opens 922K (#15421)

@oh-my-pi/pi-coding-agent

Added

Added /fork support for creating a new Tern pane while a turn is streaming, preserving the original session Added omp session pack, omp session unpack and omp session moved to move a session with its artifacts to another machine and continue it there; resuming the copy left behind forks it instead of continuing it Added omp auth export and omp auth import to carry model sign-ins to another machine Added hiding a pending ask question without answering it: Alt+H (app.ask.hide) or the Hide button in Tern collapses the dialog to one line; the same key, Enter, or Show brings it back (#15400 by @H4vC)

Changed

Local IPC endpoints (daemon broker, LSP mux, IDA hosts, text prediction, omp stream, Collab discovery, local model workers) now run on a native transport: owner-only on every platform, including Windows named pipes; on Windows, daemons started by an older omp are not reused, so close older sessions after upgrading. Output hidden behind an open ask dialog, command report or todo list now reaches terminal scrollback once it closes, rather than while it is still open (#15405 by @H4vC)

Fixed

Fixed every session loading its own copy of the local mnemopi embedding model and keeping it in memory until exit; one server per model is shared across sessions and exits after 15 idle minutes (#9908) Fixed the first-use mnemopi embedding-model download never completing for sessions shorter than the download; it now finishes in the shared embedding server after the session exits (#10240) Fixed RpcClient.stop() occasionally waiting forever because the agent process was never signaled. Fixed blank rows opening under the input after an ask dialog, command report or todo list closed in a session that had filled the screen; the transcript now refills the screen (#15405 by @H4vC) Fixed blank rows appearing between the last paragraphs of a streamed answer when the turn ended (#15405 by @H4vC)

@oh-my-pi/pi-natives

Added

Added IpcServer, IpcConnection, and ipcEndpoint: a local IPC transport over Unix sockets and Windows named pipes with owner-only access, single-instance binding, stale-endpoint takeover, and newline framing.

Changed

Optimized transport performance with task-local write coalescing and batch-based newline processing

@oh-my-pi/pi-tui Breaking Changes

Removed RuntimeChildrenOptions.transient and Component.retireDisplacedTranscript: the composer now bills all chrome below the transcript at the smallest height it has rendered, so no root opts in or out (#15405 by @H4vC)

Added

Added the app.ask.hide keybinding (default Alt+H) and Hide/Show actions on AskDialogComponent, which collapse the dialog to a single line while its question stays pending (#15400 by @H4vC)

Changed

The OMP_TUI_DEBUG control socket now uses the native IPC transport: it is owner-only and no longer replaces a socket another live process is serving. Transcript rows pushed aside by an open dialog, report or HUD now reach scrollback when it closes or newer output pushes them out, instead of while it is open (#15405 by @H4vC) A transcript block straddling the top of the screen now sends only its off-screen rows to scrollback; the rest stays live (#15405 by @H4vC)

Fixed

Fixed blank rows opening under the editor after an ask or other inline dialog, command report or todo/loader HUD closed in a session that had filled the screen; the screen now refills with the transcript (#15405 by @H4vC) Fixed the editor rising above blank rows when a live tool preview collapses under scrolled-off output; it now stays on the bottom row (#15405 by @H4vC) Fixed blank rows opening inside a streamed answer when the working loader went away at the end of a turn (#15405 by @H4vC) Fixed a split transcript block dropping punctuation-only rows it reveals after the split (such as a tool pane's rule line on expand); the seam now stops before them instead of treating them as already committed (#15420 by @H4vC) Fixed a split transcript block fingerprinting measured rows instead of the bytes committed to scrollback, which could duplicate a SIXEL image prefix once its pending encode landed (#15420 by @H4vC) Fixed a transcript block straddling the top of the screen losing its off-screen rows when the inline-image limit demoted its images to text in the same frame; those rows now reach scrollback as text

Removed

Removed Composer.pinInputToBottom(); the composer keeps the input on the bottom row by itself (#15405 by @H4vC)

@oh-my-pi/pi-utils

Added

Added getMnemopiEmbedRuntimeDir() for the shared mnemopi embedding server endpoints and logs.

Fixed

Fixed ChildProcess.kill() silently leaving the child running when the native process handle could not be resolved or used; it now signals the child directly and escalates to SIGKILL after the grace period.

What's Changed

  • feat(tui): hide a pending ask dialog without answering by @H4vC in #15400
  • fix(tui): keep the transcript filling the screen when chrome below it shrinks by @H4vC in #15405
  • fix(tui): harden row-split seam relocation and fingerprint by @H4vC in #15420

Full Changelog: v18.9.2...v18.10.0

原文入口

阅读原文(github.com)

原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。

作者/署名来自原文结构化字段(Atom/RSS/HTML meta/JSON-LD;GitHub release 显示的是发布者账号),未经模型补充。

了解来源批准与收录规则