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升级或安装后,建议依次体验这三个新面孔:
- 输入
/agents list,查看本会话的代理名册; - 打开
/workflows,看看持久 workflow 的运行日志; - 观察底部状态栏——你的"当前身份"(模型 + 强度 + 提供商)就住在那里。
五、延伸阅读
- 版本条目全览: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),仅供参考