CodeWhale v0.8.49 发布 —— 两个月前是 DeepSeek-TUI,现在 deepseek 这几个字都要没了

以前:叫 CodeWhale,但到处还是 DeepSeek
改名 v0.8.41 之后,CodeWhale 的 README、包名、仓库名都换了。但有三个地方还在「藕断丝连」。
环境变量:DEEPSEEK_API_KEY、DEEPSEEK_BASE_URL 还是主力入口。虽然 v0.8.46 加了 CODEWHALE_* 别名,但不少脚本和 CI 配置文件里还写着 DEEPSEEK_。
二进制名:终端里敲的还是 deepseek 和 deepseek-tui。改了名但命令没变,用户感知还是「这是个 DeepSeek 的工具」。CodeWhale 在终端里存在了一整个版本周期只靠 README 上的字说明。
config 残留:v0.8.48 移掉了 Qwen 3.7 Max 预设,但 config.example.toml 里还躺着 qwen/qwen3.7-max 的引用。这些细节用户不该看到。
现在:每个地方都在「脱 DeepSeek」
v0.8.49 不是革命性版本,但做的清理工作非常实在。
二进制 shim 化:npm install -g codewhale 之后,你会得到 codewhale 和 codewhale-tui 两个标准二进制。旧的 deepseek 和 deepseek-tui 还在包里,但启动时会打印一行 deprecation warning 并转发到新命令。这行警告就是信号——到 v0.9.0 直接消失。
前缀缓存不再只看名字(#2264):CodeWhale 的前缀缓存(prefix-cache)之前只比对 tool 的名字来缓存。问题是:同一个 tool 改了 schema 或 description 之后,旧缓存还在用,下次调用直接拿缓存内容回复——结果跟预期对不上。现在缓存指纹会把整个 API-visible tool schema 的细节哈希进去,schema drift 自动让旧缓存失效。
Kimi/Moonshot 的又一个坑被填了(#2438):CodeWhale 对 Kimi 的 tool schema 适配一直在修。之前修过 external tool 的 schema,这次修的是 type 字段嵌套问题。Kimi 要求 tool schema 的 type 必须放在 anyOf 或 oneOf 里才能正确解析,CodeWhale 之前把 type 放在父级——Kimi 不认。修完后还加了 regression 测试,防止以后别的 schema 形状又撞这个坑。
DeepSeek V4-Pro 价格修正(#2489):5 月 31 日 DeepSeek 调了 V4-Pro 的定价。调完后官方正式价格是原来的四分之一。但 v0.8.48 里的计费模型没更新,估出来的价格比实际高了四倍。用户看到「这一趟花了 2 块钱」,其实只要 5 毛。v0.8.49 把这个 cut-off 后的价格校准了。
ANSI 代码跑到了 UI 里(#2481):终端在执行工具时,工具本身可能会输出 ANSI 转义序列(比如 colored logs)。这些字符没被清理就直接被渲染到了 TUI 的 footer、sidebar activity 和 shell label 上,出现了一些花里胡哨的乱码片段。现在是统一剥离后再渲染。
文档也跟着整理了一遍
这次 release 补上了 Moonshot/Kimi 的 [providers.moonshot] 示例配置块,更新了 tool-surface 文档——包括 finance、web.run、git history tools、memory、OCR 等。这些工具的注册方式变了,文档也同步更新了。
config.example.toml 里的 qwen/qwen3.7-max 残留引用也被彻底清理掉了(这个搭配在 v0.8.48 被移除,但例子文件没跟)。
升级
npm install -g codewhale
Homebrew 也可以:brew tap Hmbown/deepseek-tui && brew install deepseek-tui(旧 tap 名继续用,安装的是 codewhale 二进制)。
完整更新日志:GitHub Release
📢 关注我,获取最新开源更新日志和开发者工具动态。
#CodeWhale #开源工具 #AI编程 #终端工具 #cli