← 发布

id 20260627-1 · 2026-06-27 · kernel v0.15.1 · TUI/Portal v0.10.1

Kernel v0.15.1 · TUI/Portal v0.10.1

LingTai release day:自我更新的 TUI、Claude Code provider,与更稳的 runtime 状态

一组配套的 patch release,补完上一轮为 Homebrew 开头的「自我更新」故事:source / user-local 的 TUI 现在可以自我更新——手动地、也在启动时——面向非 Homebrew 管理的安装。kernel 新增 `claude-code` LLM provider、一份为 curated MCP 提供捆绑手册的 MCP manual sidecar 契约、降低 kernel 状态写入风险的共享文件系统/JSON/JSONL helper 与一次 session-recovery 重构,以及对 spill/refresh 失败更诚实的可见性——外加座舱、doctor 与 mail 的打磨。

升级 / runtime

$ brew update && brew upgrade lingtai-ai/lingtai/lingtai-tui

上面的 Homebrew 命令用于更新 TUI/Portal。source / user-local 的 TUI 现在也可以原地自我更新(手动命令或启动提示),无需 Homebrew。Kernel package lingtai v0.15.1 是 LingTai-managed environment 使用的 runtime package source;已有项目仍应按 TUI 管理的 refresh / setup 路径更新,不应把全局裸 pip 命令当作普通用户升级故事。本条目由干净的 release-worktree gate 准备;v0.10.1 / v0.15.1 的 GitHub Releases、PyPI 上传与 Homebrew tap bump 已发布。

