Kernel v0.14.2 · TUI/Portal v0.9.6
LingTai release day:多账号 Codex、趋势报告,与更安静的座舱
这是一组围绕「让多个 Codex 身份并行运行」与「看清一支 fleet 的调用究竟花在哪里」的 kernel 与 TUI/Portal 配套发布:按 agent、按 preset 的 Codex OAuth token 文件,多 OAuth 的 setup UI,swiss-knife 的 tool-call / API-call 趋势报告,可滚动的 `/doctor`,双语加载文案,更低的默认 context 上限,看板调用视图里的 cache-miss 细节,以及让长任务保持诚实的 daemon 与 bash 修复。
升级 / runtime
上面的 Homebrew 命令用于更新 TUI/Portal。Kernel package lingtai v0.14.2 已发布到 PyPI,作为 LingTai-managed environment 使用的 runtime package source;已有项目仍应按 TUI 管理的 refresh / setup 路径更新,不应把全局裸 pip 命令当作普通用户升级故事。
新功能与改进
-
01
多个 Codex 身份,一支 fleet
Kernel v0.14.2 与 TUI/Portal v0.9.6 让不同 agent、不同 preset 以不同的 Codex OAuth 身份登录,而不是共用一个全局 token。
- 新增的
manifest.llm.codex_auth_path让每个 agent 或 preset 指向自己的 Codex OAuth token 文件,从而让多个 ChatGPT 账号并行运行(kernel #484)。 - TUI/Portal setup 新增多 OAuth 的 UI 与 preset 支持,让「某个 preset 用哪个 Codex 身份」成为一等选择,而不是手动改文件(TUI #415)。
- 默认仍回退到共享 token 路径,因此已有的单账号配置无需改动即可继续工作。
为什么重要:当一支 fleet 混用多个账号时,每个 agent 都需要以自己的身份认证;共用一个 token 会让归属与限流瞬间变成所有人的共同问题。
- 新增的
-
02
看清调用花在哪里
TUI/Portal v0.9.6 把原始调用日志变成趋势报告,让一支 fleet 的 tool-call 与 API-call 行为变得能一眼读懂。
- 新增的 swiss-knife 脚本与 skill 产出 tool-call 与 API-call 趋势报告,脚本与 skill 的措辞保持一致(#414)。
- 看板调用视图现在显示 cache-miss 细节,让「这个 turn 付了全价而不是命中 cache」出现在操作者本就会看的地方(#410)。
-
/doctor变得可滚动并带分节标题,让冗长的诊断输出可以导航,而不是一整面文字墙(#413)。
为什么重要:看不见就无法调优;让调用趋势与 cache miss 变得可读,是削减它们的第一步。
-
03
更安静、更易读的座舱
几处较小的 TUI 改动降低了噪声底线,也让默认座舱对不止一种语言的读者更友好。
- 加载文案改为双语且支持 i18n,让座舱在预热时也用操作者的语言说话(#412)。
- 默认 context/token 上限降到 250k,开箱即用时是更保守的工作预算(#411)。
- 这些默认值仍可按 setup 调高;这次改的是「未配置的座舱默认怎么做」,而不是一个硬上限。
为什么重要:默认值才是大多数会话实际跑的配置,因此更合理的默认上限与感知语言的文案,比任何单个高级开关都更重要。
-
04
让长任务保持诚实的 daemon 与 bash 修复
Kernel v0.14.2 修复了两处 run-directory 与 working-directory 的边界情况,它们此前会让长时间运行的 daemon 工作误报自己的状态。
- daemon 历史检查现在能在 refresh 或 molt 之后正确解析 run directory,使得跨 context 凝蜕的历史回看不再失效(#483)。
- bash 调用里空的
working_dir现在被视为未设置,并回退到默认 agent 目录,而不是在一个含糊的路径上运行(#480)。 - 这两处修复都瞄准最容易让长会话「丢失自己在哪里」的时刻——凝蜕之后、字段为空时。
为什么重要:一个丢失了自己 run directory 或 working directory 的长任务 agent,会悄悄地在错误的位置动手;这两处修复让它对「自己在哪里」保持诚实。
-
05
release hygiene、验证与贡献者
本窗口同样包含 release-hygiene 工作,并在发布前从干净的 release worktree 完成验证。
- kernel 更新命令改为 confirm-gated,并中和了一个具破坏性的全局 preset-split migration,使其不再能重写操作者的 preset。
- TUI release 版本比较现在被显式分类(@TZZheng),release star CSV 也作为 release hygiene 做了归一化。
- Kernel 验证:
compileall通过;针对 daemon/bash/notification/preset/deep-refresh/tool-executor/openai/codex/provider/auth 面的聚焦/扩展 pytest513 passed;python -m build与twine check均 PASSED;PyPI 报告info.version=0.14.2。 - TUI/Portal 验证:
git diff --check干净;TUI 与 Portal Go 测试通过;portal/web npm ci && npm run build通过;TUI 与 Portalmake clean && make build通过;tag v0.9.6 的 Homebrew Release workflow 成功。
为什么重要:一次小版本 bump 同样值得在发布前有 confirm-gated 的变更、被中和的破坏性 migration,以及完整的 gate 证据。
贡献者
感谢本发布窗口中提交代码、共同完成提交、参与 PR / review / assignment、报告或推动 issue closure 的贡献者。
验证
最终 release validation 来自干净 release worktree,commit 009f1aa84eb6.
- Kernel compileall src + tests compiled clean
- Kernel focused/expanded pytest 513 passed
- Kernel build and twine check wheel + sdist built; both PASSED
- PyPI verification info.version = 0.14.2
- TUI diff-check git diff --check clean (v0.9.5...HEAD)
- TUI Go tests/build go test + make clean && make build passed
- Portal web npm ci/build passed (npm audit warnings noted, not blocking)
- Portal Go tests/build go test + make clean && make build passed
- Homebrew tap Release workflow auto-bumped lingtai-tui to 0.9.6 (sha256 c944…2aca)