CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe wrapper downloads both 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.57The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.
Cargo (Linux / macOS)
cargo install codewhale-cli codewhale-tui --lockedBoth crates are required — codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.
Manual download — platform archives (recommended)
Each archive below contains both the codewhale dispatcher 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.shWindows:
- For the installer path, run
CodeWhaleSetup.exe; it installs both binaries under%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.
Individual binaries are also attached below for scripting and the npm wrapper. 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.txtWhat's in v0.8.57
Added
- Turns now survive system sleep. When the host suspends mid-stream, the
connection used to die on wake withStream read error: error decoding response bodyand the turn was lost (#2990). The engine now stamps stream
progress with both monotonic and wall-clock time; a large divergence on a
stream error identifies a sleep/wake cycle, and the request is silently
re-issued (up to the existing 3-retry budget) instead of failing the turn. - One-command release prep.
./scripts/release/prepare-release.sh X.Y.Z
bumps the workspace version, every internal crate dependency pin, the npm
wrapper, and the README install-tag examples, refreshesCargo.lock,
regenerates the embedded TUI changelog slice and web facts, and runs
check-versions.sh— the v0.8.56 release needed nine follow-up commits for
exactly these sync points. .github/CODEOWNERSand.github/dependabot.yml(weekly cargo +
github-actions updates, monthly npm forweb/).
Changed
- The changelog went on a diet. Root
CHANGELOG.mdnow carries recent
releases (v0.8.40+); older entries moved todocs/CHANGELOG_ARCHIVE.md.
crates/tui/CHANGELOG.md— embedded into every binary for/change— is a
generated 15-release slice (scripts/sync-changelog.sh), no longer a
357 KB manual byte-for-byte copy (~300 KB smaller binaries). - GitHub Release bodies are generated from the tagged version's changelog
section (scripts/release/generate-release-body.sh) instead of a
hardcoded workflow blob with a hand-pasted contributor list. check-versions.shnow also gatesweb/lib/facts.generated.tsand the
README install-tag examples; the CNB mirror pipeline validates the pushed
tag againstCargo.tomlbefore generating release notes.- Docs reorganized: internal design notes moved under
docs/rfcs/; stale
internal docs (old audits, handoffs, region-specific VM notes) removed. - Agent-facing polish: the system prompt environment block reports
codewhale_version(wasdeepseek_version), the legacy
.deepseek/instructions.mdpath is no longer advertised in the prompt
(still honored for back-compat), and oversized instruction files are
truncated with an explicit[…truncated: N bytes omitted]marker instead
of a bare ellipsis.
Fixed
- Docker images build again. The release
dockerjob failed for v0.8.56
because the Dockerfile still copied the pre-rebranddeepseek/
deepseek-tuibinaries; they are now symlinks to the codewhale binaries
inside the image, so legacy container entrypoints keep working. .devcontainer/devcontainer.jsonused the pre-rebrand container name,
mount path, anddeepseekremote user.- Stale
--bin deepseekexamples,DeepSeek-TUIstrings in/change
output, and pre-rebrand doc comments.
Removed
- Unused dependencies:
tracing-appenderandzeroize(TUI crate),
rustls(release crate); the orphanedvendor/schemaui-0.12.0lockfile
leftover and a machine-specific one-offscripts/verify_task.sh.
Contributor credits for this release live in the changelog entry above —
thank you to everyone whose reports, PRs, reviews, and reproductions shaped it.
See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.