新功能与改进

  1. 01

    source / user-local 的 TUI 自我更新(#404 补完)

    v0.10.0 发布了 Homebrew 更新后端;v0.10.1 为非 Homebrew 管理的安装补完 issue #404,让 TUI 无论怎样安装都能保持最新。

    • 一个手动 TUI self-update 命令(#416)与一个 source 安装的 self-update 后端(#417),把原地更新带给 source / user-local 安装。
    • 一个启动更新提示(#418),在磁盘源码落后于已发布 TUI 时提供更新,让操作者在落后时被告知。
    • 这些建立在 v0.10.0 的基础之上——Homebrew 更新后端、doctor 安装方式检测与 source 安装元数据——现在扩展到非 Homebrew 安装。

    为什么重要:一条只对 Homebrew 有效的 self-update 路径,会把 source 与 user-local 用户搁浅在陈旧二进制上;补完 #404 意味着 TUI 无论怎样安装都保持最新,并对自己的版本保持诚实。

  2. 02

    给 kernel 的 `claude-code` provider(#525)

    kernel 新增一个 claude-code LLM provider,经由 claude CLI 驱动一个 Claude 订阅,拓宽操作者在不改动既有座舱的前提下支撑运行时的方式。

    • claude-code provider 把 Claude 订阅上的 claude CLI 当作 LLM provider 来驱动(#525)。
    • 它最初由已 closed 的 PR #299 提出,并在本窗口合并——原始贡献者已致谢。

    为什么重要:同一个运行时背后更多的 provider 选择,意味着操作者可以按自己的账户与预算来支撑 fleet,而无需重新学习座舱。

  3. 03

    MCP manual sidecar 与捆绑的 curated 手册

    kernel 为 MCP addon 记录了一份 manual sidecar 契约,并为 curated MCP 附带捆绑手册,让一个 MCP 能携带运行时可呈现的使用引导。

    • MCP manual sidecar 的结构与一份最小 sidecar 契约被记录在案(#529、#530)。
    • 为 curated MCP 附带捆绑手册(#528),并新增一份 Telegram 媒体引导手册(#526)。

    为什么重要:一个自带手册的 MCP,让运行时能从有据可查的来源回答「我该怎么用这个 addon」,而不是靠猜——这对媒体与消息类接口尤其重要。

  4. 04

    更安全的 kernel 状态写入与一次 recovery 重构

    两次 kernel 重构减少了那些手写的、各自略有差异、可能被长任务 fleet 写坏的状态写入:共享的文件系统 helper,以及 session-recovery / 工具执行的合并。

    • 共享的 _fsutil 文件系统 / JSON / JSONL helper 统一了 kernel 读写状态的方式(#510、#522),并记录了迁移引用。
    • session-recovery 与 ToolExecutor helper 在 turn.py 中合并,把 _post_send_housekeeping 重命名为 _turn_boundary_housekeeping(#511、#523)。

    为什么重要:每一条略有差异的状态写入路径,都是 fleet 在负载下写坏文件的潜在地点;把它们经由共享且经过测试的 helper,让运行时在长时间无人值守的会话里更稳。

  5. 05

    把 spill 与 refresh 如实说清

    过去会悄悄通过的失败现在会浮现:过期的 spill 工件会说明、refresh 的永久失败可见,且 headless 运行时存活性可被证明。

    • 过期的 spill 工件现在带消息,而不是不透明地失败(#192、#291),refresh 的永久失败被变得可见(#292)。
    • 一份 headless 运行时存活性证明,确认一个无人值守的运行时确实活着(#351)。
    • Codex pre-molt summarize 引导被变得更清晰(#531)。

    为什么重要:一个悄悄失败的 spill 或 refresh,正是长时间自治运行会发现得太晚的那类故障;把它们浮现出来,让操作者能在失败累积之前行动。

  6. 06

    座舱与 doctor 打磨

    围绕主线工作,座舱与 doctor 经过一轮聚焦的打磨,并随之落地一个 headless agent 就绪可靠性修复。

    • 座舱:mail 视图底栏的实时 agent 活动指示(#422)、mail 视图复制模式(#402),以及实时 /viz ghost-avatar 可见性修复(#354)。
    • doctor:保存一份脱敏的报告 bundle,带隐私提示与导出提示、安装方式检测,以及诊断分区布局澄清(#406、#407、#409、#449、#450)。
    • 可靠性:在继续之前等待 headless agent 就绪(#365),外加 dev-guide 的 release-workflow 文档与 README 安装方式输出(#448)。

    为什么重要:一个 patch 窗口正是清理座舱与 doctor 小毛刺的好时机;一个能看到 agent 活动、能从 mail 视图复制、能读到干净诊断报告的操作者,会在长会话里更信任这个界面。

  7. 07

    release hygiene、验证与贡献者

    这对 patch 版本——TUI/Portal v0.10.1 与 kernel v0.15.1——在 publish 步骤之前从干净的 release worktree 完成验证。

    • 在 v0.15.1 bump commit 2d23801(基于 834ce8b)上的 kernel gate:compileall 通过;完整 pytest 3034 passing、4 skipped、0 真实失败(三个 subprocess-import 失败被证明是本地 PYTHONPATH / 包未安装的工件,用 PYTHONPATH=src 复查转绿);python -m build 产出 sdist + wheel;twine check 两者均 PASSED。
    • 在候选 head 418e470(构建版本经由 make ... VERSION=v0.10.1 注入,无源码 bump)上的 TUI/Portal gate:对比 v0.10.0 的 git diff --check 干净;完整 Portal Go 测试通过;portal/web npm ci && npm run build 通过;make build 产出 TUI 与 Portal 二进制。
    • 记录在案、不阻塞发布:两个 internal/config 安装检测测试只在维护者机器上失败,因为本地 /usr/local//opt/homebrew dev 符号链接被解析到 Homebrew prefix 之外——归类为 host / 测试隔离敏感性,底层分类器已验证在干净路径上返回 homebrewportal/web 的 npm-audit 警告只影响 dev-only 工具链,不影响 Go 二进制实际打包的静态资产;本地构建的 kernel wheel 带 macOS-arm64 平台标签,因此 PyPI 的工件是可移植的 sdist。
    • 本窗口贡献者:@huangzesen(lead,scope 与验证负责人)、@TZZheng(source self-update epic 与 kernel 的文件系统/recovery 重构)、@wchwawa(mail 视图实时 agent 活动指示)、@rawpaper123(headless 就绪与存活性可靠性修复)、@LuuOW(/viz ghost-avatar 修复的 review)、@zechenzhangAGI(在 closed kernel PR 中提出 claude-code provider,后由 #525 落地),以及 @9s5bz2jvd2-lang(closed/unmerged /kanban main/daemon API-call 拆分 PR #367,在窗口内完成 review 与致谢后关闭)。

    为什么重要:一次 patch 同样值得有完整的 gate 证据与诚实的贡献者列表;记录「publish 工件与 tag 正是从这些经过验证的 commit 切出」,是负责任地发布的一部分。

贡献者

感谢本发布窗口中提交代码、共同完成提交、参与 PR / review / assignment、报告或推动 issue closure 的贡献者。

验证

最终 release validation 来自干净 release worktree,commit 2d2380186ace.