Your desktop agent.
A local-first AI agent you run on your own computer, with any model, local or cloud.
What is Asyncat?
Asyncat is a desktop app for macOS, Windows and Linux. You connect a model, from a cloud provider or running on this computer, and it can do real work on your machine: read and edit files, write and run code, use a built-in browser, and control the screen when you let it.
It is local-first. Your chats, memories and settings stay on your computer, and every feature works with a local model, offline. The app is MIT licensed and its source is on GitHub.
What it can do
- Chats: one chat box for talking and agent work, with a model per chat, temporary chats, search and Quick ask.
- Projects and agents: shared instructions, knowledge files and folders for related chats, and your own agents with their own instructions, abilities and model.
- Cats: agents that work on their own, on a schedule or when something happens, and report back in your inbox.
- Connectors: tools from other apps, such as GitHub or Notion, for agents and Cats.
- Coding agents: hand a chat to Claude Code, Codex or an agent that speaks the Agent Client Protocol.
- Voice and images: listening, reading answers aloud, and making pictures, on this computer or with a service.
- Files: what agents made, and everything else Asyncat keeps, with sizes and clean-ups.
- Memory and skills: it remembers what matters from your chats, as far as you let it, and can offer to save what it worked out as a skill.
- Training (Labs): teach a small local model your style.
Plan, Action and Yolo
The mode under the message box sets how freely the agent acts:
| Mode | Behavior |
|---|---|
| Plan | Read-only tools only. Asyncat reads, searches and suggests, and changes nothing. |
| Action | The full agent loop. It can change files and run commands, and asks before risky tools. File edits show the diff before you decide. |
| Yolo | Action that approves every tool call itself. Use it only for work you trust it with. |
The Tools setting decides when a message runs the agent at all. Auto uses agent tools when a project is open or the model supports them. Always use tools runs the agent for every message. Just chat talks to the model directly, without tools. Where new chats start is set in Settings → General.
When the agent asks, you can approve once, trust the tool for the rest of the run, or always allow it. Settings → Privacy & safety lists every always-allowed tool, with a way to take it back.
Architecture
| Part | Role |
|---|---|
electron | The desktop shell: windows, tray, global shortcuts, Quick ask, notifications, the built-in browser and updates. It starts the backend and restarts it if it stops. |
den | The Node.js / Express backend: the agent runtime, tools, models, Cats, connectors and storage, with SQLite on disk. |
neko | The React / Vite interface you see. |
See Development for the source layout and setup instructions.
Privacy
- Everything stays on this computer, except what you send to an online model or service. Installed builds also check GitHub Releases for updates.
- On macOS and Linux, commands the agent runs go through the operating system's own sandbox: they can change files only in the project, and can't read your sign-ins, keys or browser profiles. Windows has no command sandbox yet, so commands there ask first unless they only read.
- API keys and sign-in tokens are stored encrypted, with the key in your system keychain, and are never passed to programs the agent starts.
- Temporary chats teach Asyncat nothing, and you can turn off learning from chats.
Read Privacy & safety for the sandbox, its network settings, exporting and deleting your data.