$git clone https://github.com/usewhale/Whale---
| 1 | # Whale |
| 2 | |
| 3 | <p align="center"> |
| 4 | <img src="docs/logo.svg" alt="Whale — AI coding agent for DeepSeek, in any environment" width="640"> |
| 5 | </p> |
| 6 | |
| 7 | <p align="center"> |
| 8 | <a href="./README.zh.md">简体中文</a> · <strong>English</strong> |
| 9 | </p> |
| 10 | |
| 11 | <p align="center"> |
| 12 | <a href="https://github.com/usewhale/Whale/releases"><img src="https://img.shields.io/github/v/release/usewhale/Whale?label=release" alt="release"></a> |
| 13 | <a href="https://www.npmjs.com/package/@usewhale/whale"><img src="https://img.shields.io/npm/v/@usewhale/whale" alt="npm"></a> |
| 14 | <a href="https://github.com/usewhale/Whale/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/usewhale/Whale/ci.yml?label=CI" alt="CI"></a> |
| 15 | <a href="./LICENSE"><img src="https://img.shields.io/github/license/usewhale/Whale" alt="license"></a> |
| 16 | <a href="https://github.com/usewhale/Whale/stargazers"><img src="https://img.shields.io/github/stars/usewhale/Whale?style=flat&logo=github&label=stars" alt="GitHub stars"></a> |
| 17 | <img src="https://img.shields.io/badge/prompt%20cache-98%25-brightgreen" alt="98% prompt cache hit"> |
| 18 | </p> |
| 19 | |
| 20 | <p align="center"> |
| 21 | Blazingly fast · ~98% prompt cache hit · Zero bloat |
| 22 | </p> |
| 23 | |
| 24 | <p align="center"> |
| 25 | <b>Whale — AI coding agent for DeepSeek, in any environment.</b><br> |
| 26 | Long context, tools, and programmable workflows —<br> |
| 27 | start in the terminal, scale to desktop and beyond. |
| 28 | </p> |
| 29 | |
| 30 | --- |
| 31 | |
| 32 | ## 🚀 Quick Start |
| 33 | |
| 34 | Any platform: |
| 35 | |
| 36 | ```bash |
| 37 | npm install -g @usewhale/whale |
| 38 | ``` |
| 39 | |
| 40 | macOS: |
| 41 | |
| 42 | ```bash |
| 43 | brew install usewhale/tap/whale |
| 44 | ``` |
| 45 | |
| 46 | Linux: |
| 47 | |
| 48 | ```bash |
| 49 | curl -fsSL https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.sh | sh |
| 50 | ``` |
| 51 | |
| 52 | Windows PowerShell: |
| 53 | |
| 54 | Requires Windows 10 or Windows Server 2016 or later. |
| 55 | |
| 56 | ```powershell |
| 57 | irm https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.ps1 | iex |
| 58 | ``` |
| 59 | |
| 60 | Windows CMD: |
| 61 | |
| 62 | ```cmd |
| 63 | powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.ps1 | iex" |
| 64 | ``` |
| 65 | |
| 66 | ```bash |
| 67 | # Set your DeepSeek API key |
| 68 | whale setup |
| 69 | |
| 70 | # Launch the interactive TUI |
| 71 | whale |
| 72 | ``` |
| 73 | |
| 74 | That's it. Type your question and Whale starts working — reading files, running commands, |
| 75 | editing code, searching the web. |
| 76 | |
| 77 | > Need a different model provider, proxy, or custom config? See [Configuration](docs/configuration.en.md). |
| 78 | |
| 79 | --- |
| 80 | |
| 81 | ## ✨ At a Glance |
| 82 | |
| 83 | | What | Why it matters | |
| 84 | |---|---| |
| 85 | | 💰 **~98% prompt cache hit** | Whale reuses cached context aggressively — most prompts hit cache, slashing costs to pennies per session. DeepSeek pricing × Whale caching = AI-assisted coding at scale. | |
| 86 | | 🐋 **DeepSeek-native** | Built for DeepSeek's long context (1M tokens), tool calling, and cost efficiency — no generic multi-model wrapper | |
| 87 | | 🔁 **Dynamic Workflows** | Write JavaScript scripts that orchestrate multiple agents — fan-out research, multi-perspective review, pipelines. Claude Code compatible. | |
| 88 | | 🔌 **MCP** | Plug in 1,000+ MCP servers for extended tooling — file ops, shell, git, web, and more | |
| 89 | | 🧩 **Skills + Plugins** | Install community skills (code review, git workflows, etc.) or write your own | |
| 90 | |
| 91 | --- |
| 92 | |
| 93 | ## 🔁 Dynamic Workflows |
| 94 | |
| 95 | Whale's **Dynamic Workflows** let you script multi-agent orchestration in JavaScript: |
| 96 | |
| 97 | ```js |
| 98 | // .whale/workflows/research.js |
| 99 | const results = await parallel([ |
| 100 | () => agent("Search for best practices in Go error handling"), |
| 101 | () => agent("Find common Go error handling mistakes"), |
| 102 | ]); |
| 103 | return agent("Synthesize both findings into a concise guide"); |
| 104 | ``` |
| 105 | |
| 106 | **Fan-out research · Multi-perspective review · Pipeline processing · Adversarial validation** |
| 107 | |
| 108 | > ✅ **Claude Code compatible** — workflow scripts written for Claude Code work as-is in Whale. |
| 109 | |
| 110 | > **⚠️ Disabled by default** — run `/config` in the TUI and enable `Dynamic workflows`, or add `[workflows] enabled = true` to `.whale/config.local.toml`. |
| 111 | |
| 112 | Learn more: [Workflow Overview](docs/workflows.en.md) · [Custom Workflow Guide](docs/custom-workflows.en.md) |
| 113 | |
| 114 | --- |
| 115 | |
| 116 | ## 🧰 MCP, Skills & Plugins |
| 117 | |
| 118 | | Extension | What it does | Get started |