A personal AI agent that learns a task once, then does it on its own.
You ask in plain words: "every morning, send me my agenda and the emails that matter". The first time, Pimpo does it with a language model while you watch, rehearsing every change before it touches anything. When it works, Pimpo compiles the task into a routine: readable JavaScript with tests and a list of the only things it may touch. From then on the routine runs on schedule without a language model. A small judgment model answers the few subjective questions ("is this email important?").
- Reliable. A routine is code with tests, not a prompt re-read every night.
- Cheap. Routines cost cents, not dollars. It works with the model subscriptions you already have: Claude Code, Codex, opencode, or local models.
- Safe by construction. Routines reach the world only through declared capabilities. Every action passes your rules and lands in a tamper-evident log, and anything irreversible waits for your approval.
- Yours. Runs on your computer, keeps your data there, exports everything to one file. No telemetry.
flowchart LR
A["You ask<br/>(chat, Telegram, voice…)"] --> B["Explore<br/>a model does it once,<br/>changes rehearsed"]
B --> C["Compile<br/>JavaScript + tests<br/>+ allowed capabilities"]
C --> D["Prove<br/>tests and a held-out<br/>scenario must pass"]
D --> E["Run on schedule,<br/>on a webhook or an event<br/>no model needed"]
E -->|"irreversible action"| F["Your approval"]
E -->|"breaks"| G["Repair<br/>with the model, re-proved"]
G --> E
-
Routines you ask for in plain words, or install from a gallery of signed, audited ones: morning briefings, email triage, bills, price watches, news summaries read aloud as a podcast, reminders, and anything you can describe.
-
Connections to email, calendars, Google Sheets, GitHub, Notion, Todoist, Home Assistant, Apple apps, Spotify, web search, RSS and more. Any MCP server, any REST API with an OpenAPI description, or a JSON file adds a new one without recompiling.
-
Everywhere you are:
Desktop macOS, Windows and Linux: menu bar, starts at login, system notifications Web the full app at http://127.0.0.1:7788, installable as a PWAPhone iOS and Android companion, paired by QR code, for approvals and receipts Chat Telegram, WhatsApp (official API), email, Slack, Discord, Signal, voice notes, or any bridge through the channel API -
Your choice of models: Claude Code, Codex and opencode through your own subscriptions; Anthropic, OpenAI, Google Gemini, OpenRouter, DeepSeek, Groq, Mistral, xAI or any OpenAI-compatible API; Ollama and LM Studio locally. Pimpo picks the model and thinking level per task, or you do, and it keeps what your subscription covers apart from what you pay.
-
Voice: listen to answers and routines with local voices (Kokoro, Piper) or cloud ones (OpenAI, ElevenLabs), and talk to it with local Whisper. Pimpo downloads local models itself, verified by checksum.
-
A whole house: people with roles, their own memory and accounts, approvals sent to whoever is responsible.
-
Community protection: a signed list of exfiltration domains and dangerous patterns, which also guards OpenClaw and Hermes through the Guard plugins.
-
Portable: export everything to one encrypted file, back up to S3 or Google Drive, import from OpenClaw or Hermes.
Desktop app. Download the installer for your system from the latest release: .dmg for macOS (Apple Silicon or Intel), .exe or .msi for Windows, and .deb, .rpm or .AppImage for Linux (x64 or arm64).
Command line and servers (Linux, macOS, Raspberry Pi):
curl -fsSL https://raw.githubusercontent.com/turbine-dev/pimpo/main/scripts/install.sh | shAdd --service to run it at boot with systemd. Docker, for a home server or a VPS:
docker run -d --name pimpo -p 127.0.0.1:7788:7788 -v pimpo:/data ghcr.io/turbine-dev/pimpoSee running on a server for Compose, Tailscale and connecting the apps. Then start it and open the address it prints:
pimpo serveTo look around first without connecting any account or spending on models:
pimpo serve --demoExploring and compiling routines uses a model: the simplest start is Claude Code signed in with your plan. Everything else runs on your computer.
| User guide | everything you can do, screen by screen |
| Configuration | commands, settings, models, channels, the data folder, network and backups |
| Routines | how routines are made, their format, triggers, tests, and writing one by hand |
| Connectors | adding services: JSON connectors, OpenAPI import, MCP servers and programs |
| Extending Pimpo | the channel, judge and Guard APIs, the gallery and the protection list |
| Threat model | what Pimpo promises, and against whom |
All of it is indexed in docs/.
git clone https://github.com/turbine-dev/pimpo.git && cd pimpo
make build
./bin/pimpo serve --demoRequires Go (the toolchain in go.mod downloads itself) and Node 24. make desktop builds the desktop app (it needs Rust and the Tauri prerequisites), and make check runs every check. See CONTRIBUTING.md.
Contributions are welcome, and the easiest way in needs no Go: a connector is often a single JSON file. Read CONTRIBUTING.md, the Code of Conduct and how the project is governed. For help, see SUPPORT.md.
Security issues are reported privately: see SECURITY.md.
Pimpo is young and moves fast. See what comes next, what changed, what is done and what waits, and how releases are supported.
Apache License 2.0. Free and open source, with no telemetry.