Whale
面向 DeepSeek 的终端优先 AI 编程代理,支持长上下文、工具与工作流。
- Star 数
- ★ 931
- 最近更新
- 23 天前
- License
- MIT
- 主语言
- Go
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用Claude Code(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 DeepSeek API 的个人开发者,在终端中让代理查看仓库文件、执行命令并修改代码。
- 不适合
- 需要多模型供应商切换或使用 OpenAI、Claude API 的团队
- 要求开箱即用、不接受默认关闭工作流等额外配置的用户
- 需要稳定生产级工具、无法接受活跃开发阶段风险的项目
- 源码审查
- 51/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Whale 是一个为 DeepSeek 构建的终端优先 AI 编程代理,而非通用多模型外壳。它提供交互式 whale TUI、一次性 whale ask "..." 命令,以及用于 CI/CD 或自动化任务的 whale --headless 模式。代理可读取文件、运行命令、编辑代码并搜索网页;其扩展机制包括 MCP 服务器、Skills、Subagents、Plugins 和 Hooks。Dynamic Workflows 允许用 JavaScript 编排多个代理,并可用于并行研究、评审和处理管道。项目仍在积极开发,文档建议将其用于个人项目、实验性仓库,以及可审查和回滚变更的工作流。
安装并配置 DeepSeek API key 后,运行 whale 可启动交互式 TUI,输入问题后由代理读取文件、运行命令、编辑代码和搜索网页。whale ask "..." 用于一次性提问、快速代码审查或单个命令场景,whale --headless 面向 CI/CD、自动 PR 审查和定时任务。用户可连接 MCP Servers 来接入数据库、API 或浏览器自动化等工具,也可加载 Skills、定义 Subagents、安装 Plugins 或通过 Hooks 运行生命周期脚本。启用 Dynamic Workflows 后,可在 .whale/workflows/ 中用 JavaScript 调用 parallel 和 agent 来扇出多个子任务,再让一个代理汇总结果。
- 使用 DeepSeek API 的个人开发者,在终端中让代理查看仓库文件、执行命令并修改代码。
- 需要快速获得单次代码审查或命令式答复的工程师,使用
whale ask "..."完成短任务。 - 在 CI/CD 中运行自动 PR 审查、定时任务或其他非交互任务的团队,使用
whale --headless。 - 希望把数据库、API 或浏览器自动化能力接入编程代理的开发者,配置 MCP Servers。
- 要将调研、多个视角的评审和汇总串成流程的用户,启用 Dynamic Workflows 并编写 JavaScript 工作流。
如何安装或部署这个 Agent?
任一平台可运行:npm install -g @usewhale/whale。macOS 也可运行:brew install usewhale/tap/whale。随后执行 whale setup 设置 DeepSeek API key,再运行 whale 启动交互式 TUI。Linux 安装命令为 curl -fsSL https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.sh | sh;Windows 10、Windows Server 2016 或更高版本可在 PowerShell 中运行 irm https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.ps1 | iex。
如何使用这个 Agent?
完成 whale setup 后运行 whale,在 TUI 中输入任务。一次性调用可使用 whale ask "审查这段代码";自动化场景可使用 whale --headless。Dynamic Workflows 默认关闭:在 TUI 执行 /config 启用 Dynamic workflows,或在 .whale/config.local.toml 添加 [workflows] enabled = true。
这个 Agent 有哪些优点和局限?
- 专为 DeepSeek 的长上下文、工具调用和缓存机制设计,README 声称提示词缓存命中率约为 98%。
- 同时提供交互 TUI、一次性 CLI 和 headless 自动化入口,覆盖本地交互与 CI/CD 两类运行方式。
- Dynamic Workflows 使用 JavaScript 编排多代理,并明确支持直接运行 Claude Code 的工作流脚本。
- MCP、Skills、Subagents、Plugins 与 Hooks 提供多种扩展路径。
- 核心定位为 DeepSeek-first,而不是可自由切换提供商的通用多模型工具;使用前需要 DeepSeek API key。
- Dynamic Workflows 默认禁用,使用前必须通过
/config或.whale/config.local.toml显式开启。 - 项目处于积极开发阶段,README 仅建议用于个人项目、实验性仓库或可审查、可回滚的变更流程。
- README 未提供针对 ChatGPT、Codex、OpenAI API 或 Claude API 的原生集成说明。
这个 Agent 与同类方案有什么区别?
Whale 明确不是“通用多模型 shell”,而是 DeepSeek-first 工具。它声明 Claude Code 的工作流脚本可原样在 Whale 中运行;这项兼容性针对工作流脚本,不等同于完整的 Claude Code 产品集成。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Whale 当前 | 51 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 931 | 23 天前 | Go | — |
| Kode CLI | 44 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 5.2k | 3 天前 | TypeScript | OpenAI API · Claude API |
| Reasonix | 66 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 36k | 今天 | Go | OpenAI API |
| Deep Code CLI | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.2k | 1 天前 | TypeScript | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 提到需要用户确认(approval)和 hooks 执行 shell 命令,SECURITY.md 指出凭据文件位置和 DEEPSEEK_API_KEY 优先级,但未详细说明权限最小化、数据流透明或外部影响。扣分:缺少具体权限模型、数据流说明和外部影响评估。
证据显示:README 和 CI 配置一致,依赖列表完整,但失败消息未在文档中说明。扣分:失败处理文档不足。
证据显示:README 明确目标用户(开发者)和使用场景(终端、CI),并列出非目标(多模型、IDE 替代),但触发精度(如命令触发条件)未详细说明。扣分:触发条件文档不足。
证据显示:README 结构清晰,安装说明详细,有示例和已知限制,MIT 许可证明确,但版本变更日志未提供,维护责任未明确。扣分:缺少变更日志和维护责任说明。
证据显示:README 强调输出可用性(TUI、CLI、headless),边际价值(缓存、DeepSeek 原生),成本效益(缓存降低费用),但未提供具体数据或对比。扣分:缺乏实证数据。
证据显示:README 中的声明(如 98% 缓存命中率)未提供来源,CI 配置存在但未验证,事实与推断未明确区分。扣分:声明缺乏可追溯性,未区分事实与推断。
- 发布者身份未验证,需谨慎对待。
- README 中的性能声明(如 98% 缓存命中率)缺乏可验证来源。
- 安全边界文档(SECURITY.md)提到 hooks 可执行 shell 命令,但未提供具体权限控制细节。
- 版本变更日志缺失,维护责任不明确。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
v0.1.66 Summary This release sharpens the TUI and hardens the ACP/MCP runtime: 1. ACP session lifecycle — session/delete so Zed's Trash actually removes whale threads, plus permission options constrained to the ACP schema enum so approvals are never silently dropped. 2. Agent turn reliability — an "execute, don't narrate" system block plus wider premature-end recovery catches announce-then-stop turns across the ACP, terminal CLI, and subagents; abrupt turns recover with interrupt tracing. …在 GitHub 查看 ↗ -
发布说明摘录
v0.1.65 Summary This release hardens the ACP (Agent Client Protocol) runtime and the agent turn loop: 1. ACP reliability overhaul — proper model resolution and API transport selection for whale-acp, automatic session compaction at a safe threshold, a raised tool-iteration cap, session/list support so Zed shows previous sessions, and no more mid-prompt eviction of sessions with in-flight requests. …在 GitHub 查看 ↗ -
发布说明摘录
v0.1.64 Summary This release brings two significant improvements: 1. whale exec session resume & explicit mode control — resume existing sessions, override the execution mode (agent/ask/plan), and get strict, machine-parseable session validation with unified JSON error output. Built for automation workflows (CI, SWE-bench) with zero side effects on failed pre-checks. 2. TUI Alt+P permission cycle shortcut — cycle the permission mode directly from the chat view (ask → auto-review → auto-accept → ask) and always see the current permission state in the footer. …在 GitHub 查看 ↗
常见问题
使用 Whale 需要什么凭证?
whale setup。它能在自动化环境中运行吗?
whale --headless 用于 CI/CD、自动 PR 审查和定时任务。Dynamic Workflows 是否默认可用?
/config 中启用,或在 .whale/config.local.toml 设置 [workflows] enabled = true。