DeepSeekCode is a DeepSeek-first terminal code agent and local TUI/runtime
workbench. The project focuses on one practical loop: inspect a repository,
edit code, run checks, use the result as feedback, and continue.
The implementation is written in Rust and ships the deepseek command, with
dscode kept as a compatibility binary.
This repository is an active workbench, not a polished hosted product.
- The core local agent loop is usable: read/search files, apply patches, run permissioned shell commands, maintain sessions, and resume work.
- The TUI has moved beyond a demo shell: it has durable sessions/threads, transcript rendering, cursor-aware composer and command palette input, transcript scrollback, approvals, cancellation, runtime tasks, usage/cost panels, diagnostics, compaction, automations, and local rollback commands.
- The runtime contract is file-backed first, with an HTTP/SSE mode for local supervisors and TUI clients.
- Compared with
DeepSeek-TUI, the remaining gap is still material. The strongest parts are the agent core, regression tests, and runtime plumbing; the biggest missing pieces are product-level TUI polish, broader tool surfaces, and long-running workflow ergonomics.
- DeepSeek-first model configuration and API key handling
- Interactive REPL and one-shot task execution
- Workspace scanning, file read/search, patch application, diff review
- Permission-gated shell execution and approval flow
- Durable sessions, threads, turns, items, events, tasks, usage, and
automations under
.dscode/runtime/ deepseek tuiterminal workbench with Plan / Agent / YOLO modes- Background agent tasks and daemon runner
- HTTP runtime with health, session, thread, task, event, usage, diagnostics, automation, and SSE stream endpoints
- LSP-backed and fallback diagnostics runners
- Git rollback snapshots for TUI-started turns
- MCP inventory/tooling, subagents, todo tracking, hooks, prompts, skills, and language profiles
- Release packaging for Cargo, npm platform wrappers, Docker, Homebrew formula rendering, and GitHub Actions release assets
Install from a local checkout:
cargo install --path .
deepseek version
deepseek config init
deepseek doctor --json
deepseekRun a one-shot task:
deepseek run "explain the current repository structure"Start the TUI:
deepseek tui
deepseek tui --demo --onceStart the local HTTP runtime and connect the TUI to it:
deepseek serve --http --addr 127.0.0.1:13000
deepseek tui --runtime-url http://127.0.0.1:13000Set DEEPSEEK_API_KEY in your environment for real model calls. Local .env
files are intentionally ignored by git.
The main regression loop is:
cargo fmt --check
cargo test
cargo package --allow-dirty
deepseek tui --demo --onceFor npm wrapper metadata:
node npm/scripts/check-version-sync.js- Install
- Architecture
- Runtime contract
- TUI workbench
- REPL mode
- Streaming
- Agent tasks
- Todo tool
- PR / CI integration
- Release checklist
- Roadmap
- Changelog
This repository is public for transparency and collaboration. Public visibility does not imply a separate open-source grant beyond the terms in LICENSE.
Do not commit local credentials, API keys, runtime state, or private .env
files. The tracked examples use placeholders only.