The AI agent that runs on your machine.

217 tools. 51 skills. Self-improving. Desktop automation. Fully offline.

asyncat is a native desktop application powered by Electron. Unlike minimalist frameworks that give the model three tools and pray, asyncat dumps a context-heavy toolbox of 217 tools directly into the context window and expects the LLM to figure it out.

217
tools
51
skills
20+
providers
3
agent modes
7
integrations
0
cloud needed
git clone https://github.com/asyncat-oss/asyncat-oss.git
cd asyncat-oss && npm install
npm run electron:dev

What makes asyncat different

Desktop automation

Controls your actual screen.

Click buttons, read text from screenshots, type into any window, focus applications. asyncat is the only open-source AI agent with real desktop automation — not just a chatbot.

Self-improving

Learns your workflows automatically.

The Basal Ganglia engine tracks repeated tool sequences across sessions. After 3 successful uses, it auto-generates a new skill — no annotation required. The agent gets better the more you use it.

Sandboxed execution

Run risky operations safely.

Sandboxes create isolated directory copies, execute inside them, diff changes as a unified patch, and let you promote only what you want. Experiments stay isolated until you say commit.

Any model

20+ providers. Fully offline capable.

Works with OpenAI, Anthropic, Gemini, Ollama, llama.cpp, LM Studio, OpenRouter, and 13+ more. Auto-detects your GPU (CUDA, Metal, ROCm) and recommends the right runtime. No cloud required.

More than a chat box

Workflows

Chain steps into automations.

Sequence agent steps into a saved workflow — each step hands its output to the next. Run it on demand or on a cron schedule, under any agent profile. The agent can trigger workflows on its own, too.

Command bar

⌘K to jump anywhere.

One keystroke opens a palette to jump to any page, run a workflow, or search across your memory, notes and chats — without leaving what you are doing.

Built-in browser

A browser the agent shares.

A real tabbed browser inside the app. Hand the agent the page you are reading with one click, or let it navigate, click and fill on its own.

Semantic memory

Recall by meaning.

Memory and local search match on meaning, not just keywords. Uses your provider embeddings when available and falls back to a fully offline index — no cloud required.

217 tools.

Every operation an agent might need, built-in.

Full reference →
File Operations 15

read · write · edit · patch · diff · watch

Shell & Processes 10

bash · python · node · spawn · kill · ps

Git 10

clone · commit · push · branch · log · diff

Browser & Web 13

browse · click · fill · screenshot · search

Code Analysis 12

AST · LSP · definitions · refs · metrics

Memory & RAG 11

save · recall · semantic search · forget

Scheduler 8

create · list · run · history · delete jobs

Workflows 2

list · run · multi-step · scheduled chains

Artifacts 10

markdown · HTML · diagram · CSV · PDF

Docker 4

build · run · stop · ps containers

Sandboxes 11

create · exec · diff · patch · commit

Database 8

SQL query · schema · write · CSV · JSON

AI & Vision 5

describe · generate · edit images · OCR

Notes & Tasks 12

notes · tasks · subtasks · kanban cards

System & Network 9

sysinfo · ports · disk · network · notify

Audio 2

speech-to-text · text-to-speech

Integrations 8

mail · RSS · API mapping · webhooks

Three operating modes

chat

Chat

Conversational responses, fewer tool nudges, quick convergence. Good for research and Q&A.

plan

Plan

Generates a structured plan without executing. Safe inspection — no mutations, no writes.

action

Action

Full ReAct execution loop. Runs tools, edits files, executes code. Up to 25 agent rounds.

basal-ganglia

Gets smarter
every session.

asyncat watches which tools you run, and in what order. When the same sequence succeeds three times inside a 72-hour window it stops watching and starts acting — synthesizing a new skill from the pattern and deploying it immediately.

Failures get encoded too. Corrections you make mid-run go into corrective memory, quietly shaping what the agent will avoid next time. No config, no labelling — just use it.

agent.log
session #41 · read_file → edit_file → run_tests · ok
session #44 · read_file → edit_file → run_tests · ok
session #47 · read_file → edit_file → run_tests · ok
[basal-ganglia] pattern matched — 3 of 3 within 72h
[basal-ganglia] synthesizing skill from sequence…
✓ skill created · test-driven-edit
weight 0.8 · region cortex · origin basal-ganglia
[basal-ganglia] skill active in next run

51 bundled skills.

Plus unlimited auto-generated skills from Basal Ganglia.

All skills →
Planning
planonboarding-new-codebase
Workflow
architecture-reviewcode-reviewdebuggingerror-recoveryrefactoring
Development
agentic-codingreact-patternsnextjsdockerci-cd-pipeline
Execution
deploymentdatabase-migrationstestingtddcron-jobs
Analysis
codebase-metricsdata-engineeringlog-analysisperformancefinancial-analysis
Documentation
documentationemail-draftingreport-writingmarketing-content
Specialized
api-designsecurityincident-responseaccessibility-auditsql-queries
Auto-learned ↻
dependency-audittest-runnerlocal-ragapi-endpoint-explorer+ more…

Any model. Local or cloud.

Local engines
llama.cpp Native C++ inference — CPU, CUDA, Metal, ROCm
Ollama Pull and run GGUF/GGML models locally
MLX Apple Silicon optimized inference
LM Studio Any LM Studio server (OpenAI-compatible)
Hardware auto-detection: CUDA · Metal · ROCm · CPU
asyncat detects your GPU and recommends the right runtime automatically.
Cloud providers (20+)
OpenAI
Anthropic
Google Gemini
OpenRouter
DeepSeek
Groq
Together AI
Mistral
Perplexity
Cohere
Fireworks
Cerebras
DeepInfra
NVIDIA NIM
Hugging Face
Azure OpenAI
Amazon Bedrock
Any OpenAI-compatible endpoint

First-class integrations

GitHub
Read issues, PRs, commits via OAuth
Google Calendar
Read/write events, OAuth flow
Outlook
Calendar sync via OAuth
Obsidian
Bidirectional vault sync
Email
SMTP send · IMAP receive
RSS
Subscribe to feeds, fetch items
Notifications
Email · Discord channels
REST APIs
map_api_endpoints from any codebase

Architecture

den — Backend
Express.js API on port 8716. Handles REST, WebSockets, auth, SQLite, AI communication. Agent runtime lives here.
· AgentRuntime (ReAct loop)
· AgentSession (audit trail)
· BasalGanglia (self-learn)
· Permission system
· Compaction engine
neko — Frontend
React + Vite on port 8717. Chat interface, tool timeline, settings, workspace tools.
· Command Center (chat)
· Agent Run Feed (timeline)
· Scheduler UI
· Tools & Skills browser
· Agent Health dashboard
electron — Desktop
Electron desktop container. Spawns the den backend automatically, boots the app window, manages the system tray icon, and listens for global keyboard shortcuts.
· Summon with Cmd+Shift+A
· Menu bar system tray icon
· Native desktop notifications
· Automated backend lifecycle
· Auto-update checker

Get started in minutes.

Run natively from source or check out the pre-built installers.

git clone https://github.com/asyncat-oss/asyncat-oss.git
cd asyncat-oss && npm install
npm run electron:dev
Node.js 20.19+ required · asyncat-oss/asyncat-oss · MIT