Rename the npm wrapper directory and package from `deepseek-tui` to
`codewhale`. Move under `npm/codewhale/`:
- `package.json` renamed (name, bin, internal field) — keeps a
`deepseekBinaryVersion` fallback so old metadata still works.
- Bin entry points renamed to `bin/codewhale.js` and
`bin/codewhale-tui.js`; they spawn the corresponding canonical
binaries via the wrapper.
- `scripts/artifacts.js` switches to the canonical asset-name matrix
(`codewhale-*`, `codewhale-tui-*`) and `codewhale-artifacts-sha256.txt`.
- `scripts/run.js` exports `runCodewhale` and `runCodewhaleTui`; the
legacy `runDeepseek` exports are gone since nothing else inside the
package depended on them.
- `scripts/install.js`, `verify-release-assets.js`, `preflight-glibc.js`
update brand-mention strings + User-Agent headers. Env vars
(`DEEPSEEK_TUI_*`, `DEEPSEEK_*`) are explicitly anti-scope and are
left in place.
- Tests retargeted at the canonical asset names; all 19 still pass.
- README rewritten with the new install command and a deprecation
note about the old package.
Create a one-release deprecation shim at `npm/deepseek-tui/`:
- `package.json` with no `bin`, just a postinstall script that
prints a clear message telling the user to install `codewhale`
instead.
- `README.md` with the same migration note.
- Will be removed in v0.9.0 (or whenever Hunter retires the shims).
Release-side scripts in `scripts/release/` follow the rename:
- `prepare-local-release-assets.js` now requires `npm/codewhale/...`
and copies the canonical `codewhale*` binaries.
- `npm-wrapper-smoke.js` smokes the renamed package.
- `check-versions.sh` reads `npm/codewhale/package.json` for the
primary check and additionally pins the legacy shim package to
the same version.
- `check-published.sh` queries `codewhale@<version>` (with
`codewhaleBinaryVersion` lookup that falls back to the legacy
`deepseekBinaryVersion` field).
- `.github/workflows/auto-tag.yml` watches both `npm/codewhale/` and
`npm/deepseek-tui/` package.json for auto-tag triggers.
Verified:
- `npm test` inside `npm/codewhale/` passes 19/19.
- `npm install --dry-run --ignore-scripts` succeeds for both
`npm/codewhale/` and `npm/deepseek-tui/`.
- `scripts/release/check-versions.sh` reports OK.
- Rust gates re-run: `cargo check`, `cargo fmt --check`,
`cargo clippy -- -D warnings`, all clean.
No `npm publish` is run from this change — Hunter publishes manually
when the rebrand is ready to ship.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.6 KiB
codewhale
Install and run the codewhale and codewhale-tui binaries from GitHub release artifacts.
Previously published as
deepseek-tui. Seedocs/REBRAND.mdin the upstream repository for the migration notes; the legacydeepseek-tuinpm package still exists as a deprecation shim for one release cycle.
Install
npm install -g codewhale
# or
pnpm add -g codewhale
For project-local usage:
npm install codewhale
npx codewhale --help
postinstall tries to download platform binaries into bin/downloads/ and
exposes codewhale and codewhale-tui commands. If GitHub release assets are
temporarily unreachable, install continues and the wrapper retries the download
on first run.
First run
codewhale login --api-key "YOUR_DEEPSEEK_API_KEY"
codewhale doctor
codewhale
The codewhale facade and codewhale-tui binary share ~/.deepseek/config.toml
for DeepSeek auth and default model settings. Common TUI commands are available
directly through the facade, including codewhale doctor, codewhale models,
codewhale sessions, and codewhale resume --last.
The app talks to DeepSeek's documented OpenAI-compatible Chat Completions API.
Set DEEPSEEK_BASE_URL only if you need the China endpoint or DeepSeek beta
features such as strict tool mode, chat prefix completion, or FIM completion.
NVIDIA NIM-hosted DeepSeek V4 Pro is also supported:
codewhale auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY"
codewhale --provider nvidia-nim
For a single process, set DEEPSEEK_PROVIDER=nvidia-nim and NVIDIA_API_KEY
or NVIDIA_NIM_API_KEY (with DEEPSEEK_API_KEY as a compatibility fallback).
The NIM default model is deepseek-ai/deepseek-v4-pro and the default base URL
is https://integrate.api.nvidia.com/v1. With --provider nvidia-nim,
--model deepseek-v4-flash maps to deepseek-ai/deepseek-v4-flash.
Supported platforms
Prebuilt binaries for the GitHub release are downloaded automatically:
- Linux x64
- Linux arm64 (v0.8.8+)
- macOS x64 / arm64
- Windows x64
Other platform/architecture combinations (musl, riscv64, FreeBSD, …) aren't
shipped as prebuilts. Unsupported platforms, checksum failures, and glibc
compatibility problems still fail with a clear error pointing you at
cargo install codewhale-cli codewhale-tui --locked and the full
docs/INSTALL.md
build-from-source guide.
Configuration
- Default binary version comes from
codewhaleBinaryVersioninpackage.json(withdeepseekBinaryVersionas a backward-compat fallback). - Set
DEEPSEEK_TUI_VERSIONorDEEPSEEK_VERSIONto override the release version. - Set
DEEPSEEK_TUI_GITHUB_REPOorDEEPSEEK_GITHUB_REPOto override the source repo (defaults toHmbown/DeepSeek-TUI). - Set
DEEPSEEK_TUI_RELEASE_BASE_URLto use an internal or mirrored release-asset directory when GitHub Releases is unavailable. The directory must containcodewhale-artifacts-sha256.txtand the platform binaries. - Set
DEEPSEEK_TUI_FORCE_DOWNLOAD=1to force download even when the cached binary is already present. - Set
DEEPSEEK_TUI_DISABLE_INSTALL=1to skip install-time download. - Set
DEEPSEEK_TUI_OPTIONAL_INSTALL=1to make install-time retryable download failures warn and exit0instead of failingnpm install.
Release integrity
npm publishruns a release-asset check to ensure all required binary assets exist for the target GitHub release before publishing.- Install-time downloads are verified against the release checksum manifest before the wrapper marks them executable.