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