Vcode
A DeepSeek-native AI coding agent for your terminal.
A config- and plugin-driven harness — a single static Go binary, tuned around DeepSeek's prefix cache so token costs stay low across long sessions.
- Config-driven. Providers, the agent, enabled tools, and plugins are all declared in
Vcode.toml. No hardcoded models. - Multi-model & composable. DeepSeek ships as a preset; any OpenAI-compatible endpoint is a config entry, not new code. Optionally run two models together (executor + planner) in separate, cache-stable sessions.
- Plugin-driven. External tools run as subprocesses over stdio JSON-RPC (MCP-compatible). Built-in tools self-register at compile time.
- Cache-aware context maintenance. Startup injects a small stable environment summary, stale tool output is snipped/pruned before summary compaction, and the built-in tool schema contract is documented for regression review.
- Zero-friction distribution.
CGO_ENABLED=0single binary; cross-compile to six targets with one command. The only dependency is a TOML parser.
npm i -g Vcode # any OS; pulls the prebuilt native binary
brew install esengine/Vcode/Vcode # macOSPrebuilt archives (darwin|linux|windows × amd64|arm64) and SHA256SUMS are on every GitHub release.
Windows builds are code-signed with a free certificate provided by the SignPath Foundation, with signing through SignPath.io.
make build # -> bin/Vcode(.exe)
make cross # -> dist/ (darwin|linux|windows × amd64|arm64)Vcode setup # config wizard → ./Vcode.toml
export DEEPSEEK_API_KEY=sk-... # or let setup save it to Vcode home .env
Vcode # then run /init to generate AGENTS.md (project memory)
Vcode run "implement the TODOs in main.go"
Vcode run --model deepseek-pro "add unit tests for this function"
echo "explain this code" | Vcode runA minimal Vcode.toml — one provider and a default model — is enough to start:
default_model = "deepseek-flash"
[[providers]]
name = "deepseek-flash"
kind = "openai"
base_url = "https://api.deepseek.com"
model = "deepseek-v4-flash"
api_key_env = "DEEPSEEK_API_KEY"Resolution order is flag > ./Vcode.toml > the user config file > built-in defaults; starting with Vcode v1.8.1, the user file lives at ~/.Vcode/config.toml on macOS/Linux and %AppData%\Vcode\config.toml on Windows. See Configuration paths for migration details and the full config.toml / .env structure. Provider entries name secrets with api_key_env; the secret values themselves live in Vcode's global <Vcode home>/.env, shared by CLI and desktop. Permissions, the sandbox, plugins (MCP), slash commands, @ references, and two-model setup are all in the Guide.
- Guide — configuration, permissions & sandbox, plugins (MCP), slash commands,
@references, two-model collaboration. - Bot guide — connect Feishu, Lark, and WeChat bots from the desktop app, then use approvals, YOLO, and commands from IM.
- Spec — engineering contract: architecture, registries, data types, and roadmap.
- Tool contract — provider-visible built-in tool names, read-only flags, and schema snapshot guard.
- Checkpoints & rewind — the snapshot-based edit safety net (Esc-Esc /
/rewind).
This fork is based on the upstream project esengine/Vcode with the following modifications:
- All sandbox and permission restrictions removed — the agent can execute commands freely without being blocked by OS-level sandboxing, permission gates, or guardian review. This enables more thorough and efficient task execution.
- Upgraded and optimized on top of the original codebase for a smoother, more convenient user experience.
MIT — see LICENSE