AI coding agent built in pure Rust. tidev reimplements the interaction model of OpenCode with a focus on performance and memory efficiency. It also introduced richer extended features.
tidev underwent a radical rewrite, with version v0.7.0 being the rewritten version. The rewrite removed most of the features I didn't need and included architectural restructuring and performance optimizations to the best of my ability. The
last-fulltag marks the last commit that contains a complete feature.
-
Beautifully designed TUI -- tidev features a meticulously designed TUI, with significant effort put into maintaining high performance and ease of interaction. For the best user experience, it is recommended to use Nerd Fonts and a modern terminal emulator (Ghostty, WezTerm, etc.).
- If you are using Windows Terminal, you will not have access to the multi-line paste feature; this is a known limitation of Windows Terminal.
- If you are using a terminal that does not support graphics protocols (such as Alacritty), tidev will not be able to display images. However, this will not affect other functions.
-
Multi-Provider LLM Support -- Anthropic (Claude), OpenAI Chat Completions, OpenAI Responses, Gemini, and the OpenAI Codex subscription provider. Codex uses OAuth PKCE/device-code login and never accepts an API key. Configurable presets with fallback providers and models.
-
Specialized Sub-Agents -- Four agent roles for delegating tasks: Explorer (code search), Librarian (documentation), Oracle (architecture review), and Fixer (fast implementation). Each agent has a tailored system prompt and tool set. Different subagents can be bound to different models. tidev allows you to temporarily disable the subagent to prevent model abuse.
-
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 more) and page fetching (Markdown, HTML and plain text)
- File operations:
For GPT-5 and GPT-6 series models, tidev will automatically enable the
apply_patchtool and disable thewrite/edittools to suit their tool calling style. The implementation ofapply_patchis precisely aligned with the open-source implementation in OpenAI Codex. For other models,write/editis used andapply_patchis disabled.
-
Model Context Protocol (MCP) Support: MCP was supported in versions v0.6 and earlier, but I've never tested it. The rewritten tidev has temporarily removed MCP support.
-
Git Snapshot & Revert -- Automatically track file changes in the workspace using git. View diff statistics and revert changes with
/undowhen needed. Git state is precisely tracked before and after tool calls, and it is usually able to correctly exclude external modifications not generated by tools. -
Permission System -- tidev requests user approval when the model attempts to read files outside the workspace or sensitive files (defined in .tidev/sensitive.txt). In Plan mode, tidev automatically intercepts the
write/edit/apply_patchtoolcalls and performs rule-based checks on commands executed by the shell tool, which can usually effectively filter out most write commands. -
Cross-platform support -- Primarily, compatibility with Windows. tidev has meticulously refined all path-related features to ensure full Windows compatibility. tidev also supports using Git Bash on Windows to fully leverage the model's command capabilities (given their typically greater familiarity with Unix commands).
-
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.
-
Agent Skills -- tidev includes several built-in skills and allows you to create your own.
-
Cost-friendly -- tidev was designed with the goal of maximizing the use of context caching.
Statistics for a real session using a DeepSeek V4 Flash model:
- Context 415K
- Total Tokens 117.6M
- Cached Tokens 117.4M, average cache hit rate 99.8%
- Non-cached Inputs 236K
- Outputs 215.2K
Session history can be inspected directly from the CLI without starting the TUI or creating an intermediate export:
# List root and child sessions
tidev session list
# Search sessions by title or UUID
tidev session list --query "keyword"
# Show a complete session
tidev session show <SESSION_UUID>
# Show one message from a session
tidev session show <SESSION_UUID> --message-id <MESSAGE_UUID>
# Get the complete inspection record as JSON
tidev session show <SESSION_UUID> --format jsonSession export uses one command with an explicit format. SQLite remains the default and importable format:
tidev export --session <SESSION_UUID> --output ./tidev-export.db
tidev export --format jsonl --session <SESSION_UUID> --output ./tidev-export.jsonlTest results on macOS 27:
| Page | OpenCode 1.18.4 Memory | tidev v0.7.0 Memory |
|---|---|---|
| Welcome page | ~510 MB | 7.1 MB |
| simple session | ~580 MB | ~30 MB |
| complex session | >1GB | ~60 MB |
| Metric | OpenCode 1.18.4 | tidev 0.7.0 |
|---|---|---|
| Binary size | 132 MB | 13 MB |
It should be noted that OpenCode has a built-in web client, but tidev does not.
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.
git clone https://github.com/Eslzzyl/tidev.git
cd tidev
cargo install --path . --lockedNote: 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.

