Files
codewhale/npm/deepseek-tui
Claude 0e5afe0b01 feat(v0.8.8): linux ARM64 prebuilts + install docs overhaul
Triggered by a Telegram report from a Chinese user trying to deploy
DeepSeek TUI on a HarmonyOS ARM64 thin-and-light: `npm i -g deepseek-tui`
exited with `Unsupported architecture: arm64 on platform linux` because
v0.8.7 only published x64 Linux artifacts. They worked around it with
`cargo install`, but the README never documented that path for ARM users.

This PR closes that gap on three layers:

- **Release workflow** — add `aarch64-unknown-linux-gnu` to the build
  matrix using GitHub's `ubuntu-24.04-arm` runner. v0.8.8 will publish
  `deepseek-linux-arm64` and `deepseek-tui-linux-arm64` alongside the
  existing x64/macOS/Windows assets, plus add the row to the Release
  body's manual-download table.

- **npm wrapper** — uncomment the linux/arm64 row in `ASSET_MATRIX`,
  rewrite the `Unsupported architecture/platform` error to print the
  full `cargo install deepseek-tui-cli deepseek-tui --locked` recipe
  and link to docs/INSTALL.md, and add `DEEPSEEK_TUI_OPTIONAL_INSTALL=1`
  so CI matrices that include unsupported platforms can keep running
  without a binary.

- **Docs** — new docs/INSTALL.md covering every supported platform,
  prebuilt vs. cargo install vs. manual download, cross-compiling x64
  -> ARM64 with `cross` or `gcc-aarch64-linux-gnu`, China mirror setup,
  and a troubleshooting section for the common arm64, MISSING_COMPANION_BINARY,
  and self-update arch-mapping (#503) errors. README and README.zh-CN
  now have an explicit Linux ARM64 quickstart pointing at `cargo install`
  for v0.8.7 today and `npm i -g` for v0.8.8+; the v0.8.7 known-issue
  block is updated to mention both #503 and the missing arm64 prebuilt.

https://claude.ai/code/session_01Fg1FKMtDxVnC4pp6bNBRCS
2026-05-03 04:42:53 +00:00
..

deepseek-tui

Install and run the deepseek and deepseek-tui binaries from GitHub release artifacts.

Install

npm install -g deepseek-tui
# or
pnpm add -g deepseek-tui

For project-local usage:

npm install deepseek-tui
npx deepseek-tui --help

postinstall downloads platform binaries into bin/downloads/ and exposes deepseek and deepseek-tui commands.

First run

deepseek login --api-key "YOUR_DEEPSEEK_API_KEY"
deepseek doctor
deepseek

The deepseek facade and deepseek-tui binary share ~/.deepseek/config.toml for DeepSeek auth and default model settings. Common TUI commands are available directly through the facade, including deepseek doctor, deepseek models, deepseek sessions, and deepseek 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:

deepseek auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY"
deepseek --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. The postinstall will exit with a clear error pointing you at cargo install deepseek-tui-cli deepseek-tui --locked and the full docs/INSTALL.md build-from-source guide.

Configuration

  • Default binary version comes from deepseekBinaryVersion in package.json.
  • Set DEEPSEEK_TUI_VERSION or DEEPSEEK_VERSION to override the release version.
  • Set DEEPSEEK_TUI_GITHUB_REPO or DEEPSEEK_GITHUB_REPO to override the source repo (defaults to Hmbown/DeepSeek-TUI).
  • Set DEEPSEEK_TUI_FORCE_DOWNLOAD=1 to force download even when the cached binary is already present.
  • Set DEEPSEEK_TUI_DISABLE_INSTALL=1 to skip install-time download.
  • Set DEEPSEEK_TUI_OPTIONAL_INSTALL=1 to make the postinstall step warn and exit 0 on download/extract errors instead of failing npm install (useful in CI matrices).

Release integrity

  • npm publish runs 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.
  • Set DEEPSEEK_TUI_RELEASE_BASE_URL to point the installer at a local or staged release-asset directory for smoke tests.