Local-first · MIT · Tauri 2

Local-first AI coding & desktop agent workbench

ReinAgent keeps conversations, tasks, code changes and model settings in one local store: a Tauri 2 (Rust) backend handles system access and persistence, a React 19 frontend drives the UI and the agent loop, and everything lands in a local SQLite WAL database. Model calls go only to providers you configure yourself.

Documentation language notice

The full documentation set is currently published in Chinese only, including the project architecture whitepaper rendered from the repository Markdown. An English translation of the guide pages is not available yet.

Highlights

CapabilitySummary
Local-firstAll history, task timelines, code snapshots and API keys stay on your machine (~/.ReinAgent/).
Notebooks & Knowledge BaseLocal pure-Markdown physical directory mapping (~/.ReinAgent/notebooks/), WYSIWYG editor powered by Milkdown, AI writing assistant drawer, and one-click chat note extraction.
Memory recall & DreamLong-term memories are recalled semantically each turn (similarity + importance + decay + frequency scoring, with hit write-back), and consolidated every 24h by a deterministic Dream pass — merge, decay and forget, preview-first, no model calls.
RAG semantic retrievalNotes and imported sessions are chunked and embedded automatically (any OpenAI-compatible embedding provider — Qwen3-Embedding and local Ollama verified). Toggle per-turn semantic injection from the composer, or let the model call search_knowledge; vectors live in a local SQLite store and the index is rebuildable at any time.
Portable single binaryNo Node.js, Python or Rust runtime required — unzip and run.
Approval & rewindFour approval modes (plan / ask / edit / full) plus per-round checkpoint rewind with SHA-256 conflict protection.
Real protocol supportChat Completions, Anthropic Messages, Responses and Google Generative AI, with fail-fast handshakes and no guessed metadata.
SubagentsThe main agent dispatches isolated subagents for parallel research and review without polluting its own context.
Per-task worktree isolationOpt-in per-task git worktree + branch: lazy creation on first message, one-click --no-ff merge back, auto-cleanup of merged worktrees (branches kept) — parallel tasks never stomp each other.
Tool-output compressionOversized tool results pass a deterministic pure-function pipeline (duplicate / near-duplicate log folding, base64/hex blob folding, head+tail keep) before any truncation — tail stack traces survive.
Remote accessLAN direct, Cloudflare Quick Tunnel, or a custom domain — monitor and approve from a phone.
Bidirectional MCPFull MCP Client to connect external tools, plus native built-in MCP Server (SSE + JSON-RPC) allowing external models (Claude Desktop, Cursor) to drive ReinAgent.

Read more in the Chinese documentation index, or see the source repository.