← 发布

id 20260628-1 · 2026-06-28 · kernel v0.15.3 · TUI/Portal v0.10.2

Kernel v0.15.3 · TUI/Portal v0.10.2

LingTai release day:诚实的 init 契约,与更稳的重建信号

这是一对让两条运行时契约变诚实的小 patch。生成、模板与示例 init.json 不再写入 legacy `prompt` 或空的 `lingtai` 字段——长生命周期的 character state 在创建之后由 `system/lingtai.md` / psyche 拥有,kernel 把缺失的 seed 视为合法的空 seed。kernel 也让 context-pressure 信号更如实:延迟的 summarization 重建现在报告一次性证据,而持续的高 context 压力作为 molt warning 单独浮现。本窗口还包括把系统提示资源重构为 Markdown 目录、WeChat MCP 配置路径修复与更强的入站媒体校验、grep 与 IMAP 的人体工学、事件日志上的运行时身份戳,以及一贯的 release hygiene。

升级 / runtime

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

上面的 Homebrew 命令用于更新 TUI/Portal。Kernel package lingtai v0.15.3 是 LingTai-managed environment 使用的 runtime package source;已有项目仍应按 TUI 管理的 refresh / setup 路径更新,不应把全局裸 pip 命令当作普通用户升级故事。这是一对在发布前从干净的 release worktree 完成验证的 patch release。

新功能与改进

  1. 01

    诚实的 init 契约:不再 seed `prompt` / `lingtai`

    生成、模板与示例 init.json 不再写入运行时已不再认可的 character-seed 字段。创建后的 character state 由 system/lingtai.md / psyche 拥有,kernel 把缺失的 seed 当作合法的空 seed。

    • kernel 把 init 契约正式化:prompt 不是 legacy alias;缺失的 lingtai / lingtai_file 是合法的,表示空的初始 seed;deprecated 的 brief 字段被忽略(kernel #550、#551、#552、#557)。
    • TUI 不再在生成的 init.json 里 seed character 字段,并附带一个守护回归测试,确保生成的 init JSON 不含 promptprompt_filelingtailingtai_file(TUI #458)。
    • 陈旧的 init-schema 测试已与可选的 lingtai seed 对齐,avatar-anatomy 文档澄清了 lingtai seed 的继承方式(kernel #553,以及 release-hygiene 的测试对齐)。

    为什么重要:一个 seed 了运行时会忽略的字段的 init 文件,是对「character state 住在哪里」的一种悄悄的谎言;把生成器、模板、示例与 schema 对齐,意味着一个新建 agent 从一个诚实的事实来源出发,而不是从陈旧的、从未被认可的 prompt 文本出发。

  2. 02

    感知重建的 molt warning

    让 context-pressure 信号更如实:延迟的 summarization 重建一次性报告它的证据,而持续的高 context 压力被单独浮现,使两者不再被混为一谈。

    • 延迟的 summarization 重建现在报告一次性的重建证据,而持续的高 context 压力作为 molt warning 单独浮现(kernel #556)。
    • 常驻 meta-guidance 的排序与 prompt-layer 文档被收紧,延迟 summarize 的引导更精确(kernel #542、#558)。
    • 事件日志被打上 kernel runtime identity 戳,使一次长时间无人值守的运行能归因到产生它的运行时(kernel #540)。

    为什么重要:一次重建事件与持续的 context 压力是两个不同的事实,需要不同的应对;把重建只报告一次、把持续压力单独浮现,能避免 agent 把一次性重建误读成长期的紧急状态。

  3. 03

    系统提示目录、MCP 与工具打磨

    围绕两条主线契约,kernel 把系统提示资源重构为 Markdown 目录,并落地一轮集成与工具修复。

    • 系统提示资源被重构为 Markdown 目录,related-file 行为更清晰,运行时 principle 层改为由 kernel 管理而非运行时注入(kernel #555、#547、#549)。
    • WeChat MCP 配置路径解析被修复,入站媒体按 magic bytes 校验(kernel #554、#543)。
    • grep 在读文件之前先裁剪 glob filter,IMAP 空参数的人体工学与 flag 诊断更清晰(kernel #544、#548)。

    为什么重要:这些正是长任务 fleet 最常摩擦到的接缝——一个解析错的 MCP 配置路径、一个未校验的入站文件、一个读得比需要更多的 grep;把它们整理干净,能在不改动操作者已熟悉的座舱的前提下让运行时更可预测。

  4. 04

    TUI ledger 保真与座舱人体工学

    在座舱一侧,TUI 改进了 refresh 与 context-rebuild 事件的计入方式,并恢复了更宽的 mail 默认值。

    • refresh 重建与 context 重建现在被标记在 call ledger 中,使 recent-call 视图能把重建与普通 API 调用区分开(TUI #457、#455)。
    • 恢复了更大的 mail page-size 默认值并在 mail 视图间复用 mail renderer,ctrl-y 选择模式现在全局可用并带显著指示(TUI #454、#453、#452)。

    为什么重要:一个把重建读成普通调用的 ledger,会误导查看按轮成本的操作者;标记重建让 call 视图保持诚实,而 mail 与选择模式的打磨清掉了日常座舱的小毛刺。

  5. 05

    release hygiene、验证与贡献者

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

    • 严格范围:TUI v0.10.1..v0.10.2(12 个 commit、38 个文件变更、+1612/-177)与 kernel v0.15.2..v0.15.3(38 个 commit、99 个文件变更、+6331/-829)。
    • kernel gate:git diff --check 干净;compileall 通过;完整 pytest 通过;python -m build 产出 sdist + wheel;twine check PASSED。release hygiene 把 init-schema 测试与可选的 lingtai seed 对齐,并把包版本 bump 到 0.15.3
    • TUI/Portal gate:对比 v0.10.1 的 git diff --check 干净;完整 tuiportal Go 测试通过;portal/web npm ci && npm run build 通过;make build 产出 TUI 与 Portal 二进制。release hygiene 规范化了 docs/stars/stars.csv 的空白,并把 Homebrew 安装检测测试与真实开发者机器的符号链接隔离。
    • 本窗口贡献者:@huangzesen(lead,两个仓库的 scope 与验证负责人)与 @TZZheng(kernel dry-run retention reporter,#541)。

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

贡献者

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

验证

最终 release validation 来自干净 release worktree,commit kernel v0.15.