tidev 0.1.0

A terminal-based AI coding agent
Documentation

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
  • 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

welcome chat stat models


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.


Run from Source

  1. Ensure the latest Rust stable toolchain is installed. https://rust-lang.org/
  2. Clone the repository and cd tidev.
  3. cargo install --path .
  4. Run tidev in 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.