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 Codewhale v0.9.12 (Formerly DeepSeek TUI) - Software Mirrors |
|---|
Codewhale v0.9.12 (Formerly DeepSeek TUI) for Windowscodewhale-windows-x64.zip | 59.15 MB codewhale-windows-x64.exe | 83 MB codewhale-windows-x64-portable.zip | 59.15 MB codewhale-windows-arm64.zip | 55.26 MB codewhale-windows-arm64.exe | 66.99 MB codewhale-windows-arm64-portable.zip | 55.26 MB codewhale-tui-windows-x64.exe | 83 MB |
Codewhale v0.9.12 (Formerly DeepSeek TUI) for macOScodewhale-tui-macos-x64 | 62.18 MB codewhale-tui-macos-arm64 | 55.64 MB codewhale-macos-x64.tar.gz | 55.51 MB codewhale-macos-x64 | 62.18 MB codewhale-macos-arm64.tar.gz | 51.9 MB |
Codewhale v0.9.12 (Formerly DeepSeek TUI) for Linuxcodewhale-tui-linux-x64 | 66.32 MB codewhale-tui-linux-arm64 | 54.94 MB codewhale-linux-x64.tar.gz | 56.71 MB codewhale-linux-x64 | 66.32 MB codewhale-linux-arm64.tar.gz | 52.64 MB |
Codewhale v0.9.12 (Formerly DeepSeek TUI) for Androidcodewhale-tui-android-arm64 | 56.49 MB codewhale-android-arm64.tar.gz | 52.87 MB |
Others Download related to Codewhale v0.9.12 (Formerly DeepSeek TUI) |
Codewhale v0.9.12 (Formerly DeepSeek TUI) Source CodeCodewhale v0.9.12 (Formerly DeepSeek TUI) Source code (zip) Codewhale v0.9.12 (Formerly DeepSeek TUI) Source code (tar.gz) |
Codewhale v0.9.12 (Formerly DeepSeek TUI) 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 — official GitHub releaseNew macOS/Linux install (checksummed binaries from this release):
For Windows, use the matching installer or archive below. For an existing
direct install, run codewhale update; it prints the executable path and
keeps newer builds. If the install directory is occupied by a different build,
use the fresh-directory migration in the installation guide.
Secondary packaging — npm and Cargo
The wrapper downloads the matched codewhale and codew command assets
from this Release. Both contain the same compiled runtime.
Docker / GHCR
The image exposes the same runtime as both codewhale and codew. The
latest tag is also updated on release.
Cargo (Linux / macOS)
The Cargo package installs codewhale. Cargo cannot create a second command
alias from one binary target; users who want the shorter spelling can add a
codew symlink to that installed executable. The npm, Homebrew, archive,
shell-installer, and container channels install both command names directly.
Manual download — platform archives (recommended)Each archive below contains the same runtime under thecodewhale and
codew command names, plus an install script:
Windows:
codewhale.exe, codew.exe, and codewhale.bat under
%LOCALAPPDATA%\Programs\CodeWhale\bin, adds that directory to the
current-user PATH, and creates a Start Menu shortcut that prefers
Windows Terminal (wt.exe) when it is installed.
codewhale-windows-arm64.zip
codewhale.bat 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 codewhale- and
codew- assets. The seven codewhale-tui- filenames
attached to v0.9.5 are byte-identical compatibility copies used only to let
already-installed v0.9.4 clients discover and cross this single-binary
transition; current installers do not expose a third runtime. 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.12Codewhale v0.9.12 puts computer use in the binary, opens two new routes — Alibaba Model Studio through the data-driven provider table and Concentrate as an opt-in BYOK Responses gateway — and adds cloud dispatch plus a config-gated per-session control socket. The shell is the other half of the release: a new launch card, the work surface docked under the composer, one focus owner for Tab, tool cells that carry their own state, andfleet as
the public word for the live collective. The complete item-level change
record is retained below the categorized release highlights.
Added
$CODEWHALE_HOME/builtin-plugins on first run, so every install channel
carries it. It lists as builtin · not-reviewed and stays disabled until
you review and enable it: shipping it is not consenting to it. The
stdlib-Python computer-use server it replaces is gone.
openai-compatible descriptor: international compatible-mode endpoint,
DASHSCOPE_API_KEY credential, live /v1/models discovery. Qwen 3.8
Flash and Qwen 3.8 Max arrive through the catalog authority — never a
hard-coded id.
per running session, exposing
message, interrupt, relaunch, and status JSON-RPC verbs (#5533, #5831).
Changed
notice_version replacing
consent_version). Every recorded opt-out stays off: a durable
telemetry = false, a decline recorded under the old opt-in notice,
unreadable privacy state, and the CODEWHALE_TELEMETRY=0 / `--telemetry
false` kill switches. Showing the disclosure records only that it was
shown, never an acceptance. codewhale config set telemetry false turns
it off and wipes queued counts; codewhale config set telemetry true
deliberately re-enables it. Nothing new is collected: no conversations,
code, prompts, files, names, model content, credentials, or IP.
⑂ branch path; a centred bordered card with the whale mark,
Codewhale + version, one announcement line only when it is true (the
no-model warning, or MCP news), and the menu New worktree / Resume
session / Changelog / Quit with their real chords right-aligned. Enter
runs the highlighted entry, Up/Down move it, and typing goes straight to
the composer. The card dissolves on the first keystroke or command
(≤240 ms, instant under reduced motion) (#5826, #5801, #5815, #5286).
⋮ MCP n/m on the right, the transcript starts with the
◆ session_start receipt (naming the configured session-start hooks),
and the composer's bottom rule carries model (effort) · permission —
the route's one launch reading. The posture bar and metrics line appear
only once a session exists.
/fleet canonical, /pod alias). The workflow wire accepts the
canonical role spellings (general/explore/planner/reviewer/implement/
test/advisor) with the pre-rename ones kept as load-time aliases, and
serializes canonical names.
unknown until it knows. The startup mark, web and
app icon carry the new side-view prompt-eye whale (#5795).
/changelog in every locale, and real
404s with correct metadata (#5743).
.playwright-mcp/ is now ignored (#5800).
/setup.
#[allow(dead_code)]
where the item is production-called or test-exercised. No runtime behavior
change (#5791, #5587).
/context names
the compaction path and /anchor survival. Failed compact still does not
replace live history (#4394).
GET /v1/models and a Codewhale-owned catalog
layer are the offering list. Command Code is a catalog/descriptor row, not
a ProviderKind. Catalog presence is not an availability, entitlement, or
provider-acceptance claim (#5783).
Added
/auth chatgpt-revoke clears them off the event loop (#5784, #5778).
⏱ N scheduled · M running, compact ⏱ N·M) with typed
HistoryCell::Automation receipts when a run this session watched settle.
/automation acknowledges failures. The merged footer does not carry the
work fact (#5748).
daemon/attach handshake, so a local client can attach to an already-running
engine instead of spawning its own. The socket is created with
owner-only permissions and stale sockets are reclaimed on start. Non-unix
hosts return a typed unsupported-platform refusal; the Windows named-pipe
endpoint is named but not yet implemented (#5749).
EventMsg now carry a compile-enforced twin for every variant: adding an
engine variant without a protocol counterpart fails the build instead of
drifting silently. Internal durability work — no user-visible surface
change yet (#5751).
crates/tui/src/compaction/SURVIVAL_CONTRACT.md) and
fails closed when the last user round, tool results, /anchor text, or
checkpoint receipt would vanish (#4394, #5782).
github, cnb, or gitee remote.
Confirmation is required; missing credentials fail closed; cloud jobs share
the existing /jobs surface as kind=cloud. See
DAYTONA_CLOUD_DISPATCH.md.
auth set-slot/auth clear-slot command, no hint, and no completion
entry for it — signing in with codewhale login is the only door.
NO_COLOR is now honored by palette depth detection.
resolve_runtime_options; codewhale providers export --json ships the
owned descriptor catalog; CLI --provider accepts any catalog route id
(the closed ProviderArg enum is deleted). Catalog layers are
bundled → models.dev → provider /v1/models → config.toml → user, with
policy DENY last and never overridden.
open.bigmodel.cn configurations now share Z.AI's official model
namespace and credential scope; unknown model IDs still pass through.
/search routes. Treat the exact
Moonshot China endpoint as a first-party direct route.
/model GLM-5.3-Flash). Flash is the faster/explore sibling
of GLM-5.3; the Z.ai default stays GLM-5.3. List price is $0.15/$0.50
per 1M (durable; the 50% promo through 2026-09-09 is not the catalog row).
[providers.), not new ProviderKind
variants. /provider fills URL, model, and env from one catalog row.
The X MCP server requires OAuth reauthentication. Run /mcp login X).
/mcp login, /mcp reload, /mcp validate, and /plugin validate commands
(#5643, #5655).
/plugin trust supabase). A live composer CTA offers the same review
command while you type, matching turns append a bounded
user block, and request_plugin_install surfaces
review without installing. /plugin suggest now ranks manifest keywords and
catalog candidates, never auto-installs, and on-disk plugin changes also
nudge /plugin reload between turns.
~/.claude/settings.json read-only and renders an explicit, reviewable
migration plan plus a written report. MCP servers route through the
existing /mcp import consent flow, allowlisted env keys
become an unapplied portable bundle for codewhale config import, and
permissions/hooks map to manual follow-ups; secret-shaped values are named
but never echoed or imported.
runtime_chat_relay module
instead of a second execution path. Each Chat thread is a dedicated,
isolated runtime thread with an empty model-visible tool allowlist, a
chat-only system prompt, and no workspace, memory, skill, credential, or
local-path context; the active interactive TUI thread is never reused. The
relay keeps one durable state file per scope behind a session-wide owner
lock, binds a saved session permanently to its first remote target, replays
exact duplicate commands from retained results instead of starting a second
inference turn, terminalizes orphaned reservations on restart, and rejects
(never queues into) a busy local Work turn with an immediate retryable
result. Stop commands require the exact run and turn identity, and a worker
aborts on any account or target mismatch during token refresh.
PKGBUILD template, .SRCINFO renderer and tests, release-candidate
render step, and docs; the live AUR compatibility alias `codewhale-tui ->
codewhale` is preserved, AUR dependencies match the live package, and the
self-updater refuses to fight an Omarchy/package-manager installation.
/cache
aggregates, plus an honest "no cache telemetry yet" state when nothing is
recorded.
TurnComplete (#5578), and the footer now honestly shows cost: unknown
when nothing can be priced instead of hiding the line.
wait on multiple background shell
tasks with until=any|all (#5549, named-kill half to follow), and composer
double-click word / triple-click line selection.
.tmp*
leftovers from interrupted atomic writes, tighten secret-store file
permissions to 0600, disable structurally broken (Error-status) MCP
entries through the atomic MCP save path, and scaffold missing user-global
skills/tools/plugins directories — shows it, and applies it only after
explicit consent. Every action is narrowly scoped and idempotent; JSON and
context-JSON modes stay read-only and conflict with --fix (#5552, v1).
Changed
in the current instead of a
generic working.
model.rs and termination.rs.
#[cfg(test)], keeping production builds free of test-only APIs without
changing runtime behavior.
/plugin list nudge once with Run /plugin reload to apply
instead of silently keeping the stale catalog (#5579). Trust is unchanged;
this does not auto-reload.
$CODEWHALE_HOME/sessions/) so multiple Codewhale processes on
one machine no longer share one owner lock (#5630). The exclusive lock is
unchanged; CODEWHALE_RUNTIME_DIR still selects a shared root when that is
intended.
TurnComplete totals still reconcile exactly once (#5581).
r opens raw detail; the existing Tasks rail shortcuts remain unchanged
(#5551).
journal, usage, and report modules plus a module directory (#5586
slices 1a/B/C/D), a semantic-free move verified by normalized-content hash.
Co-authored-by trailers; unknown bot/tool trailers are
still rejected by the credit gate.
Fixed
SessionUpdated
re-keyed the App, the completion commit cleared only the engine id's
checkpoint, and codewhale --continue later "recovered" the orphaned
checkpoint as a duplicate session instead of the real one. The engine now
adopts the host-owned id at spawn (EngineConfig::session_id) and /clear
mints the next id in the App like /new. A non-TTY --continue no longer
promotes and consumes the crash checkpoint before failing the terminal
check, and the root codewhale --resume / --session-id flags
documented in the operations runbook now parse instead of being swallowed
as a prompt.
app.codewhale.net with the query
intact; /login and /register are aliases. Local CLI use is not presented
as requiring an account (#5767).
/etc and /var are symlinks into /private,
so a read of /private/etc/sudoers walked around the /etc/sudoers rule,
and a rule written against a symlinked directory never fired for the real
path that canonicalize and the process cwd hand back.
shell_* id on the row. /jobs cancel all
cancels running shells; it no longer looks up a task named all. The
composer hourglass crumb no longer stands in for a shell surface.
login --api-key path no longer claims to save a key.
codewhale binaries were a new Keychain ACL principal every time, so
codewhale web and the TUI popped a password dialog on start. Sessions
now use ~/.codewhale/secrets/secrets.json (mode 0600), the same store
as provider keys. Extracted from the Keychain-retirement half of #5632.
ConfigToml on a
dedicated 16 MiB-stack thread (the guided-setup save path could overflow
a 2 MiB worker stack the same way the TUI's ConfigFile parse did), and
the #5585 setup-confirm toast test runs its runtime on an equally sized
thread instead of overflowing the default libtest stack.
/cost total
(#5597): interactive turns acquire an owner-scoped runtime usage lease,
late usage enters the session cost pool without reopening the sealed
mailbox, and worker/session/reload accounting share one hashed response
identity so retried deliveries stay exactly-once.
/workflow confirm finds the draft despite interleaved messages.
billed_842k_on_a_1m_window_compacts_despite_a_small_estimate
regression pins the trigger.
change:tool_surface
reasons for deferred-tool admission, tool-search activation, and runtime MCP
tool arrival — and a reasoning-only response stopped at the output limit now
fails the turn honestly instead of re-issuing a request that can only
reproduce the stop.
api.deepseeki.com as a China fallback (#5564), and the web facts/tool
counts match the repository.
m model-picker shortcut, while the coordinator row remains
read-only (#5604, covers #5589).
goal_continuation_message_if_needed,
remains cancellable, and pause/clear/terminal update_goal calls still
cancel a pending pass (#5534).
route_budget::tests::v4_trigger_uses_window_percent_when_it_fits_spendable_input
asserted no-override output-budget values while reading
CODEWHALE_MAX_OUTPUT_TOKENS / DEEPSEEK_MAX_OUTPUT_TOKENS without
holding lock_test_env(), so a concurrent writer could flip the value
mid-assertion (the order-dependent full-suite flake).
prompts::tests::system_prompt_prefix_never_leaks_private_content read the
real home via HOME/USERPROFILE, so a machine with
~/.codewhale/instructions.md leaked its absolute path into the prompt and
failed the no-private-paths assertion unless a sibling's temporary HOME
guard happened to be live. Both tests now hold the env barrier and pin the
variables (the route-budget test removes the overrides; the prompts test
points HOME/USERPROFILE at a scratch dir). Assertions unchanged.
Contributors
/copy for the latest completed response (#5692).
[reasoning_only] retry ceiling with a request-scoped nudge (#5867).
x-opencode-session header for OpenCode Go and Zen gateways (#5868).
docs/subagents and docs/mcp onto the dictionary spine (#5337), with the
metaTitle probe that keeps them there.
Reports and reproductions that shaped this release:
session/list and session/load (#5864).
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.
Developer:
Hunter Bown
Operating System:
Windows / macOS / Linux
Date Added:
2026-09-05T16:01:20.947Z
Categories:

Post a Comment/Report Broken Link: