功能特性
终端中高效 AI 辅助编程所需的一切。
缓存优先循环
Whale 的上下文布局将 DeepSeek 的前缀缓存作为一等公民。系统提示词、工具规范和 Skills 构成不可变前缀, 在整个会话期间保持稳定。对话历史以追加模式写入。这意味着长会话可以持续受益于缓存前缀——实践中可达约 90% 的缓存命中率。
┌─────────────────────────────────────┐
│ 不可变前缀 │ ← 会话期间固定
│ system + tool specs + skills │ 缓存命中目标
├─────────────────────────────────────┤
│ 追加式对话日志 │ ← 每轮追加
│ [user][assistant][tool][user]... │ 保持前缀一致
├─────────────────────────────────────┤
│ 可变暂存区 │ ← 每轮重置
│ 推理 / 中间结果 │ 不参与下游请求
└─────────────────────────────────────┘ 工具调用修复层
DeepSeek 的工具调用输出可能存在格式问题。Whale 包含专门的修复层来处理这些边缘情况。
Scavenge(回收)
从推理内容中恢复遗漏的工具调用。
Flatten(展平)
自动展平深层 schema,防止参数丢失。
Recovery(恢复)
处理 JSON 截断、空字段、序列化数组和熔断保护。
TUI 与斜杠命令
Whale 的终端 UI 使用 Go 的 Bubble Tea 框架构建。所有交互都在终端内完成。
| 命令 | 用途 |
|---|---|
| whale | 启动交互式 TUI |
| whale exec "提示" | 一次性执行任务 |
| whale setup | 保存 API Key |
| whale doctor | 运行健康检查 |
| whale resume | 恢复之前会话 |
斜杠命令(TUI 内)
| 命令 | 用途 |
|---|---|
| /ask [提示] | 只读问答模式 |
| /plan [提示] | 先计划再执行 |
| /review [目标] | 代码审查 |
| /compact | 压缩会话上下文 |
| /focus | 切换专注视图 |
| /status | 显示会话状态 |
| /skills | Skills 菜单 |
| /memory | 查看/管理记忆 |
| /mcp | MCP 服务器状态 |
MCP 与 Skills
在不修改 Whale 核心代码的情况下扩展功能。
MCP 支持
通过 MCP 服务器接入外部工具。Whale 连接标准 MCP 服务器来添加数据库、API、云服务等自定义工具。
Agent Skills
可复用工作流,用于团队规范、代码审查、测试或工具特定指导。在 TUI 中输入 $skill-name 即可调用。
隔离工作树
使用 whale --worktree <名称> 为每个功能或 bug 修复创建隔离的 git 工作树。
更改保留在各自的分支中,Whale 会在退出后自动清理。
whale --worktree feature-x
whale exec --worktree feature-x "实现并测试这个更改"