外部精选
omp · v18.8.1
本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。
阅读原文(github.com)结构化摘要 AI 生成
背景与问题
oh-my-pi(omp)v18.8.1 的发布说明,面向使用 omp 及其内部包的用户与开发者,回答「本版本相对 v18.8.0 改了什么」。背景是该工具以多包结构持续迭代,需要通过变更日志同步新增能力与缺陷修复。
方法或内容
正文按包分节列出变更,涵盖:
@oh-my-pi/pi-agent-core、@oh-my-pi/pi-ai、@oh-my-pi/pi-catalog@oh-my-pi/pi-coding-agent、@oh-my-pi/pi-natives、@oh-my-pi/pi-tui、@oh-my-pi/pi-utils
每节含 Added/Fixed/Changed 条目,末尾附 9 个 PR 的 What's Changed 列表,并标注 Full Changelog:v18.8.0...v18.8.1。
关键发现 / 结果
关键变更:
pi-agent-core:新增公开 APIvalidateAgentToolArguments(),统一宽松校验 agent 工具参数pi-ai:新增AuthStorage.sessions.restrict/sessions.unrestrict会话级 OAuth 账户限制;导出resolveCredentialIdentityKey;修复 Codex Fast/Ultrafast 用量被记为 Standard 的问题pi-catalog:Codex Fast 定价改用 OpenAI 2.5× included-usage 费率(排除GPT-5.5与GPT-6 Astra);修复 Copilot 分层模型误用长上下文窗口作为 prompt 上限pi-coding-agent:任务 agent 账户池与omp usage accounts;会话标题带卡片图标与短代码;约 20 项修复(/new状态残留、--resume缺失路径静默新建、write/edit遇 FIFO/设备文件挂起、local://路径逃逸、长对话图片丢失等)pi-natives:新增PI_NATIVES_DIR;后台内建命令可kill %N终止pi-tui:TSP 上 ask 对话框改为替换 composerpi-utils:getNativesDir()支持PI_NATIVES_DIR;新增ZipPackage与DocxImage.readBytes()
结论与意义
本质是以缺陷修复为主的补丁版本,附带少量新能力(账户池、校验 API、原生插件目录控制、ZIP 读取工具)。原文未说明整体性结论;适用边界散见各条目,如 2.5× 定价排除部分模型、title.icons 仅对新生成标题生效。
AI 解读 AI 生成
方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。
时间:何时发生,现在是否仍成立
来源日期为 2026年10月8日 01:14(北京时间),即北京时间 2026-10-08 01:14:44 发布。所有变更针对 v18.8.1(前一版本 v18.8.0),作为发布时点的变更日志成立;是否仍适用取决于后续版本,原文未说明后续计划。
空间:谁的环境 / 场景
适用于 oh-my-pi(omp)v18.8.1 及其 7 个内部包(pi-agent-core、pi-ai、pi-catalog、pi-coding-agent、pi-natives、pi-tui、pi-utils)。
涉及场景包括:OAuth 账户池下的 agent/coding-agent 工作流、OpenAI Codex Fast(priority)/Ultrafast service tier 的计量计费、GitHub Copilot 分层模型、TUI/TSP 界面、models.yml 配置、local:// 会话存储,以及 GOV.UK 类原生单选/复选控件页面。
变量:实际改变了什么
相对 v18.8.0 的实际改变:
- 行为:Codex Fast/Ultrafast 用量不再被记录、计费并报告为 Standard;
/new重置 plan/goal 模式、todo 状态与规划配置;--resume <path>遇缺失路径报错而非静默新建会话;write/edit安全拒绝 FIFO、终端、设备文件等非常规目标 - 结构:新增
validateAgentToolArguments()、账户池租约机制、PI_NATIVES_DIR - 定价:Codex Fast 改用 2.5× included-usage 费率
- 呈现:会话标题附带卡片图标与短代码;模型速度统计按非默认 service tier 分开并按会话所用 tier 显示
区分:包含 ≠ 相关 ≠ 因果
有明确因果证据的:后端回显默认 service tier 时,Codex Fast/Ultrafast 用量被记为 Standard(原文以此描述触发条件并修复);sessions.restrict 返回的 lease 释放前,账户选择、回退、轮换与认证被限制在指定账户,API key 与其他账户不被使用(原文明确陈述)。
包含关系:各包是 omp 的组成部分,各条变更相互独立。仅相关:末尾 PR 列表与正文章节是同一批变更的两种视角;omp usage accounts 只是让账户池配置更容易的配套命令,与账户池功能非因果关系。
对象:作者/署名与关键技术原理
署名(仅结构化作者字段):github-actions[bot],即自动化流程发布,原文未说明人类作者。关键技术及原文描述的原理:
- OAuth 账户池租约:
AuthStorage.sessions.restrict将选择、回退、轮换与认证限制到指定账户,直至以sessions.unrestrict释放返回的 lease;受限时不使用 API key - 凭据匹配:
resolveCredentialIdentityKey用于确定匹配 broker 账户池与会话限制的身份键 - service tier 保留:请求的 tier 现被保留在 usage 与 performance 记录中
- 原生插件目录:
PI_NATIVES_DIR控制编译插件提取位置,版本子目录仍追加,使不同 HOME 环境共享同一份插件而不共享其他数据 - 惰性 ZIP 读取:
ZipPackage按需读取 ZIP 文档包并设总解压大小上限,DocxImage.readBytes()可读取 DOCX 原始图片数据
元反空综合结论
元:这条内容本质是把一个补丁版本的全部增量(7 个包、9 个 PR)系统化交付给用户,帮助判断是否升级。
反:最可能有边界或随时间失效的主张——2.5× 费率明确排除 GPT-5.5 与 GPT-6 Astra;title.icons 仅影响新生成标题;账户池属强约束设计(宁可失败也不回退到其他账户或 API key),对可用性是取舍;符号链接路由配置热重载仅覆盖中间文件或 profile 目录链接被替换的情形。
空:去掉叙事后剩下的必要事实是——v18.8.1 相对 v18.8.0 新增工具参数校验 API、OAuth 账户池限制、PI_NATIVES_DIR、ZipPackage 等,并修复了计费误记、会话状态残留、路径逃逸、内存耗尽、跨域 iframe 内容缺失等一批缺陷。
综合:这是一次以稳定性与计费准确性为核心的维护性发布,逐条 ChangeLog 构成其可信度来源,对依赖 Codex Fast 计费或需要账户隔离的用户价值最高。
中文译文 AI 生成
@oh-my-pi/pi-agent-core
新增
- 新增公开的
validateAgentToolArguments()API,用于在 agent 与 coding-agent 工作流中对 agent 工具参数进行一致且支持宽松模式的校验。
@oh-my-pi/pi-ai
新增
- 通过
AuthStorage.sessions.restrict为 OAuth 账号池新增会话限制,将选择、回退、轮换与认证限制在指定账号,直到用sessions.unrestrict释放返回的租约。会话受限时不会使用 API key 及其他账号。 - 导出
resolveCredentialIdentityKey,用于确定将凭据与 broker 账号池及会话限制进行匹配时所用的身份键。
修复
- 修复当后端回显默认服务层级时,Codex Fast(priority)与 Ultrafast 的用量被记录、计费并报告为 Standard 的问题;现在所请求的层级会被保留在用量与性能记录中。
@oh-my-pi/pi-catalog
修复
- 修复 Codex Fast(priority)定价,对支持的模型使用 OpenAI 的 2.5× 包含用量费率,但不包括 GPT-5.5 和 GPT-6 Astra。
- 修复带有特定层级提示词上限的 GitHub Copilot 模型错误地默认为长上下文窗口的问题。
@oh-my-pi/pi-coding-agent
新增
- 为任务 agent 新增账号池,允许某个 agent 及其相关工作——包括 advisors、标题生成、subagents 以及恢复的会话——仅使用指定的 OAuth 账号,并且宁可失败也不回退到其他账号或 API key。
- 新增
omp usage accounts,用于列出 OAuth 账号的 provider 与身份键而不暴露 token,使账号池配置更容易。
变更
- 生成的会话标题现在包含其卡片图标与短代码,因此
/resume选择器和会话列表会显示这一上下文;title.icons适用于新生成的标题。 - 当中间文件或 profile 目录链接被替换时,符号链接的路由配置现在会自动重新加载,无需重启会话。
修复
- 改进 Tern 的 ask 提问,使问题不再遮挡对话记录,并可在查看和滚动相关上下文的同时作答。
- 为
models.yml中无法识别的 compat 键新增警告,同时继续加载该配置;警告会指明文件与键路径。 - 修复
/new,使新会话重置 plan 与 goal 模式、todo 状态及相关规划配置,而不是沿用过期状态;在 handoff、取消或自动恢复之后,全新的 prewalk 行为也会恢复。 - 修复 OAuth 别名登录与登出流程,使其刷新底层 provider 的模型、正确报告认证状态,并列出和移除与该 provider 关联的账号。
- 修复模型速度统计,使来自非默认 OpenAI 或 Codex 服务层级的吞吐量单独保留,并按会话所使用的层级显示。
- 修复 provider 或 catalog 刷新后过期的模型 catalog 仍留在内存中的问题。
- 修复对 FIFO、终端、设备文件或其他非常规目标执行 write 和 edit 时挂起或耗尽内存的问题;不支持的目标现在会被安全拒绝。
- 修复长对话在同时包含助手生成图片时丢失用户图片与工具结果图片的问题。
- 修复给定
.或..会话标识符时local://会话路径逃逸出其预期存储目录的问题。 - 修复
omp gc --archive --apply遗留孤立会话标题记录的问题。 - 修复在扩展已注册 context handler 的情况下,被中断的重开 ask 提示之后使用
/retry的问题。 - 修复 browser relay 会话遗漏在标签页打开之前已加载的跨源 iframe 内容的问题。
- 修复浏览器对不可见的原生 radio 和 checkbox 输入的点击,包括
GOV.UK表单常用的控件。 - 修复
/model,使选择已分配给项目默认角色的模型时仍能正确切换到该模型。 - 修复当 completion 已在别处被消费时
wait与后台任务的状态,防止过早中断和错误的空闲检测。 - 修复在涉及更改 thinking 设置、配额数据不可用或账号恢复的场景中,已拒绝回退后仍反复出现 coding-plan 回退确认的问题。
- 修复共享 runner 临时目录由其他用户创建时 Python 求值的问题。
- 新增 RPC 支持,可在不依赖 TUI 键盘导航的情况下完成多选 ask 问题。
- 修正 read、background bash、Python 求值、replace 编辑、goal 移除以及
advisor.immuneTurns的工具行为与配置文档。 - 修复自定义 glob 后端无限挂起的问题;扫描现在会遵守工具截止时间,并在必要时报告不完整的结果。
- 修复
--resume <path>在路径缺失时静默创建新会话的问题;现在会报告缺失的路径,与--fork <path>和--resume <id>的行为一致。
@oh-my-pi/pi-natives
新增
- 新增
PI_NATIVES_DIR配置项,用于控制编译后的原生插件被解压到的位置。带版本号的子目录仍会附加在其后,使不同的 HOME 环境可以共享同一份原生插件副本,而不共享其他数据。
修复
- 修复后台 shell 内建命令及其他进程内命令,使其在所属 subshell 退出时终止,并可用
kill %N停止,与外部命令的行为一致。
@oh-my-pi/pi-tui
修复
- 修复 TSP 界面上的原生 ask 对话框,使其替换 composer,而不是作为覆盖在对话记录之上的模态框打开,从而保持对话记录可读且可滚动。
@oh-my-pi/pi-utils
新增
- 为
getNativesDir()新增PI_NATIVES_DIR支持,用于配置原生插件目录。 - 新增
ZipPackage,用于以总解压大小上限惰性读取基于 ZIP 的文档包;同时新增DocxImage.readBytes(),用于访问原始 DOCX 图片数据。
变更内容
- fix(catalog):解析当前 copilot 层级的提示词上限(@roboomp,#14771)
- fix(tools):校验 cursor 调用与 eval 输入(@alphastorm,#14624)
- fix(metaharness): 为 verifier 保持由 agent 启动的服务存活,由 @alphastorm 在 #14734 完成
- feat(natives): 允许覆盖 native addon 的解压目录,由 @alphastorm 在 #14735 完成
- fix(config): 对未知的
models.yml兼容键发出警告,由 @alphastorm 在 #14737 完成 - fix(tui): 将 Tern 询问提示停靠到 composer 插槽中,由 @H4vC 在 #14812 完成
- fix(ai): 在后端回显默认值时保留已发送的 Codex 服务层级,由 @alphastorm 在 #14815 完成
- fix(catalog): 将 Codex Fast 按包含用量费率的 2.5 倍计价,由 @alphastorm 在 #14816 完成
- feat(task): 将 subagent 限制为使用按 agent 划分的 OAuth 账户池,由 @alphastorm 在 #14740 完成
完整变更日志:v18.8.0...v18.8.1
展开原文提取正文(采集端自动提取,可能有缺失)
@oh-my-pi/pi-agent-core
Added
Added the public validateAgentToolArguments() API for consistent, lenient-aware validation of agent tool arguments across agent and coding-agent workflows.
@oh-my-pi/pi-ai
Added
Added session restrictions for OAuth account pools via AuthStorage.sessions.restrict, limiting selection, fallback, rotation, and authentication to specified accounts until the returned lease is released with sessions.unrestrict. API keys and other accounts are not used when a session is restricted. Exported resolveCredentialIdentityKey for determining the identity key used to match credentials with broker account pools and session restrictions.
Fixed
Fixed Codex Fast (priority) and Ultrafast usage being recorded, billed, and reported as Standard when the backend echoed a default service tier; the requested tier is now preserved in usage and performance records.
@oh-my-pi/pi-catalog
Fixed
Fixed Codex Fast (priority) pricing to use OpenAI’s 2.5× included-usage rate for supported models, excluding GPT-5.5 and GPT-6 Astra. Fixed GitHub Copilot models with tier-specific prompt limits incorrectly defaulting to the long-context window.
@oh-my-pi/pi-coding-agent
Added
Added account pools for task agents, allowing an agent and its related work—including advisors, title generation, subagents, and resumed sessions—to use only specified OAuth accounts and fail rather than fall back to another account or an API key. Added omp usage accounts to list OAuth account provider and identity keys without exposing tokens, making account-pool configuration easier.
Changed
Generated session titles now include their card icon and short code, so the /resume picker and session listings show this context; title.icons applies to newly generated titles. Symlinked routing configurations now reload when an intermediate file or profile-directory link is replaced, without requiring a session restart.
Fixed
Improved Tern ask questions so the question no longer obscures the transcript and can be answered while reviewing and scrolling through the relevant context. Added warnings for unrecognized compat keys in models.yml while continuing to load the configuration; warnings identify the file and key path. Fixed /new so new sessions reset plan and goal modes, todo state, and related planning configuration instead of carrying stale state forward; fresh prewalk behavior is also restored after handoffs, cancellations, or automatic recovery. Fixed OAuth alias login and logout flows so they refresh the underlying provider's models, report authentication state correctly, and list and remove the accounts associated with that provider. Fixed model speed statistics so throughput from non-default OpenAI or Codex service tiers is kept separate and displayed for the tier used by the session. Fixed stale model catalogs remaining in memory after provider or catalog refreshes. Fixed write and edit from hanging or exhausting memory when given FIFOs, terminals, device files, or other non-regular targets; unsupported targets are now rejected safely. Fixed long conversations from losing user and tool-result images when the conversation also contained assistant-generated images. Fixed local:// session paths from escaping their intended storage directory when given . or .. session identifiers. Fixed omp gc --archive --apply from leaving orphaned session-title records behind. Fixed /retry after an interrupted reopened ask prompt when an extension had registered a context handler. Fixed browser relay sessions from missing cross-origin iframe content that loaded before the tab was opened. Fixed browser clicks on invisible native radio and checkbox inputs, including controls commonly used by GOV.UK forms. Fixed /model so selecting the model already assigned to a project's default role still switches to that model correctly. Fixed wait and background task state when a completion has already been consumed elsewhere, preventing premature interruption and incorrect idle detection. Fixed repeated coding-plan fallback confirmations after declining a fallback in cases involving changing thinking settings, unavailable quota data, or account recovery. Fixed Python evaluation when the shared runner temporary directory was created by another user. Added RPC support for completing multi-select ask questions without relying on TUI keyboard navigation. Corrected tool behavior and configuration documentation for read, background bash, Python evaluation, replace editing, goal removal, and advisor.immuneTurns. Fixed custom glob backends from hanging indefinitely; scans now respect the tool deadline and report incomplete results when necessary. Fixed --resume <path> from silently creating a new session for a missing path; it now reports the missing path, consistent with --fork <path> and --resume <id>.
@oh-my-pi/pi-natives
Added
Added the PI_NATIVES_DIR configuration option to control where compiled native addons are extracted. The version-specific subdirectory remains appended, allowing separate HOME environments to share the same native addon copy without sharing other data.
Fixed
Fixed background shell builtins and other in-process commands so they terminate when their subshell exits and can be stopped with kill %N, matching the behavior of external commands.
@oh-my-pi/pi-tui
Fixed
Fixed the native ask dialog on TSP surfaces so it replaces the composer instead of opening as a modal over the transcript, keeping the transcript readable and scrollable.
@oh-my-pi/pi-utils
Added
Added PI_NATIVES_DIR support to getNativesDir() for configuring the native addon directory. Added ZipPackage for lazily reading ZIP-based document packages with a total decompressed-size limit, along with DocxImage.readBytes() for accessing raw DOCX image data.
What's Changed
fix(catalog):parsed current copilot tier prompt limits by @roboomp in #14771fix(tools):validate cursor calls and eval input by @alphastorm in #14624fix(metaharness):keep agent-started services alive for the verifier by @alphastorm in #14734feat(natives):allow overriding the native addon extraction directory by @alphastorm in #14735fix(config):warn on unknownmodels.ymlcompat keys by @alphastorm in #14737fix(tui):dock the Tern ask prompt in the composer slot by @H4vC in #14812fix(ai):keep the sent Codex service tier when the backend echoes default by @alphastorm in #14815fix(catalog):price Codex Fast at the 2.5x included-usage rate by @alphastorm in #14816feat(task):restrict subagents to per-agent OAuth account pools by @alphastorm in #14740
Full Changelog: v18.8.0...v18.8.1
原文入口
阅读原文(github.com)原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。
了解来源批准与收录规则