CodeWhale v0.9.10完整解读:retention与identity背后的版本升级指南
2026/9/15 12:26:49 网站建设 项目流程

CodeWhale v0.9.10完整解读:retention与identity背后的版本升级指南

【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale

CodeWhale 是一个用 Rust 构建的开源终端编码代理(terminal coding agent),v0.9.10 是一次围绕retention(有界保留)identity(身份归属)两个主题的版本升级:让工具输出不再无限占据内存与磁盘、让每一个会话产物都有明确的"主人"。如果你正在使用终端里的 AI 编码代理,这篇指南将带你快速读懂这个版本到底改了什么、为什么重要,以及如何上手体验。

版本定位:一次"减法"为主的升级

官方对 v0.9.10 的概括是一句话:"a retention, identity, and product-clarity release"——围绕保留、身份与产品清晰度。与"加功能"相比,这个版本更在意两件事:

  • Retention:系统还能记住什么?记多久?记多少?
  • Identity:会话里的每个动作、每条记录,到底属于谁?

完整条目见 CHANGELOG.md。

一、Retention 故事:给"记住多少"装上天花板

1. 工具输出不再无限保留

这是本版本最核心的修复(#5472)。此前一次 1.1 MB 的 Bash 调用会在内存中驻留最多一小时。现在:

限制项上限作用
传输中的原始输出流16 MiB超出即停止累积,防止内存暴涨
每条保留的工具输出64 KiB保证 UI 可扫读、模型可检索
每份会话转写(transcript)8 MiB防止磁盘上的会话文件无限膨胀

超大输出的完整内容不会丢失——它会被"溢出"(spillover)写入会话目录下的工件存储,UI 显示有界预览,需要时再用详情分页查看完整内容。相关实现见 crates/tui/src/tools/truncate.rs。

2. 回收三处 $HOME 磁盘泄漏

官方修复了三处长期"漏磁盘"的问题(#5472 同批):

  • 孤儿会话目录:残留的会话目录被清理;
  • 无上限的 audit.log:审计日志现在按 16 MiB 轮换(见 crates/tui/src/audit.rs);
  • 滞留的写临时文件:崩溃后遗留的临时文件被回收。

对普通用户来说,这意味着~/.codewhale目录不会再像"只进不出"一样悄悄长大。

3. MCP 注册表不再整本塞进对话

registry_sync工具此前会把完整 MCP Registry 目录(几百 KB)原样送进模型上下文。现在它必须带查询词,在本地快照上打分,最多返回 8 条匹配结果,完整目录留在磁盘上。上下文更干净,响应也更稳。

二、Identity 故事:每个会话产物都有明确的主人

1. 会话所有权边界(#5518)

v0.9.10 之前,子代理交接、后台 shell 任务、持久化任务和 workflow 控制可能"串门"到别的会话。现在:

  • 所有记录都携带不可变的根会话归属(root-session ownership);
  • 过期的完成通道消息在去重前就被拒绝;
  • 后台工作只向创建它的那个会话汇报结果;
  • 无法确认归属的遗留任务直接失败关闭(fail closed),而不是冒险执行。

简单说:谁创建的,谁负责,谁也拿不走。

2. 审批结果先持久化、再执行(#5360)

这是一个安全向的身份修复:审批回执(approval receipts)会在执行之前写入会话自有的日志。

  • 回执无法持久化时,工具直接阻塞执行;
  • 会话恢复(resume)时能重建已关闭或被中断的审批状态。

效果是:即使中途崩溃,你的每一次"允许/拒绝"都有据可查,不会凭空消失或错乱。

3. Identity 有了可见的"落点":footer

v0.9.10 把提供商、当前模型、推理强度从拥挤的头部移到了底部状态栏(footer identity),并且做了宽度自适应:紧凑终端会优先显示模型与强度,先丢弃低优先级的分组,而不是把输入框"切掉"。上面那张终端截图中,底部Full Access · WORK · Zhipu AI / Z.ai · GLM-5.3 · max正是这个新的身份区。

三、Product Clarity:让界面说出"真实的状态"

  • /agents list:本会话运行过的所有代理都能查到(receipts-only 名册),侧边栏同步显示 fan-out 行(#5479);
  • /workflows仪表盘:只读观察本工作区的持久 workflow 日志——状态、阶段、子代理、进度、宿主端取消;它只观察,绝不启动运行;
  • Extensions(/plugin)市场不再是只读列表:每条推荐都标明真实状态——Add / Enable / Configured / Unavailable——并按既有审核过的信任流程执行,不存在"第二条信任路径";
  • 首次运行瘦身:只问"变得可用"所必需的决定,其余提供商、工具、策略、外观配置交给渐进式/setup修复指南,不再一上来就把向导灌满;
  • /model更诚实:旧安装里显式保存的GLM-5.2路由保持不变,同时当前默认的GLM-5.3可见可选。

四、快速上手

如果你还没装过 CodeWhale,可以直接从 GitCode 克隆体验(Rust 项目,需要安装 Rust 工具链):

git clone https://gitcode.com/GitHub_Trending/de/CodeWhale

升级或安装后,建议依次体验这三个新面孔:

  1. 输入/agents list,查看本会话的代理名册;
  2. 打开/workflows,看看持久 workflow 的运行日志;
  3. 观察底部状态栏——你的"当前身份"(模型 + 强度 + 提供商)就住在那里。

五、延伸阅读

  • 版本条目全览:CHANGELOG.md
  • 输出溢出(retention)实现:crates/tui/src/tools/truncate.rs
  • 审计日志与磁盘限额:crates/tui/src/audit.rs
  • 架构总览:docs/ARCHITECTURE.md
  • 工具生命周期(输出如何截断与保留):docs/TOOL_LIFECYCLE.md
  • 子代理与权限边界(identity 主题的背景资料):docs/SUBAGENTS.md

小结:v0.9.10 没有炫技式的大功能,却把编码代理长期最容易被忽略的两件事做扎实了——记多少有天花板(retention),归谁管有明确边界(identity)。对每天与终端 AI 打交道的你来说,这意味着更稳的内存、更干净的磁盘和更可审计的会话。🐋

【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询