deepseekcode

Release Go Reference Go Report Card Go Version License: MIT

English · 简体中文

deepseekcode is a terminal coding agent for DeepSeek models and OpenAI-compatible chat-completions endpoints. It ships as a single Go binary named dsc, with an interactive TUI, one-shot CLI mode, repository tools, SQLite-backed sessions, and a conservative permission model.

Why dsc (DeepSeek specialization)

DeepSeek V4 Agent Story

DeepSeekCode is purpose-built for DeepSeek V4 models with verifiable advantages over generic coding agents:

Full story with local verification commands: docs/deepseek-v4-agent-story.md

Benchmark evidence: bench/README.md

Features

Installation

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/amemiya02/deepseekcode/main/install.sh | sh

Homebrew:

brew install amemiya02/deepseekcode/deepseekcode

Scoop:

scoop bucket add deepseekcode https://github.com/amemiya02/deepseekcode-scoop
scoop install deepseekcode

Go:

go install github.com/amemiya02/deepseekcode/cmd/dsc@latest

From source:

git clone https://github.com/amemiya02/deepseekcode
cd deepseekcode
make build
./bin/dsc -version

Requirements:

Quick Start

export DEEPSEEK_API_KEY=sk-...

dsc                              # open the TUI
dsc -p "summarize this repo"     # run one prompt and exit
dsc --read-only                  # inspect without write/edit/bash tools
dsc init                         # create starter project config
dsc doctor                       # check local setup

Session shortcuts:

dsc -c                 # continue the latest session in this project
dsc -r <session-id>    # resume a specific session
dsc -new               # force a new session

Configuration

Configuration is layered from built-in defaults, user config, project config, and CLI flags. Project config lives at ./.deepseek/config.toml; user config lives at ~/.deepseek/config.toml.

Minimal DeepSeek config:

[active]
provider = "deepseek"

[providers.deepseek]
type = "deepseek"
base_url = "https://api.deepseek.com"
env_var = "DEEPSEEK_API_KEY"
first_token_timeout_ms = 45000
chunk_stall_timeout_ms = 20000

[defaults]
model = "deepseek-v4-flash"
thinking = true

OpenAI-compatible endpoint:

[active]
provider = "openai"

[providers.openai]
type = "openai-compat"
base_url = "https://api.openai.com"
env_var = "OPENAI_API_KEY"
default_model = "gpt-4o"

See docs/config.md and docs/PROVIDERS.md for the full reference.

Documentation

Development

make build       # build ./bin/dsc
make test        # go test ./...
make test-race   # go test -race ./...
make lint        # go vet ./...
make fmt         # gofmt -s -w .
make run         # build and launch the TUI

Before opening a pull request:

make fmt
make lint
make test

Contributing

Issues and pull requests are welcome. Keep README changes synchronized between README.md and README.zh-CN.md with matching ## structure. Document only features that are implemented and testable in this repository.

License

MIT