touri-ai / touri
git clone https://github.com/touri-ai/touri.git
touri: open-source desktop app for AI agent bots (Codex, Claude, OpenCode) with isolated VMs, browser and computer use.
—
stars, 24h
+85
stars, 7 days · #617
+85
stars, 30 days · #2,703
85
★ total · +85% this week
12
forks · 27 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseApache-2.0
Created2026-10-15 (5d ago)
Last pushtoday
Watchers0
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/touri-ai/touri
- Homepage: https://touri.ai
- Releases · Issues · Hacker News mentions
README excerpt
# touri desktop
touri is a local-first desktop app for macOS, Linux and Windows for running persistent AI teammates ("bots") on your own
Codex, Claude Code or OpenCode CLI. Everything runs on your computer: your conversations, memory, routines
and secrets never leave the machine unless you explicitly configure a remote.
Built with Tauri v2 (Rust shell), a Bun sidecar and a React UI.
## Features
- Persistent bots with their own instructions, memory, skills and full branching chat history.
- Codex and Claude Code runtimes, with approval modes (`on-request`, `workspace-write`, `full`).
- Routines: cron-scheduled bot runs with overlap and catch-up control.
- Projects: connect a local repo, run supervised processes (databases, servers) and preview them in-app.
- Agent browser with human take-over, and opt-in computer use with a visible indicator and kill switch.
- MCP gateway with per-thread tokens and approval prompts.
- Bot machines: Apple `container` on macOS; rootless Podman or Docker containers on Linux.
- Importer for data exported by an earlier setup (see below).
- API models with your own key, model discovery and a connection test in Settings.
### Your own API key
Open **Settings → API models** (**Configurações → Modelos por API**), choose a provider, paste its API key,
and load the model list or enter a model ID. **Test connection** sends a short real message and may use a
small amount of provider credit. Save the model, then select it when creating a bot or in the bot settings.
Presets cover OpenRouter, DeepSeek, Z.ai/GLM, Moonshot/Kimi and Groq. A custom compatible API needs its
base URL, including its API version path. Use HTTPS; HTTP is accepted only for loopback servers.
Choose a chat model that supports tools. API models run through OpenCode with the same folder permissions,
tools and approval bridge, locally or in a bot's isolated machine; the cloud runtime does not support them.
If the executor is missing, the setup screen links to installation instructions and offers a recheck.
The selected provider bills usage directly. Keys use the existing system secret store, or the encrypted
secret store in headless Linux server mode. Only model metadata enters SQLite. Removing a saved model
deletes its key; bots using it ask you to choose another model instead of falling back to another account.
## Privacy
- Local-first: data lives in SQLite in the OS application data directory.
- No telemetry and no account required.
- Desktop credentials use macOS Keychain, Linux Secret Service or Windows Credential Manager, never the database, logs or exports.
- Optional cloud hosting is a separate, opt-in protocol (`docs/protocol/cloud-v1.md`).
## Platforms
- macOS (Apple Silicon): pre-release, macOS 14 or newer.
- Linux (x86_64/arm64): supported. Packages and desktop onboarding have been tested on x86_64;
the arm64 sidecar is cross-built, with native arm64 packaging/runtime validation still pending.
- Windows (x64): unsigned MSI and EXE installers; see th