CodeWhale
Hmbown/CodeWhale
Open-source, community-driven agent harness
Overview
CodeWhale is a terminal coding agent built with Rust that works with various AI models and providers to assist in coding tasks through TUI/CLI interfaces.
Categories
Tags
Relationships
Related
Similar tools
ECC
affaan-m/ECC
The agent harness performance optimization system
hermes-agent
NousResearch/hermes-agent
The self-improving AI agent built by Nous Research
AutoGPT
Significant-Gravitas/AutoGPT
AutoGPT: Build, Deploy, and Run AI Agents
ollama
ollama/ollama
Get up and running with Kimi-K2.6, GLM-5.1, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
prompts.chat
f/prompts.chat
The world's largest open-source prompt library for AI
JavaGuide
Snailclimb/JavaGuide
Snailclimb/JavaGuide: 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Install
cargo add CodeWhaleREADME
CodeWhale
The terminal coding agent for any model — open models first.
CodeWhale is a terminal coding agent — a TUI and a CLI. You point it at a model and a project, and it gets to work: reading code, making edits, running commands, checking results, planning multi-step tasks, and correcting itself when something fails.
It's open source (MIT, Rust), it runs on your machine, and it works with the models people actually use. DeepSeek and open-weight models are first-class, and a local vLLM/SGLang/Ollama box on your LAN needs no key at all — but Claude, GPT, Kimi, and GLM are full peers through the same runtime and the same tools. You pick a provider and a model; CodeWhale resolves a real route and runs.
The project began as deepseek-tui, a coding harness built around DeepSeek
workflows. The developer community — much of it in China — adopted it, filed
reports, and contributed fixes, and it became clear the harness was bigger than
one model. Multi-provider support followed, and the project became CodeWhale to
match. If there's a model, endpoint, or feature you don't see that you want,
open an issue — that's how the project grows.
简体中文 README · 日本語 README · Tiếng Việt README · 한국어 README · codewhale.net · Install guide · Provider registry · Changelog
Install
npm install -g codewhale
codewhale --version # 0.8.67
The npm wrapper (Node 18+) downloads SHA-256-verified binaries from GitHub
Releases and installs codewhale, codew, and codewhale-tui. Prefer building
from source? Use cargo (Rust 1.88+):
cargo install codewhale-cli --locked
cargo install codewhale-tui --locked
Linux users: install system build dependencies first:
sudo apt-get install -y build-essential pkg-config libdbus-1-dev. See INSTALL.md.
Every other path:
# Docker
docker pull ghcr.io/hmbown/codewhale:latest
# Nix
nix run github:Hmbown/CodeWhale
# Windows
scoop install codewhale # or the NSIS installer from GitHub Releases
# CNB mirror for users who cannot reliably reach GitHub
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.67 codewhale-cli --locked --force
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.67 codewhale-tui --locked --force
# Legacy Homebrew compatibility while the formula is renamed
brew tap Hmbown/deepseek-tui
brew install deepseek-tui
Prebuilt archives for Linux x64/arm64, macOS x64/arm64, and Windows x64 are attached to GitHub Releases. Linux riscv64 prebuilts are temporarily paused while upstream QuickJS bindings catch up. Checksums, China mirrors, Windows specifics, and troubleshooting live in docs/INSTALL.md.
Upgrading from the legacy deepseek-tui package? Your config, sessions,
skills, and MCP settings are preserved. See docs/REBRAND.md,
then run codewhale doctor to confirm.
First run
codewhale auth set --provider deepseek
codewhale auth status
codewhale doctor
codewhale
Every provider is the same one-line shape: --provider openrouter,
--provider moonshot, --provider openmodel, or point vllm, sglang, or ollama at your own
localhost runtime with no key at all. Have a Claude key instead? Run
codewhale auth set --provider anthropic — or just export
ANTHROPIC_API_KEY — and the native Messages adapter takes it from there.
Keys land in ~/.codewhale/config.toml; legacy ~/.deepseek/ config is still
read for compatibility.
Useful in-session commands:
/provideropens the readiness dashboard — per provider it shows auth state, the resolved default route, and the cost/usage meter./modelpicks the model and reasoning effort. Both also take arguments (`/provider