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.2 - Software Mirrors |
|---|
Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit Download DeepSeek TUI v0.9.2 Windows 64bit |
Download DeepSeek TUI v0.9.2 macOS arm64 Download DeepSeek TUI v0.9.2 macOS arm64 Download DeepSeek TUI v0.9.2 macOS arm64 Download DeepSeek TUI v0.9.2 macOS arm64 |
Download DeepSeek TUI v0.9.2 macOS x64 Download DeepSeek TUI v0.9.2 macOS x64 Download DeepSeek TUI v0.9.2 macOS x64 Download DeepSeek TUI v0.9.2 macOS x64 |
Download DeepSeek TUI v0.9.2 macOS arm64 Download DeepSeek TUI v0.9.2 macOS arm64 Download DeepSeek TUI v0.9.2 macOS arm64 Download DeepSeek TUI v0.9.2 macOS arm64 |
Download DeepSeek TUI v0.9.2 Linux x64 Download DeepSeek TUI v0.9.2 Linux x64 Download DeepSeek TUI v0.9.2 Linux x64 Download DeepSeek TUI v0.9.2 Linux x64 |
Download DeepSeek TUI v0.9.2 Linux arm64 Download DeepSeek TUI v0.9.2 Linux arm64 Download DeepSeek TUI v0.9.2 Linux arm64 Download DeepSeek TUI v0.9.2 Linux arm64 |
DeepSeek TUI v0.9.2 Release Notes:Codewhale is the public product from Shannon Labs. The
command, npm package, and release-asset names remain lowercase technical identifiers. The legacy npm package
receives no further releases. Users coming from v0.8.x legacy
InstallRecommended — npm (one command, all three entrypoints)
The wrapper downloads the matched codewhale, codew, and codewhale-tui
binaries from this Release and places them in the same directory.
Docker / GHCR
The image ships the codewhale dispatcher, codew shim, and codewhale-tui runtime. The latest tag is also updated on release.
Cargo (Linux / macOS)
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 thecodewhale dispatcher, codew shim, and codewhale-tui runtime, plus an install script:
Windows:
codewhale-windows-arm64.zip
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:
What's in v0.9.2This is the Codewhale v0.9.2 source candidate. It is not a published release until the matching tag, packages, checksums, and release assets exist.Changed — behavior
deepseek-v4-flash as the
classifier for every Auto turn — a per-turn cost on a route nobody asked for,
and one provider privileged over the rest. Auto now stays local and free
unless an explicit [auto.router] block names a provider and model.
If you relied on the implicit default, restore it explicitly:
[auto.router] remains legacy model = auto configuration. It is unrelated
to a Fleet's Adaptive Reasoning Router, which is a saved service referenced by
name from a Fleet file and decides only how hard an already-frozen route
thinks.
Landed since v0.9.1, not yet released. A cluster of defects found by a
read-through audit of the policy engine, the MCP proxy, the session index,
and the app-server bridge — several of them cases where the wrong outcome
was reached silently, behind a response or a log line that looked fine. The
release also adds opt-in session, reasoning, localization, and inspectability
surfaces; existing defaults remain stable unless an entry below explicitly
says otherwise.
Added
/permissions remove previews deletion
and requires a snapshot-bound confirmation token, so a concurrent edit
cannot move a different rule under the confirmed index. Appends and removals
share one adjacent lock, preserve unrelated TOML formatting and comments,
atomically replace permissions.toml, and reload the live user ruleset
without clearing session-only approvals. /config ask-rules remains a
compatibility entry; rule creation, glob/directory rules, and deny
persistence remain out of scope (#1186, PR #4960 by @greyfreedom).
/preview-request base-prompt mode prints only the exact effective base
prompt; effective system text remains protected behind its final hash. The
exact body includes the same authoritative transient Work/To-do tail used by
production, including graph-backed state newer than the legacy projection.
Preflight preserves production's separately framed base-plus-Work estimate,
and fails closed when the authoritative projection is unavailable. An
exhausted active goal token budget also produces a typed unavailable result
before any outbound request is built.
(#1004, #3928; dry-run concept harvested from PR #1099 by @GTC2080 / TaoMu.)
codewhale-lane::control): a stable id, read-vs-write
authority, persistence scope, exact-identity target selection, retryability,
lifecycle outcome, and one bounded, sanitized receipt. docs/COMMAND_CONTROL_PLANE.md
documents it (#1888).
codewhale lane … calls. `codewhale
lane interrupt|restart|resume are the matching CLI verbs; lane stop` stays as
a compatibility spelling of lane interrupt. Appending @ to a
lane id fences a write to the exact durable generation you observed, so a
concurrent transition is rejected as a conflict rather than acted on (#1888).
not_recorded /
not_applicable / redacted reason when it does not. Requested-vs-effective
reasoning is never back-filled: the ledger persists the effective tier only, so
the requested tier reports not_recorded (#4022).
invocation: explicit-only, so it never enters the model's ambient catalogue
and costs no prompt budget. Its body is a routing card that points at the
surfaces this build actually exposes — /help and /help ,
/skills and /skills inspect, /config, doctor, and the docs/ tree
when the workspace is a Codewhale checkout — and explicitly forbids pasting a
command list or settings table into context (#4698).
crates/tui/src/skills/catalog_matrix.rs assert a bijection between the
fixture and the shipped bundle, so the starter pack cannot change without an
explicit fixture update. The matrix covers positive eligibility and explicit
load, non-activation negatives, alias resolution, explicit-only exclusion,
alias-vs-canonical collision precedence, and prompt-budget invariants (no
duplicate catalogue entries, no aliases as extra entries, and the shipped
pack fitting inside the 12 000-char budget with no omitted-skills line). These
are deterministic registry/catalog/resolver assertions and make no claim about
semantic model routing (#4698).
en, ja, zh-Hans, zh-Hant, pt-BR, es-419, vi, ko). No
bundled skill ships a localized routing description and none was invented;
the tested contract is deterministic fallback to the canonical English
description, with the rendered catalogue byte-identical across locales.
Exact-tag match, primary-subtag fallback, and English fallback are covered
against a synthetic authored fixture, and the parity test fails if a bundled
skill ever gains localized metadata without source-backed coverage (#4698).
env -i plus a throwaway
CODEWHALE_HOME; HOME is left unset rather than repurposed, and ambient
provider variables are not forwarded. The operator names the credential
variable explicitly, and the isolated child reads its value with echo off,
restores the prior terminal state on exit or interruption, and never persists
the value or puts it in a command argument. The page states the expected
route/model/reasoning/tool receipt fields while treating provider errors as
unclassified until provider configuration, authentication/entitlement, and
harness behavior have been corroborated independently (#4698).
allow rules scoped to the current repository. Remembered shell
commands use complete-command matching, validated file and patch paths remain
workspace-relative, and dangerous, critical, or repo-law-held requests stay
ineligible and continue to require review.
header_items = ["tokens"] under [tui] to enable it. The
chip is the only elidable element of the header — the git label, context
meter, and version stamp keep their space, and narrow terminals drop the
chip rather than the baseline chrome. Unknown entries are warned about and
skipped so configs written by newer builds stay loadable by older ones
(#4520 requested by @eugenicum; PR #4610 by @XhesicaFrost, harvested with
co-authorship).
Fixed
never token.
The same resolved sandbox policy now drives execution and UI receipts: Plan
stays read-only, Ask and Auto-Review stay workspace-scoped, and Full Access
is actually unsandboxed unless a stricter effective configuration wins.
/turn inspect, removing the shortcut collision while keeping
raw leaf detail and post-flush reasoning discoverable.
/resume entries (PR #4963 by @SparkofSpike).
auto_compact_threshold or auto_compact_threshold_percent now counts as
opt-in intent, while an explicit auto_compact = false remains authoritative.
/config reports the effective state, percentage, and computed token trigger.
/config, provider setup help, diagnostics, and the example configuration.
The effective override consistently drives preflight budgeting, the context
meter, and compaction; this lets a user cap a 1M Kimi route to 256K when their
Coding Plan tier has the smaller window.
read the durable .codewhale/fleet.jsonl` ledger — two different
things wearing one name, so a run started by codewhale fleet run never
appeared in the TUI. /fleet status now reads the durable ledger through the
same code path as the CLI; the session view keeps its own name as
/fleet workers (/subagents and n still work). When a workspace has no
ledger, both surfaces report a typed no_fleet_ledger reason instead of an
empty-looking "all clear", and neither creates the ledger as a side effect of
reading it (#4022).
.codewhale/fleet.jsonl as a side effect of opening the manager, then
reported no_fleet_ledger for the file it had just made — so the second
invocation showed an empty Fleet where none existed. The CLI now refuses
those verbs before the manager is constructed, matching /fleet (#4022).
no_change. Unknown ids are now refused as not_found
before any durable write (#4022).
no_change.
The @ fence is also evaluated inside the registry's per-Lane
lock rather than before it, so a stale fence refuses without running Runtime
teardown instead of racing between the check and the stop (#1888).
lane interrupt is
CLI-only until that work runs off-thread, and reports
surface_not_supported naming codewhale lane interrupt (#4022).
hotbar_bare_dispatch, true only for lane.list) instead of advertising
target-taking verbs as hotbar-reachable (#1888).
LaneRecord shape they always have — the receipt did not replace it. The
human lane status output also regained branch, session, socket,
attach, and log, which the first cut of the shared DTO had dropped
(#1888).
lane resume have no implementation — a Lane is re-created by
codewhale lane start, and a stopped Lane's Runtime session is gone — so all
three surfaces refuse them with backend_not_implemented and say why.
fleet restart drives the manager loop to completion, which only the CLI
runs, so /fleet restart reports surface_not_supported and names the CLI
command rather than quietly doing a smaller thing (#1888).
git push rule still catches
git -c foo=bar push. Path matching folds case only on platforms whose
filesystems are case-insensitive, and the default approval branch no
longer proposes the working directory as a network host.
thread/interrupt request (and
shutdown) can reach a runaway turn instead of waiting on the very turn
they were meant to stop.
[context] project_pack = true. Language law is compressed
while keeping the English-constitution / user-language-reply contract.
HOME/USERPROFILE via effective_home_dir across remaining call sites so
Windows tests that fake the home env vars match production paths. The
equivalent home-directory sweep came from closed PR #4760 by
@EvanProgramming.
Changed
/goal moved to a Session section and Workflow
orchestration to its own Workflow section. The inert DeepSeek-only
default_model fallback moved out of Model settings into an explicit
Legacy section — exact-Fleet users switch Fleets, not fallback models;
the config field is retained because the runtime still reads it. This is
presentation only: the persisted keys (goal_command, workflow,
default_model), their values, scopes, and runtime behavior are unchanged.
opt-in (an explicit [auto.router]` route remains its
own opt-in for the classifier call). Same-provider strong/fast selection and
[auto] cost_saving are unchanged.
vt100 dependency (PR #4931 by @raphamorim).
client/stream_entry.rs seam already used by Chat Completions: one bounded
response-header wait, shared dual/HTTP-1.1 policy selection, at most one
HTTP/1.1 fallback on a classified HTTP/2 header stall, and common idle-timeout
diagnostics. Wire-specific authentication, headers, endpoints, decoding, and
rate-limit behavior remain at each adapter edge. The timeout-placement
diagnosis and fix direction came from closed PR #4743 by
@vibecoding-skills.
Security
ContributorsThank you to the contributors whose code, reports, and reviews shaped v0.9.2:
Bash no-cwd workspace fix and regression in PR #4673
(issue #4674).
rio-vt (PR #4931).
|
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.
Developer:
Hunter Bown
Operating System:
Windows / macOS / Linux
Date Added:
2026-07-30T16:02:27.352Z
Categories:

Post a Comment/Report Broken Link: