doku is a provider-neutral terminal AI coding assistant powered by the OpenAI Agents JS runtime. It supports OpenAI, DeepSeek, custom OpenAI-compatible endpoints, Agent Skills, and MCP integration.
npm install -g doku-deepseek-cli
doku- One agent runtime — OpenAI Agents JS owns model turns, streaming, tools, cancellation, and turn limits
- Provider-neutral — native OpenAI Responses support, DeepSeek reasoning through an isolated AI SDK adapter, and custom compatible endpoints
- Agent Skills — extend the assistant with custom skill files at user or project level
- MCP support — connect GitHub, browsers, databases, and more via Model Context Protocol
- Undo / checkpoints — restore code and conversation to any previous state
- OpenAI-compatible — works with any OpenAI-compatible API endpoint
npm install -g doku-deepseek-cliThen run in any project directory:
dokuCreate ~/.doku/settings.json (the first-run setup can create this for you):
{
"settingsVersion": 2,
"provider": "openai",
"model": "gpt-5.6-sol",
"apiMode": "auto",
"env": { "API_KEY": "sk-..." }
}DeepSeek remains supported through its provider adapter:
{
"settingsVersion": 2,
"provider": "deepseek",
"model": "deepseek-v4-pro",
"thinkingEnabled": true,
"reasoningEffort": "max",
"env": { "API_KEY": "sk-..." }
}For project-level settings, create ./.doku/settings.json in your project root.
You can also use environment variables — any DOKU_* env var maps to the corresponding setting:
DOKU_PROVIDER=openai DOKU_API_KEY=sk-... DOKU_MODEL=gpt-5.6-sol doku| Command | Action |
|---|---|
/ |
Open skills / commands menu |
/new |
Start a fresh conversation |
/resume |
Pick a previous conversation to continue |
/continue |
Continue the active conversation |
/model |
Switch model, thinking mode, and reasoning effort |
/skills |
List available skills |
/mcp |
Show MCP server status and tools |
/undo |
Restore code and/or conversation to a previous state |
/raw |
Toggle display mode (Normal / Lite / Raw) |
/exit |
Quit |
| Key | Action |
|---|---|
Enter |
Send message |
Shift+Enter |
Insert newline |
Ctrl+V |
Paste image from clipboard |
Esc |
Interrupt current model turn |
@ |
Mention a file |
/ |
Open commands menu |
Ctrl+D twice |
Quit |
| Provider | API mode | Model IDs |
|---|---|---|
| OpenAI | Responses by default; Chat Completions optional | Any OpenAI model ID |
| DeepSeek | Chat Completions through the isolated AI SDK bridge | Any DeepSeek model ID |
| OpenAI-compatible | Chat Completions by default; Responses opt-in | Any endpoint-supported model ID |
doku supports skills — markdown files that extend the assistant's capabilities.
User-level skills (apply to all projects):
~/.agents/skills/<skill-name>/SKILL.md
Project-level skills (apply to current project):
./.agents/skills/<skill-name>/SKILL.md
Connect external tools via Model Context Protocol. Add to ~/.doku/settings.json:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "..." }
}
}
}Then use /mcp inside doku to view connected servers and available tools.
# Clone
git clone https://github.com/muddlebee/deepseek-cli.git
cd deepseek-cli
# Install dependencies
npm install
# Run directly (no build step)
npm run dev
# Build
npm run bundle
# Type check + lint + format
npm run check
# Tests
npm testPRs welcome. Please ensure npm run check passes before submitting.
MIT © muddlebee