dave-code
v1.1.0
Published
A terminal-based AI coding assistant CLI similar to Claude Code
Readme
Dave Code
A terminal-based AI coding assistant CLI similar to Claude Code. Dave Code integrates directly with your local workspace, helping you inspect, write, search, and edit files, and answer software engineering questions using state-of-the-art LLMs.
Features
- ⚡ Interactive CLI REPL: Ask questions and run commands in your workspace with animated terminal visual elements.
- 🧭 Structured Activity Timeline: Model requests, tool calls, permissions, retries, and context compaction use one stable event-driven terminal renderer.
- 🔒 Explicit Coding Turns: Normal chat is read-only. Workspace changes are available only through a non-empty
/code ...request and every mutation is still confirmed. - 📋 Persistent Named Plans:
/plan name: requestcreates a detailed what-and-how implementation plan. Multiple plans are stored per workspace and shown in the status panel. - ✍️ Stream-Aware Answers: Anthropic, OpenAI-compatible, and Gemini endpoints use streaming transport with automatic fallback; text is committed after tool/final classification so tool prefaces cannot overlap the UI.
- 🛠️ Complete Workspace Tools: Read, search, focused exact edits, file creation, directory creation, move, delete, and workspace command execution, including recovery of DeepSeek DSML tool calls.
- 🔐 Confirmed Mutations: Edits, writes, moves, deletes, and commands show a preview and require approval before changing the workspace.
- 💾 Workspace-Aware Sessions: New sessions remember their workspace and active file. Older sessions without workspace metadata require one
/open <project-directory>before file tools can continue. - ⚙️ Effort Presets: Adjust AI's effort level from
/effort(choose betweenlow,medium,high,xhigh,max, andultracode) to control token consumption and task complexity. - 📖 Smart Incremental Reading (精读模式): For non-ultra modes, the assistant silently and delicately reads large files in precise range chunks (e.g. lines 40-100) instead of loading the entire file, saving context tokens and prevent terminal warning clutter.
- 🔄 Ultracode Digestion Workflow: In
ultracodemode, read and digest large files (>1000 lines) concurrently in chunks with live, animated progress indicators. - 🧠 Reasoning Privacy: Removes
<think>and reasoning blocks from the terminal and future conversation context. - 📊 Token Usage Statistics: Real-time prompt, completion, and total token usage tracked and printed after each request. Run
/statsor/tokensto see session totals. - 🌐 Proxy & Key Configuration: Interactively configure API keys, models, base URLs, and proxies via
/config,/model, or/api.
Installation
Install globally via npm:
npm install -g dave-codeGetting Started
Set up your LLM provider by running the configuration command:
calldave /configThis will open the configuration file in your default editor. Fill in your model name, API key, and base URL.
Start the assistant in your project working directory:
calldaveType
/helpto see list of available commands.
Streaming is enabled by default. Set DAVE_CODE_STREAM=0 to force compatibility mode for endpoints that do not support SSE. Set DAVE_CODE_DEBUG=1 to enable local request diagnostics; API credentials are redacted.
Dave uses native structured tools for OpenAI-compatible, Anthropic, and Gemini providers. For an older endpoint that only understands text tags, set "toolMode": "legacy" in that profile. Optional profile fields include provider, maxOutputTokens, and temperature.
Available Commands
/help- Show help instructions./stats//tokens- Display session and last request token usage statistics./effort- Interactively adjust AI thinking/reading effort level./plan <name>: <request>- Create a read-only implementation plan that explains both what to change and how to change it. Run/planwithout arguments to manage saved plans./code <request-or-plan-name>- Authorize one coding turn./code @<plan-name>selects a plan explicitly and/code --prompt <text>forces an ad-hoc request./model- Switch active LLM profile./api- Set or change the API key for the active profile./open <path>- Open a file or folder in your workspace./clear- Clear screen and reset REPL layout./reset- Clear conversation history and reset token counters./lang- Switch terminal interface between Chinese and English./exit- Exit the assistant.
Read-only chat and planning can list, read, and search workspace files. Sensitive files such as .env, private keys, certificates, and credential files always require explicit confirmation before their contents are sent to a model. Commands, writes, edits, directory creation, moves, and deletes are blocked outside /code.
License
ISC License.
