{"id":49735748,"url":"https://github.com/usewhale/whale","last_synced_at":"2026-07-03T20:03:43.363Z","repository":{"id":356014195,"uuid":"1230620963","full_name":"usewhale/Whale","owner":"usewhale","description":"Whale — blazingly fast, terminal-first AI coding agent for DeepSeek. ~98% prompt cache hit rate, 1M context, MCP tools, dynamic workflows.","archived":false,"fork":false,"pushed_at":"2026-06-29T06:27:09.000Z","size":4972,"stargazers_count":725,"open_issues_count":9,"forks_count":53,"subscribers_count":31,"default_branch":"main","last_synced_at":"2026-06-29T07:16:34.227Z","etag":null,"topics":["coding-agent","deepseek","deepseek-agent","deepseek-cli","deepseek-coding-agent","go","llm","mcp","skills","terminal"],"latest_commit_sha":null,"homepage":"https://whale-site.pages.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usewhale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-06T07:01:36.000Z","updated_at":"2026-06-29T06:27:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"9f910bd1-de7d-4ce2-8139-94b91b8b27b6","html_url":"https://github.com/usewhale/Whale","commit_stats":null,"previous_names":["usewhale/whale","usewhale/deepseek-code-whale"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/usewhale/Whale","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usewhale%2FWhale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usewhale%2FWhale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usewhale%2FWhale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usewhale%2FWhale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usewhale","download_url":"https://codeload.github.com/usewhale/Whale/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usewhale%2FWhale/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35099548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coding-agent","deepseek","deepseek-agent","deepseek-cli","deepseek-coding-agent","go","llm","mcp","skills","terminal"],"created_at":"2026-05-09T08:11:19.197Z","updated_at":"2026-07-03T20:03:43.357Z","avatar_url":"https://github.com/usewhale.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whale\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.svg\" alt=\"Whale — AI coding agent for DeepSeek, in any environment\" width=\"640\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./README.zh.md\"\u003e简体中文\u003c/a\u003e · \u003cstrong\u003eEnglish\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/usewhale/Whale/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/usewhale/Whale?label=release\" alt=\"release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@usewhale/whale\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@usewhale/whale\" alt=\"npm\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/usewhale/Whale/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/usewhale/Whale/ci.yml?label=CI\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"./LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/usewhale/Whale\" alt=\"license\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/usewhale/Whale/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/usewhale/Whale?style=flat\u0026logo=github\u0026label=stars\" alt=\"GitHub stars\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/prompt%20cache-98%25-brightgreen\" alt=\"98% prompt cache hit\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Blazingly fast · ~98% prompt cache hit · Zero bloat\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eWhale — AI coding agent for DeepSeek, in any environment.\u003c/b\u003e\u003cbr\u003e\n  Long context, tools, and programmable workflows —\u003cbr\u003e\n  start in the terminal, scale to desktop and beyond.\n\u003c/p\u003e\n\n---\n\n## 🚀 Quick Start\n\nAny platform:\n\n```bash\nnpm install -g @usewhale/whale\n```\n\nmacOS:\n\n```bash\nbrew install usewhale/tap/whale\n```\n\nLinux:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.sh | sh\n```\n\nWindows PowerShell:\n\nRequires Windows 10 or Windows Server 2016 or later.\n\n```powershell\nirm https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.ps1 | iex\n```\n\nWindows CMD:\n\n```cmd\npowershell -NoProfile -ExecutionPolicy Bypass -Command \"irm https://raw.githubusercontent.com/usewhale/Whale/main/scripts/install.ps1 | iex\"\n```\n\n```bash\n# Set your DeepSeek API key\nwhale setup\n\n# Launch the interactive TUI\nwhale\n```\n\nThat's it. Type your question and Whale starts working — reading files, running commands,\nediting code, searching the web.\n\n\u003e Need a different model provider, proxy, or custom config? See [Configuration](docs/configuration.en.md).\n\n---\n\n## ✨ At a Glance\n\n| What | Why it matters |\n|---|---|\n| 💰 **~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. |\n| 🐋 **DeepSeek-native** | Built for DeepSeek's long context (1M tokens), tool calling, and cost efficiency — no generic multi-model wrapper |\n| 🔁 **Dynamic Workflows** | Write JavaScript scripts that orchestrate multiple agents — fan-out research, multi-perspective review, pipelines. Claude Code compatible. |\n| 🔌 **MCP** | Plug in 1,000+ MCP servers for extended tooling — file ops, shell, git, web, and more |\n| 🧩 **Skills + Plugins** | Install community skills (code review, git workflows, etc.) or write your own |\n\n---\n\n## 🔁 Dynamic Workflows\n\nWhale's **Dynamic Workflows** let you script multi-agent orchestration in JavaScript:\n\n```js\n// .whale/workflows/research.js\nconst results = await parallel([\n  () =\u003e agent(\"Search for best practices in Go error handling\"),\n  () =\u003e agent(\"Find common Go error handling mistakes\"),\n]);\nreturn agent(\"Synthesize both findings into a concise guide\");\n```\n\n**Fan-out research · Multi-perspective review · Pipeline processing · Adversarial validation**\n\n\u003e ✅ **Claude Code compatible** — workflow scripts written for Claude Code work as-is in Whale.\n\n\u003e **⚠️ Disabled by default** — run `/config` in the TUI and enable `Dynamic workflows`, or add `[workflows] enabled = true` to `.whale/config.local.toml`.\n\nLearn more: [Workflow Overview](docs/workflows.en.md) · [Custom Workflow Guide](docs/custom-workflows.en.md)\n\n---\n\n## 🧰 MCP, Skills \u0026 Plugins\n\n| Extension | What it does | Get started |\n|---|---|---|\n| **MCP Servers** | Connect to 1,000+ tools (databases, APIs, browser automation) | [docs/mcp.en.md](docs/mcp.en.md) |\n| **Skills** | Load domain expertise — code review, git-worktree, and more | [docs/skills.en.md](docs/skills.en.md) |\n| **Subagents** | Define focused child-agent roles such as reviewers or researchers | [docs/agents.en.md](docs/agents.en.md) |\n| **Plugins** | Extend Whale's runtime with custom logic | [docs/plugins.en.md](docs/plugins.en.md) |\n| **Hooks** | Run scripts on lifecycle events | [docs/hooks.en.md](docs/hooks.en.md) |\n\n---\n\n## 📸 How It Works\n\nWhale currently offers three interfaces — with more environments on the way:\n\n| Interface | When to use |\n|---|---|\n| **`whale`** (TUI) | Interactive coding sessions — chat, review, iterate with full context |\n| **`whale ask \"...\"`** (CLI) | One-shot questions, quick code reviews, single commands |\n| **`whale --headless`** | CI/CD, automated PR reviews, scheduled tasks |\n\n---\n\n## 🎯 Non-goals\n\n- **Multi-model shell.** Whale is DeepSeek-first — optimized for DeepSeek's caching, tools, and pricing.\n- **IDE replacement.** Whale is not an IDE — it's an agent that meets you wherever you code: terminal, desktop, or CI.\n\n## 📦 Project Status\n\nWhale is in active development. Best suited for personal projects, experimental repositories,\nand workflows where changes can be reviewed and rolled back.\n\n\u003e **Disclaimer:** This project is not affiliated with DeepSeek Inc. It is an independent open-source community project.\n\n---\n\n## 🤝 Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for local development, testing, issues, and PRs.\n\nCurrent direction and available tasks: [ROADMAP.md](ROADMAP.md).\n\nSecurity issues: [SECURITY.md](SECURITY.md).\n\n---\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/?repos=usewhale%2FWhale\u0026type=date\u0026legend=top-left\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=usewhale/Whale\u0026type=date\u0026theme=dark\u0026legend=top-left\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=usewhale/Whale\u0026type=date\u0026legend=top-left\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=usewhale/Whale\u0026type=date\u0026legend=top-left\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n---\n\n## 🙏 Credits\n\nWhale stands on the shoulders of giants:\n\n- [Charmbracelet](https://charm.sh) — Bubble Tea, Lip Gloss, Glamour, and the entire TUI ecosystem\n- [fastschema/qjs](https://github.com/fastschema/qjs) — QuickJS Go bindings for workflow scripting\n- [spf13/cobra](https://github.com/spf13/cobra) — CLI framework\n- [alecthomas/chroma](https://github.com/alecthomas/chroma) — Syntax highlighting\n- [yuin/goldmark](https://github.com/yuin/goldmark) — Markdown parsing\n- [modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) — MCP protocol support\n- [tetratelabs/wazero](https://github.com/tetratelabs/wazero) — Pure-Go WebAssembly runtime\n\nAnd the many open-source libraries we depend on — thank you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusewhale%2Fwhale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusewhale%2Fwhale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusewhale%2Fwhale/lists"}