tidev is my personal project, I will adjust its functions according to my actual needs. Over the past two months I've added a lot of features that I don't use, making tidev bloated and difficult to use. I've aggressively removed several large features from tidev and plan to do a complete rewrite of tidev. The
last-fulltag marks the last commit that contains a complete feature.
AI coding agent built in Rust. tidev reimplements the interaction model of OpenCode with a focus on performance and memory efficiency. It also introduced richer extended features.
Disclaimer: This project is early in development. The database structure and UI may iterate quickly and produce incompatible changes. Some features may be unavailable yet or contain bugs. Run at your own risk.
-
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 (Experimental) -- 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. Large database columns are compressed using zstd at the application layer to ensure a stable increase in database file size.
| Page | OpenCode Memory | tidev Memory |
|---|---|---|
| Welcome page | ~470 MB | ~17 MB |
| simple session | ~580 MB | ~32 MB |
| complex session | >1GB | ~200 MB |
| Metric | OpenCode | tidev |
|---|---|---|
| Binary size | 121 MB | 26 MB |
A gateway mode is under active development that runs tidev as a persistent server with bot integrations (like OpenClaw). Currently supported platforms include Telegram, QQ, Lark, and Discord. Both platforms can run simultaneously via a shared channel orchestrator.
Run with:
tidev gateway
Note: Gateway mode is experimental. Configuration, reliability, and feature coverage are still evolving.
tidev also supports WebUI. Currently, WebUI is an experimental feature and may not be stable.
Run with:
tidev web
I'd like to pronounce it as "tide-v", but "ti-dev" should also be fine.
npm install -g tidevbrew tap eslzzyl/tap
brew install tidevDownload the pre-built binary for your platform from the latest release.
Requires Rust stable toolchain, pnpm, and Node.js.
git clone https://github.com/Eslzzyl/tidev.git
cd tidev
cd web && pnpm install && pnpm build && cd ..
cargo install --path .Note: The
tidevcrate is no longer published on crates.io. Use the methods above instead.
# Bump to a new version (updates Cargo.toml, Cargo.lock, and npm/package.json)
./scripts/bump-version.sh 0.6.0
# Push the tag to trigger CI release
git push origin master --tags- 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.

