deepseek-terminal-cli
v1.3.0
Published
An interactive DeepSeek computer agent for your terminal. Type a task, the agent runs shell commands, reads/writes files, and gets real work done.
Maintainers
Readme
deepseek-terminal-cli
An interactive computer agent for your terminal, powered by DeepSeek.
Run deepseek-cli and you're dropped into a shell where you type tasks. The agent runs commands, reads and writes files, and iterates until the task is done — like Claude Code, but for DeepSeek.
npm install -g deepseek-terminal-cli
deepseek-cliDeepSeek Terminal CLI v1.2.0
cwd: /home/you/repo • model: deepseek-chat • /yes for auto-approve • /help for commands
> find every TODO in this repo and write them to TODOS.md
Searching the repo for TODOs.
⏺ run_shell(command="grep -rn TODO --include='*.js' .")
./src/index.js:42: // TODO: handle empty input
./src/auth.js:17: // TODO: rotate keys
Writing the consolidated list now.
⏺ write_file(path="TODOS.md", content="# TODOs\n\n- src/index.js:42 — handle empty input\n- src/auth.j…")
wrote 96 bytes to /home/you/repo/TODOS.md
✓ Wrote 2 TODOs from src/ into TODOS.md.
>Install
npm install -g deepseek-terminal-cliRequires Node.js 18+. After install, the deepseek-cli command is on your PATH.
How it works
deepseek-cli opens an interactive shell. You type a natural-language task; DeepSeek drives a tool-calling loop with full access to your computer:
run_shell— execute any shell command (PowerShell on Windows, your$SHELLor/bin/shon Mac/Linux).read_file— read a UTF-8 file.write_file— create or overwrite a file (creates parent dirs).append_file— append to a file.list_dir— list directory contents.finish— declare the task done.
By default each tool call is shown and you must approve it with y. Type /yes to auto-approve for the rest of the session, /no to re-enable confirmations.
Conversation history persists across turns: you can say "now make it async" and the agent remembers what "it" is.
Shell commands
| Command | Effect |
| --- | --- |
| /exit, /quit | Exit the shell |
| /reset | Clear conversation history |
| /yes | Auto-approve every tool call this session |
| /no | Re-enable per-tool confirmations |
| /cwd [path] | Show or change the working directory |
| /help | Shell commands |
Launch flags
| Flag | Effect |
| --- | --- |
| --yes, -y | Start with auto-approve enabled |
| --cwd <path> | Initial working directory |
| --max-steps <n> | Cap on agent steps per turn (default 25) |
Non-interactive utility commands:
deepseek-cli help # show help
deepseek-cli version # print versionAuthentication
The CLI ships with a built-in default DeepSeek API key, so it works out of the box. To use your own key, set DEEPSEEK_API_KEY — it overrides the default.
# macOS / Linux
export DEEPSEEK_API_KEY=sk-...
# Windows PowerShell
$env:DEEPSEEK_API_KEY = "sk-..."Get a key at platform.deepseek.com. Auth is Authorization: Bearer <key> against the OpenAI-compatible DeepSeek API.
Environment variables
| Variable | Purpose | Default |
| --- | --- | --- |
| DEEPSEEK_API_KEY | Override the built-in default API key | (built-in) |
| DEEPSEEK_BASE_URL | API base URL | https://api.deepseek.com |
| DEEPSEEK_MODEL | Default model | deepseek-chat |
Safety
- Without
/yes, the agent prompts before every shell command and every file write. - The agent uses your full user privileges. There is no sandbox.
- Treat
/yeslike running a script you didn't read. Don't aim it at production systems. - The CLI sends your task, tool output, and (when the agent reads files) file contents to the DeepSeek API.
License
MIT — see LICENSE.
