DeepSeek TUI v0.9.1

DeepSeek TUI is an open source terminal based coding agent designed for DeepSeek AI models. Unlike a simple chatbot, it can interact with your local workspace, execute shell commands, manage git operations, and assist with software development tasks directly from the command line.

The project is written in Rust and focuses on speed, low resource usage, and keyboard driven workflows. It is especially appealing for developers who spend most of their time in the terminal.

DeepSeek TUI is gaining attention among developers who prefer terminal based workflows and want direct access to AI powered coding tools without relying on heavy IDE integrations. Built around DeepSeek models, it transforms the terminal into an interactive coding assistant capable of editing files, running commands, and managing development workflows.

Download DeepSeek TUI v0.9.1 - Software Mirrors

Download DeepSeek TUI v0.9.1 Windows 64bit
codew-windows-arm64.exe | 202.5 kB

Download DeepSeek TUI v0.9.1 Windows 64bit
codew-windows-x64.exe | 217.5 kB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-tui-windows-arm64.exe | 50.01 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-tui-windows-x64.exe | 61.67 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-windows-arm64-portable.zip | 25.16 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-windows-arm64.exe | 11.07 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-windows-arm64.zip | 25.16 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-windows-x64-portable.zip | 27.04 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-windows-x64.exe | 13.59 MB

Download DeepSeek TUI v0.9.1 Windows 64bit
codewhale-windows-x64.zip | 27.04 MB

Download DeepSeek TUI v0.9.1 macOS arm64
codew-macos-arm64 | 329.75 kB

Download DeepSeek TUI v0.9.1 macOS arm64
codewhale-macos-arm64 | 9.73 MB

Download DeepSeek TUI v0.9.1 macOS arm64
codewhale-macos-arm64.tar.gz | 23.59 MB

Download DeepSeek TUI v0.9.1 macOS arm64
codewhale-tui-macos-arm64 | 41.56 MB

Download DeepSeek TUI v0.9.1 macOS x64
codew-macos-x64 | 331.34 kB

Download DeepSeek TUI v0.9.1 macOS x64
codewhale-macos-x64 | 10.82 MB

Download DeepSeek TUI v0.9.1 macOS x64
codewhale-macos-x64.tar.gz | 25.39 MB

Download DeepSeek TUI v0.9.1 macOS x64
codewhale-tui-macos-x64 | 46.26 MB

Download DeepSeek TUI v0.9.1 macOS arm64
codew-macos-arm64 | 329.75 kB

Download DeepSeek TUI v0.9.1 macOS arm64
codewhale-macos-arm64 | 9.73 MB

Download DeepSeek TUI v0.9.1 macOS arm64
codewhale-macos-arm64.tar.gz | 23.59 MB

Download DeepSeek TUI v0.9.1 macOS arm64
codewhale-tui-macos-arm64 | 41.56 MB

Download DeepSeek TUI v0.9.1 Linux x64
codew-linux-x64 | 448.55 kB

Download DeepSeek TUI v0.9.1 Linux x64
codewhale-linux-x64 | 11.94 MB

Download DeepSeek TUI v0.9.1 Linux x64
codewhale-linux-x64.tar.gz | 26.69 MB

Download DeepSeek TUI v0.9.1 Linux x64
codewhale-tui-linux-x64 | 51.06 MB

Download DeepSeek TUI v0.9.1 Linux arm64
codew-linux-arm64 | 324.6 kB

Download DeepSeek TUI v0.9.1 Linux arm64
codewhale-linux-arm64 | 10.65 MB

Download DeepSeek TUI v0.9.1 Linux arm64
codewhale-linux-arm64.tar.gz | 24.87 MB

Download DeepSeek TUI v0.9.1 Linux arm64
codewhale-tui-linux-arm64 | 43.93 MB

DeepSeek TUI v0.9.1 Release Notes:

Codewhale is the public product from Shannon Labs. The codewhale
command, npm package, and release-asset names remain lowercase technical
identifiers. The legacy npm package deepseek-tui is deprecated and
receives no further releases. Users coming from v0.8.x legacy deepseek /
deepseek-tui names should migrate with docs/REBRAND.md.

Install

