tidev
A terminal-based AI coding assistant built in Rust. Tidev reimplements the interaction model of OpenCode with a focus on performance and memory efficiency.
Disclaimer: This project is early in development. The database structure and UI may iterate quickly and produce incompatible changes. Run at your own risk.
Features
-
Multi-Provider LLM Support -- Anthropic (Claude), OpenAI Chat Completions, and OpenAI Responses. Configurable presets with fallback providers and models.
-
Specialized Sub-Agents -- Six agent roles for delegating tasks: General (default), Explorer (code search), Librarian (documentation), Oracle (architecture review), Designer (UI/UX), and Fixer (fast implementation). Each agent has a tailored system prompt and tool set.
-
Built-in Tool Set
- File operations:
read,write,edit,apply_patch - Code search:
list,glob,grep - Shell command execution with permission control
- Session management: task delegation, todo tracking, question prompts
- Web integration: search (Exa) and page fetching
- File operations:
-
Model Context Protocol (MCP) Support -- Connect to MCP servers via child process or streamable HTTP. MCP tools are automatically discovered and available with namespaced permissions (
mcp:<server>:<tool>). -
Git Snapshot & Revert -- Automatically track file changes in the workspace using git. View diff statistics and revert changes when needed.
-
Permission System -- Granular tool permissions per session mode (Read, Search, Write, Edit, Execute, Session).
-
Usage Statistics -- SQLite-based tracking of token consumption (input, output, cache) and request counts with time-bucket aggregation (hour, day, week, month).
-
API Balance Checking -- Query account balances for DeepSeek and SiliconFlow providers directly from the UI.
-
Session Persistence -- All conversations are stored in SQLite. Sessions, workspaces, messages, tool events, and reverts survive restarts.
Performance
Significantly lower memory usage and binary size compared to OpenCode:
| Page | OpenCode Memory | tidev Memory |
|---|---|---|
| Welcome page | ~470 MB | ~16 MB |
| Chat page (simple session) | ~580 MB | ~30 MB |
| Metric | OpenCode | tidev |
|---|---|---|
| Binary size | 121 MB | 14 MB |
Screenshots

Experimental: Gateway Mode
A gateway mode is under active development that runs tidev as a persistent server with bot integrations (like OpenClaw):
- Telegram -- Polling-based bot with file attachment support and user allowlist.
- QQ -- Bot integration using the QQ channel API with sandbox mode.
Both platforms can run simultaneously via a shared channel orchestrator. Gateway mode uses a dedicated system prompt and manages separate chat-to-session mappings.
Run with:
tidev gateway
Note: Gateway mode is experimental. Configuration, reliability, and feature coverage are still evolving.
How to Pronounce It?
I'd like to pronounce it as "tide-v", but "ti-dev" should also be fine.
Install from crates.io
cargo install tidev- Run
tidevin your working directory.
Install from Source
- Ensure the latest Rust stable toolchain is installed. https://rust-lang.org/
- Clone the repository and
cd tidev. cargo install --path .- Run
tidevin your working directory.
Configuration
- Config file:
~/.config/tidev/config.toml - Auth file:
~/.local/share/tidev/auth.json - Session database:
~/.local/share/tidev/sessions.sqlite3
Provider presets in the repository root (presets.toml) are merged with user configuration at runtime.