Release notes
Codewhale v0.8.65
CodeWhale is the canonical project, command, npm package, and release-asset name. The legacy npm package
deepseek-tuiis deprecated and receives no further releases. Users coming from v0.8.x legacydeepseek/deepseek-tuinames should migrate withdocs/REBRAND.md.
Install
Recommended — npm (one command, both binaries)
npm install -g codewhale
The wrapper downloads the matched runtime binaries from this Release and places them in the same directory.
Docker / GHCR
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v ~/.deepseek:/home/codewhale/.deepseek \
ghcr.io/hmbown/codewhale:v0.8.65
The image ships the codewhale dispatcher, codew shim, and codewhale-tui runtime. The latest tag is also updated on release.
Cargo (Linux / macOS)
cargo install codewhale-cli codewhale-tui --locked
Both crates are required — codewhale-cli produces the codewhale dispatcher and codew shim, while codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one crate will fail at runtime with a MISSING_COMPANION_BINARY error.
Manual download — platform archives (recommended)
Each archive below contains the codewhale dispatcher, codew shim, and codewhale-tui runtime, plus an install script:
| Platform | Archive | Install script |
|---|---|---|
| Linux x64 | codewhale-linux-x64.tar.gz |
install.sh |
| Linux ARM64 | codewhale-linux-arm64.tar.gz |
install.sh |
| Linux RISC-V | codewhale-linux-riscv64.tar.gz |
install.sh |
| macOS x64 | codewhale-macos-x64.tar.gz |
install.sh |
| macOS ARM | codewhale-macos-arm64.tar.gz |
install.sh |
| Windows x64 (installer) | CodeWhaleSetup.exe |
NSIS setup |
| Windows x64 | codewhale-windows-x64.zip |
install.bat |
| Windows x64 (portable) | codewhale-windows-x64-portable.zip |
— |
Unix (Linux / macOS):
tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh
Windows:
- For the installer path, run
CodeWhaleSetup.exe; it installscodewhale.exe,codew.exe, andcodewhale-tui.exeunder%LOCALAPPDATA%\Programs\CodeWhale\binand adds that directory to the current-user PATH. - Extract
codewhale-windows-x64.zip - Run
install.bat(copies to%USERPROFILE%\bin) - Add
%USERPROFILE%\binto your PATH
The portable Windows archive skips the install script — extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.
Each platform also has bare, unarchived binaries attached below (codewhale-<platform>, codew-<platform>, and codewhale-tui-<platform>) — the npm wrapper and the in-app codewhale update download the matched runtime binaries, whereas the .tar.gz / .zip archives above are the recommended manual download and additionally bundle an install script. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.
Verify (recommended)
Download the checksum manifests from this Release and verify:
# Linux — archive bundles
sha256sum -c codewhale-bundles-sha256.txt
# Linux — individual binaries
sha256sum -c codewhale-artifacts-sha256.txt
# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt
What's in v0.8.65
Added
- Provider/model/route resolution (EPIC #2608). Canonical provider, model,
offering, and route types with a single
RouteResolverthat produces a resolvedReadyRouteCandidate(endpoint, wire protocol, model id, context limit, price) for every switch (#3458, #3084, #3384). The executing client is now constructed from the resolved candidate rather than re-derived from config (#3384). A committed, network-free Models.dev-shaped catalog gives models real context windows and pricing, with a secret-free live cache (#3497, #3498, #3385). Offering pricing with provenance is projected onto candidates (#3501, #3085), and route limits feed a route-aware context-budget service (#3508, #3523, #3086). - Fleet execution substrate (EPIC #3154). Fleet profile types and config
(#3469), durable manager resume, workspace agent-profile loading resolved into
the worker runtime (#3367), loadout intent carried in task specs (#3512), and
receipts that persist the resolved route for inspection (#3154, #3166). Worker
status is folded into the unified
/fleetsurface and exposed through the Runtime API. - Provider surfaces. A
/providerreadiness dashboard with reasoning readiness, an experimental/supported maturity marker, and an "open models for this provider" action (#3083, #2984, #3485); cross-provider/modelsearch with scroll and provider type-ahead (#3484, #3075); inline<think>reasoning-stream routing with per-provider overrides (#3222); usage telemetry normalized into canonical token classes including Responses cache-miss and reasoning tokens (#2961, #3509); and remote MCP OAuth login with bearer/header auth precedence (#3527). - More providers and routes. User-defined OpenAI-compatible custom providers
via
[providers.<name>](#1519); a DeepSeek Anthropic-compatible route (#2963, #3449); a Qianfan route (#3425); Zhipu folded into Z.ai with equal-treatment model normalization (#3539); DashScope/Together fixtures. - Localized mode picker and composer indicators. The
/modepicker prompt, mode names, and hints, plus the composer's Vim mode indicator, now render in all seven shipped locales (model-facing mode labels stay English). Harvested from #2239 by @gordonlu. - Website and automation. A runtime/integrations page, provenance and mirror-trust copy, a fact-drift CI gate, a published install script, and a weekly community digest archive on codewhale.net (#3419, #3421, #3415, #3482, #3420); per-automation mode/shell/trust/approval settings (#3467).
- Model reference browser. A read-only
/modeldbcommand (aliasesmodel-reference,modelref) opens a pager over the bundled catalog — every model's factual context window, max output, modality, and price, grouped by provider/kind. Labels only: it never selects, routes, or tiers a model (#3205, #2300). - Transcript presets. A
/config preset <name> [--save]mechanism with a firstcalmpreset — calm mode, calm tool collapse, comfortable spacing, and low motion — presentation-only and evidence-preserving (#3478). - Model capability profiles. A typed
model_profilemodule separates intrinsic model facts from resolved provider-route capability, so compact routes defer heavier nonessential tools while standard/full routes keep the eager tool surface (#3451, #3365). - Live provider catalog refresh. A secret-free
/modelslive-fetch layer (401/403/404/429 mapped to typed outcomes) feeds the catalog cache; the API key authorizes the request but is never persisted into the delta or cache (#3385).
Changed
- Config modularization (#3311).
ProviderKind(#3505), harness posture (#3507), and provider default seeds (#3503) moved into dedicated modules, and theconfig.rsmonolith split into clean leaf modules (paths, search, model/base-URL constants, sub-agent limits) behind apub usefacade.AppMode
…