Recommended — npm (one command, all three entrypoints)

bash
npm install -g codewhale
The wrapper downloads the matched codewhale, codew, and codewhale-tui binaries from this Release and places them in the same directory.

Docker / GHCR

bash
docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v codewhale-home:/home/codewhale/.codewhale \
  ghcr.io/hmbown/codewhale:v0.9.1
The image ships the codewhale dispatcher, codew shim, and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

bash
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:
  • Linux x64: codewhale-linux-x64.tar.gz | install.sh
  • Linux ARM64: codewhale-linux-arm64.tar.gz | install.sh
  • Android ARM64 (Termux): codewhale-android-arm64.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 | —
  • Windows ARM64: codewhale-windows-arm64.zip | install.bat
  • Windows ARM64 (portable): codewhale-windows-arm64-portable.zip | —
Unix (Linux / macOS):
bash
tar xzf codewhale-.tar.gz
cd codewhale-
./install.sh
Windows:
  • For the installer path, run CodeWhaleSetup.exe; it installs codewhale.exe, codew.exe, and codewhale-tui.exe under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract the archive for your machine: codewhale-windows-x64.zip or
codewhale-windows-arm64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to 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-, codew-, and codewhale-tui-) — 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:
bash

Linux — archive bundles

sha256sum -c codewhale-bundles-sha256.txt --ignore-missing

Linux — individual binaries

sha256sum -c codewhale-artifacts-sha256.txt --ignore-missing

macOS

shasum -a 256 -c codewhale-bundles-sha256.txt --ignore-missing shasum -a 256 -c codewhale-artifacts-sha256.txt --ignore-missing

What's in v0.9.1

Dogfood follow-ups (2026-07-24)

Added

  • /compact [focus]: the manual compaction command now accepts an
optional focus argument that is injected into the summary prompt, and the compaction summary itself becomes a structured nine-section successor briefing (primary intent, key concepts, files and code, errors and fixes, problem solving, user messages, pending tasks, current work, next step) that carries earlier compaction summaries forward and explicitly forbids tool use — replacing the free-form "under N words" instruction. Codewhale's pin/working-set and V4 prefix-cache-aligned machinery are unchanged.
  • Saved workflows become slash commands: *.workflow.js files under
/.codewhale/workflows/ and ~/.codewhale/workflows/ are discovered as /name commands that accept custom arguments (forwarded to the run's args), launch through the workflow tool in the background, and report their run id. Hand-written .md commands with the same name always win. The workflow tool's source_path now also accepts the user-global ~/.codewhale/workflows/ store, and every settled run leaves a durable synthesized report under .codewhale/reports/.md (status, goal, gates, progress, result, verification).

Fixed

  • Disambiguate the two Kimi K3 model-picker rows, which read as an
unexplained duplicate: bare k3 is now labeled "Kimi Code plan route" with its default 262K window annotated as the plan-tier floor (raisable via the provider context_window setting for plans that include 1M), and kimi-k3 is labeled "Moonshot direct route" with its 1M window. Both remain distinct, valid routes for the same underlying model.
  • Close the model-facing agent tool role schema: the type property now
publishes the canonical JSON Schema enum `["worker", "scout", "planner", "reviewer", "builder", "verifier", "custom"]` instead of describing the accepted values in prose. Legacy aliases are no longer advertised to models; they remain accepted only at replay/deserialization boundaries. Provider schema sanitizers (Chat Completions, strict mode, Anthropic Messages / OpenAI Responses, Moonshot/Kimi) are pinned by test to preserve the closed enum.

Changed

  • Rework the ambient idle ocean: the water now holds exactly one loose
wedge school of fish, jellyfish, bubbles, and the rare whale cameo — seaweed and bio-dust are removed. Fish swim on a wrap-around path and always face the way they move (direction can only change while the school is off-screen); the lead fish carries an eye (>). Jellyfish become a pulsing bell with a lagging swaying tentacle. All ambient marks now glow via background→ink color lerp: a travelling sin² wave through the school, a floor-bounded pulse for jellyfish, and occasional raised-cosine glints on bubbles, with deliberately non-matching periods so nothing strobes in sync.
  • Consolidate Anthropic Messages and OpenAI Responses stream opening
through the shared client/stream_entry.rs transport seam already used by Chat Completions: one bounded response-header wait, shared dual/HTTP-1.1 client policy selection, at most one HTTP/1.1 fallback retry on a classified HTTP/2 header stall (never after a stream body has begun), and the shared idle-timeout diagnostics format. Both adapters gain the bounded open wait and CODEWHALE_FORCE_HTTP1 H1 pinning; wire-specific headers, authentication, endpoints, and stream decoding stay at the adapter edge, and the Responses provider retry loop for rate limits / transient upstream errors is preserved.
  • Rename the internal delegated-worker role type from SubAgentType to
FleetRole with canonical variants (Worker, Scout, Planner, Reviewer, Builder, Verifier, Custom) matching the public Fleet vocabulary one-to-one. Wire behavior is unchanged: serialization emits canonical Fleet values only, and persisted agent_type fields plus documented legacy spellings (general, explore, plan, review, implementer, …) continue to load at deserialization/parse boundaries; unknown role tokens still fail closed with the canonical vocabulary in the error. The Codewhale v0.9.1 source candidate includes a first-class local web client over the Runtime API, first-class OpenCode Go and TelecomJS TokenHub providers and restored xAI device login, calendar-correct hourly automations, a buildable OpenHarmony workflow-js target, and hardening for Auto routing, remote-terminal clipboard transport, restart recovery, and a coherent TUI, Work, evidence, and public release surface.

Added

  • Add codewhale web [--port 7878], a first-class loopback-only browser
client over the canonical Runtime API. The dependency-free embedded shell supports thread lifecycle, snapshot-then-SSE transcripts, turn start/steer/ interrupt, approvals, and user questions, including pending-request recovery across tab reloads, while leaving unsupported managed, files, PTY, model-selection, and Fleet controls absent. Browser auth uses a short-lived one-time loopback capability exchanged for an opaque, bounded, process-local HttpOnly, SameSite=Strict session cookie with a same-origin mutation guard; Runtime tokens never enter URLs, HTML, browser storage, logs, or browser-launch arguments (#4423).
  • Add OpenCode Go as a first-class, subscription-backed Chat Completions
provider with [providers.opencode_go], OPENCODE_GO_API_KEY, and the eight models currently documented on its /v1/chat/completions endpoint. Models served only through OpenCode Go's Anthropic /messages endpoint remain out of this narrow route until Codewhale supports per-model wire selection (#1481 by @seanthefuturegorilla; implementation harvested from PR #773 by @zhangweiii and PR #1050 by @sternelee).
  • Add TelecomJS TokenHub as a first-class Chat Completions provider with
[providers.telecomjs], TELECOMJS_API_KEY, and a key-scoped live /v1/models refresh. Models.dev and provider-specific catalogs remain in separate source partitions so either refresh order preserves both; refreshes do not delete the other source's rows, matching model ids from unrelated providers do not fabricate metadata, and chat requests omit unsupported reasoning fields (PR #4370 by @baendlorel; harvested with co-authorship).
  • Prepare native Windows ARM64 codewhale, codew, and codewhale-tui
binaries, npm selection, updater support, and standard/portable release archives. Build and smoke them on GitHub's native Windows 11 ARM runner, and move Linux ARM64 release builds to the native Ubuntu ARM runner to remove the slower multi-arch cross-link setup (#4267 by @w1w218).
  • load_skill tool now supports listing: omit name or pass "list" to
see all available skills without loading one (#4651).
  • Add a unified /skills manager with one precedence-aware root catalog,
bounded duplicate/shadow/conflict auditing, package provenance, and validated install, update, remove, and trust mutations (PR #4679 by @SamhandsomeLee).
  • Add a safe Agent Details view and bounded, structured current_activity to
the single Work projection, sourced from worker events instead of renderer string inference. Rows stay compact, exact evidence is opt-in, and raw child output never enters the parent transcript (#2889 and #4636; design direction by @aboimpinto, preserved from #2694).
  • Make exact results and delegated coordination durable: non-inline tool output
becomes immutable session-owned evidence behind bounded receipts; File mutations add configurable success-only diffs; and decisions and write contention survive restart with typed neutral-fan-in records (#4619, #4636, #4647).
  • Runtime API provider registry and atomic provider-switch endpoints
(GET /v1/providers, GET /v1/providers/{id}/models, POST /v1/providers/{id}/switch) so the web GUI renders a dynamic provider/model picker without the setConfig+reload clobber (#4658).
  • Typed filter (/) in the Fleet setup wizard's Model step: substring
match over provider id, display label, and model id keeps OpenRouter-scale catalogs navigable (#4639).
  • [auto.router] config: explicit provider/model/thinking for the Auto
mode classifier route; unset keeps the DeepSeek flash default, and missing credentials fall back to the local heuristic.

Changed

  • Keep the top activity bar literal and actionable: active To-dos appear first,
followed by Sub-agents, while generic operations and coordination stay in the detail surface. Completed-only bars auto-hide, and top/side layouts can be resized by dragging their divider and retain the chosen size (#4700, #4702).
  • Use each theme's semantic colors for composer mode and permission rails, and
show a larger inline reasoning preview with clearer local/full expansion affordances (#4699, #4701).
  • Simplify the model-facing runtime around stable action tools (File, Git,
Run, deferred Web, and durable task and automation families), with legacy spellings hidden for replay. Fresh sessions no longer reserve a Work surface before real work exists (PR #4675).
  • Give the terminal shell one deliberate visual language: cool Plan → Act →
Operate and warm Ask → Auto-Review → Full Access ramps match between header and split composer edges; transcript rhythm groups related activity; a refined whale keeps the empty state calm; and one-cell live motion with truthful labels distinguishes reasoning, reading, tool use, and verification without exposing private reasoning text. Reduced-motion and animation-off settings freeze it, while ASCII-safe terminals retain the signal (#4676, #4677).
  • Unified shell tool: the model now sees a single Bash tool with an action
parameter (run/wait/interact/cancel). Legacy exec_shell* names remain as hidden compat aliases for transcript replay, and the tool-search catalog keeps Bash active by default (#4625).
  • Tool output inline preview increased from 6 to 12 lines (4 head + 4 tail)
before the fold indicator; full pager (v key) unchanged (#4603).
  • Mode changes (/mode agent|plan|operate) now persist to settings.toml
and restore across sessions (#4628).
  • Billing provenance: every outgoing API request carries an
x-codewhale-provenance header with client version and provider (#4324).
  • The /model picker's typed search now ranks results: provider-name
matches first (drill-down), then exact id, then id-prefix, then the active provider's rows (#4639).
  • System prompt text consolidated into a single prompts/text.rs
module (byte-exact constants replacing 17 layered files); composition order, constitution-first binding, and locale/personality variants unchanged.
  • Ask, Auto-Review, Full Access, and Never resolve through one permission
contract: resolve_tool_permission in the engine and resolve_approval_request_disposition in the UI share one truth table for session grants/denials, non-bypassable policy holds, and modal prompts (#4412).
  • Collapsed multi-struct tool families into single action-dispatched tools
(AutomationTool, TasksTool, GithubTool, RlmTool) while keeping legacy tool names as hidden compatibility aliases for transcript replay.
  • Operate-mode children default to leaf depth (max_depth=0) unless the
caller explicitly grants a deeper budget (#4598).

Fixed

  • Restore uwu theme config round-tripping and keep header permission colors
and authored idle-whale geometry aligned with the selected theme (#4696).
  • Default canonical Bash runs with no explicit cwd to the active
ToolContext.workspace, including an isolated sub-agent worktree, instead of falling through to the shared shell manager's parent workspace. The regression test detects the selected workspace through marker files so it remains meaningful across PowerShell path spellings (#4674, PR #4673 by @fleitz).
  • Generate QuickJS bindings for aarch64-unknown-linux-ohos with the native
SDK's libclang and sysroot, carry the OHOS target and sysroot through final linking, and keep unsupported persistent PTY dependencies out of the target while retaining non-PTY exec_shell support (#4470 by @shenjackyuanjie; original bindgen approach in #4384 by @shenyongqing).
  • Honor [auto] cost_saving = true in provider-aware heuristic and classifier
routing, using only validated same-provider fast siblings and deriving fallback candidates from their actual provider so Auto cannot invent a cross-provider model. Providers without a known fast sibling stay on the active model (#4486; partial #4405).
  • Make terminal-client clipboard behavior truthful over SSH: use OSC 52
outside tmux, stock tmux load-buffer -w inside tmux, and bracketed paste for client-to-remote text. Graphical text and image access now requires credible forwarding or an explicit override, transport failures no longer claim success, and help distinguishes terminal text paste from graphical image attachment (#4484).
  • Keep a fresh TUI Work surface from rendering prior-session worker snapshots
or durable-task terminal receipts whose creation or completion predates the current app start. Active durable tasks remain visible, and shared history stays available through /tasks and archived agent views (#4488; partial #4416).
  • Make doctor and setup output distinguish static configuration, command
availability, MCP protocol readiness, and backend health instead of presenting configured routes as live-healthy. Ordinary doctor runs no longer wake loopback/self-hosted providers unless --probe-local is explicitly requested (#4485; partial #4406).
  • Serialize test-only configuration-path readers with temporary environment
redirects so the Windows provider-persistence matrix cannot observe another test's transient CODEWHALE_HOME or config path (#4483, closing #4463).
  • Restore direct Moonshot kimi-k3 to its documented 1,048,576-token
context window and 131,072-token output limit instead of treating the live model as an unknown legacy 128K route. The existing Kimi Code tiered k3 route and credential reuse remain unchanged (#4481).
  • Keep read-before-edit snapshots in the engine session so a file read remains
valid across turns and context compaction, while a new session still starts with an empty tracker (#4475 by @Angel-Hair).
  • Make apply_patch expose the canonical replace operation while continuing
to accept deprecated changes payloads through one validation path. Mixed patch, replace, and compatibility modes now fail before any write (#4476 by @Angel-Hair).
  • Show the prompt-cache hit rate in the phase strip when the Cache status item
is enabled, using overflow-safe rounded integer math and leaving compact or disabled status layouts unchanged (#4474 by @dmitri-0).
  • Preserve Solarized Light's canonical Base3 (#fdf6e3) shell background
instead of tinting it green-grey through the default underwater Ombre treatment, while retaining foreground ambient life (#4457 by @AiurArtanis; PR #4471 by @nightt5879).
  • Register /slop and /canzha as compatibility aliases of /debt, while
keeping user-command ownership truthful across dispatch, help, slash completion, alias copy, and typo suggestions (PR #4680 by @nightt5879).
  • Fail closed on legacy Kimi CLI credential imports: remove Codewhale's
hard-coded first-party-client impersonation and refresh request, never auto-enable or rewrite imported credentials, and label the compatibility route as a read-only imported token. An explicitly configured, still-valid access token remains usable until expiry; missing, malformed, and expired imports recover through the supported Kimi Code API-key route while first-class OAuth awaits Codewhale's own vendor registration (#4417, partially addressed).
  • Restore xAI/Grok device-code OAuth login against the live xAI OIDC
contract: discovery with issuer/endpoint validation and documented fallbacks, user-principal scope set, RFC 8628 slow_down backoff capped at code expiry, bounded, sanitized error reporting for denial, expiry, and malformed responses, and a shared blocking-worker boundary for both CLI and TUI login so reqwest's blocking client never creates or drops its private runtime inside Codewhale's Tokio runtime (#4410).
  • Anchor FREQ=HOURLY automations with BYHOUR/BYMINUTE to persisted
local-calendar slots so intervals keep their wall-clock phase across DST, restart, resume, RRULE updates, duplicate-slot recovery, and post-run advancement. Nonexistent clock slots are skipped and ambiguous slots run at their first occurrence (#4381 by @h3c-hexin).
  • Give content-watch drafts canonical identities: the link and semantic-drift
watchers now write and dedup through one canonical draft-storage key with deterministic hash-suffixed IDs, validate and bound model drift output before any KV writes, and show truthful admin draft labels, so unchanged findings dedup and changed findings re-draft instead of colliding (#4453).
  • Make model-policy JSON repair consider object and array payloads in source
order, matching nested delimiters across quoted strings and escapes and returning the earliest balanced candidate that parses, instead of letting an unmatched opening delimiter or object-first preference corrupt array payloads (#4430).
  • Convert persisted sub-agent completion and still-running control events into
concise, non-authoritative resume checkpoints, keeping their raw runtime envelopes, sentinels, and retry instructions out of restored model and TUI conversation state (#4409).
  • Deliver failed, stopped, and stale sub-agent outcomes exactly once to the
awaiting parent, lifecycle mailbox, and TUI before closing their runtime state. Restart now reconciles orphaned queued/model/tool-wait worker records to interrupted while preserving checkpoints, and cancelled workers no longer read as completed in the TUI (#4408).
  • Give host applications a cancellation boundary for MCP OAuth login so a
stalled or abandoned provider login no longer hangs the calling session (#4380).
  • Avoid blocked reader joins after Windows process kills so terminated shell
sessions cannot hang their readers (#4383).
  • Give stdin-less observer hooks immediate EOF and contain timed-out hook
process trees so descendants and pipe readers cannot leak after the parent shell exits (#4489 by @luismateusvargas).
  • Preserve the full unsigned Windows PTY process status instead of collapsing
every high-bit exception or NTSTATUS to 2147483647, including decimal and hexadecimal diagnostic metadata for device retests (#4100 by @redjade75723).
  • Keep the Hotbar Setup action list synchronized with keyboard focus when the
selection moves beyond the visible rows, including Down past /export (#4418).
  • Route Windows OpenHarmony Cargo links through the repository's target-aware
clang launcher so the final Rust link keeps its target, sysroot, and MUSL flags, and extend the no-SDK release guard to protect that contract. This completes @shenjackyuanjie's PR #4470 setup alongside @shenyongqing's original bindgen approach in PR #4384.
  • Reconcile the website roadmap with reality: the retired share-link
direction is now an explicit non-goal, Workrooms is the considered direction, and the local web client appears as underway, in English and Chinese (#3418).
  • System-prompt skills block and skill-load warnings no longer embed absolute
home/workspace paths; entries render workspace-relative or ~/… so the byte-stable prompt prefix never leaks private paths. A new invariant test guards absolute paths, API keys, and workspace paths in the prefix (#4632).
  • Mode/permission baseline unit tests no longer read the developer's live
settings.toml; they isolate config I/O to a temp directory (#4628).
  • Enter no longer freezes the composer on send: dispatch splits into a
sync prepare phase (instant history + spinner) and a spawned async phase (auto-route, preflight, engine send), with submits gated while a dispatch is in flight (#4605).
  • Self-hosted routes keep explicit per-model output limits for unknown
wire aliases instead of the generic 4K fallback (#4655 by @h3c-hexin; PR #4656).
  • Chat Completions idle-timeout errors now include received-byte and
timing telemetry, distinguishing prefill stalls from mid-stream stalls with truncated tool-call arguments (#4657 by @h3c-hexin).
  • set_config provider writes now keep the in-memory route in step,
so a following model write lands in the new provider's table instead of clobbering the previous provider's root default_text_model (#4658 by @gaord, with a follow-up route-sync fix).

Security

  • Restrict cross-origin Runtime API browser preflights to the documented
authentication and content headers, explicitly allowing Authorization instead of relying on a wildcard (#4454).

Security

  • Harden the public community-site boundary: scheduled review drafts now use
one canonical freshness namespace, admin discard is restricted to validated draft objects, public feed requests cannot spend the server-held GitHub token, and maintainer login bodies are type- and size-bounded before parsing.

Contributors

Thank you to the contributors whose code, reports, and reviews shaped v0.9.1: automation recurrence (PR #4381), the MCP OAuth cancellation report (#4380), explicit limits for unknown local models (PR #4656 / #4655), and idle-timeout progress telemetry (PR #4657).
  • @gaord — Runtime API provider registry and
atomic provider-switch endpoints (PR #4658). root catalog, audit/provenance model, validated mutations, manager UI, and acceptance coverage (PR #4679), plus Enter-send lag diagnosis and fix direction for #4605 (PR #4654; landed via the release-lane async-dispatch split). registry boundary from PR #3278; the exact authored evidence commit from PR #4046, preserved intact in the integration graph; and the #2870 follow-up audit whose metadata and malformed-sibling gaps shaped the final corrections. Paulo also provided the structured, redacted Agent Details and current_activity direction preserved from #2694/#2889 and the real-PTY lifecycle acceptance direction from #2886. support and key-scoped live-catalog direction from PR #4370, harvested into the current provider architecture with co-authorship preserved. @sternelee — the original first-class OpenCode Go implementations (PRs #773 and #1050), harvested into the current provider architecture. canonical OpenCode Go/Zen provider request and acceptance direction (#1481). with dispatch-consistent user-command shadowing across discovery surfaces (PR #4680), plus the Solarized Light background preservation fix (PR #4471). regression report and reproduction (#4457). workflow-js bindgen, portable-pty gating, and SDK environment work (PR #4470). bindgen approach (PR #4384), carried into the landed implementation. process-leak reproduction, process-tree analysis, and EOF fix direction (#4489). report that exposed lossy high-bit process-status handling (#4100).
  • @w1w218 — the Windows ARM64 release request and
real-device motivation (#4267). tracking and the explicit, backwards-compatible apply_patch replacement contract (PRs #4475 and #4476).
  • @dmitri-0 — configurable cache-hit visibility
in the phase strip (PR #4474).
  • @fleitz — the canonical Bash no-cwd
workspace fix and regression test that keep isolated sub-agent commands in their own worktree (PR #4673, closing #4674). reproduction that exposed pre-pager result truncation and conflicting composer shortcut routing (#4482), and the exact Vim-space regression reproduction verifying the v0.9.1 input path already contains the needed global binding (PR #4477). See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.

Key Features of DeepSeek TUI

  • Terminal Native Workflow
    DeepSeek TUI operates entirely within the terminal, allowing developers to work without switching between browser windows or external interfaces.

  • AI Assisted Coding
    The assistant can read and edit files, generate code, explain logic, and help automate development tasks.

  • Shell Command Execution
    It supports running terminal commands directly through the interface, streamlining development workflows.

  • Git Integration
    Developers can manage repositories, review changes, and handle version control related tasks from inside the tool.

  • Multiple Work Modes
    DeepSeek TUI includes modes like Plan, Agent, and YOLO, offering different levels of automation and approval control.

  • Large Context Handling
    The tool is built around DeepSeek V4 capabilities, including support for extremely large context windows that help with understanding bigger codebases.

User Experience

DeepSeek TUI is designed for developers comfortable with terminal environments. The interface is keyboard focused and efficient, though beginners may need time to adapt.

The workflow feels closer to tools like Claude Code or Codex style assistants rather than traditional chat applications. Community feedback on Reddit and GitHub discussions highlights its speed and practical coding workflow.

Performance and Compatibility

Because it is written in Rust, DeepSeek TUI is lightweight and responsive. It supports Linux, macOS, and Windows, with installation available through npm, Cargo, or direct binaries.

Performance depends heavily on the connected DeepSeek models and API configuration, but the local interface itself remains fast and efficient.

Pros

  • Fast terminal native workflow

  • AI powered coding and automation

  • Lightweight Rust based architecture

  • Supports file editing and shell execution

  • Open source and actively developed

Cons

  • Requires familiarity with terminal workflows

  • Depends on external AI APIs

  • Advanced automation modes may feel risky for inexperienced users

DeepSeek TUI is ideal for developers, DevOps engineers, and terminal focused power users who want AI assistance integrated directly into their command line workflow. It is especially attractive for users seeking a lightweight alternative to browser based AI coding tools.

DeepSeek TUI combines AI coding assistance with the efficiency of terminal workflows. Its fast performance, flexible automation, and developer focused design make it one of the most interesting open source AI terminal tools currently gaining traction.

DeepSeek TUI v0.9.1
Free
Software Informations:
Developer:

Operating System:
Windows / macOS / Linux
Date Added:
2026-07-25T16:01:18.376Z
Categories:

Post a Comment/Report Broken Link: