█████╗ ██████╗ ██╗███████╗ █████╗ ██╔══██╗██╔══██╗██║██╔════╝██╔══██╗ ███████║██████╔╝██║███████╗███████║ ██╔══██║██╔══██╗██║╚════██║██╔══██║ ██║ ██║██║ ██║██║███████║██║ ██║ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝╚═╝ ╚═╝
personal assistant through Telegram·powered by Pi Agent
// the agent builds itself around the user, not the other way around
Arisa keeps exactly two things and nothing more: Telegram as the human interface and Pi Agent as the reasoning engine.
No pre-loaded opinions about what the agent should do or which tools it should have. It starts minimal and grows from real use.
- Telegram is the human interface
- Pi Agent is the reasoning engine
- everything is an artifact
- capabilities live in isolated CLI tools
- tools can be chained through pipes
Install globally, then run arisa. First launch guides you through Telegram setup, Pi provider/model selection, authentication, and validation.
ChatGPT subscription is enough: Arisa can authenticate through Pi's Codex OAuth flow, so you do not need a standard OpenAI API key when using supported providers.
Arisa separates pre-reasoning normalization from reasoned action. Voice can become text before reasoning; TTS, downloads, and other chains happen after the agent decides.
A fresh install ships with zero tools. The core is Telegram transport, the Pi Agent reasoning loop, the artifact store, and the tool registry.
- a request arrives that current tools cannot satisfy
- Arisa checks the official catalog for a matching tool
- low-footprint tools install immediately; heavier tools ask for confirmation
- if no catalog tool fits, Arisa builds the missing capability
- installed tools live in ~/.arisa/tools/ and are reused later
Arisa is not a feature list. It adapts to the work: it connects tools, keeps context, and lets each chat decide how much control to retain.
WebRTC without a game serversignaling-server coordinates peers and turn-server provides TURN relays when a direct connection is not enough. Useful for rooms, calls, data channels, and multiplayer games.
idea → design → HTTPSAsk for a landing page or internal tool: site-builder shapes the page and roster-sites publishes it with a domain and HTTPS.
group, lookup, or replywhatsapp-web keeps one session per chat. It can reply in a group, search the web to compare prices, or receive audio that passes through transcribe before Arisa replies.
research → draft → Gmailweb-browser finds a real reference. pr-campaign tracks the contact, creates the personalized outreach, and calls gmail-workspace to save it in Gmail Drafts. In review mode, it waits for approval; in automatic mode, it sends only within the campaign rules. stop-slop checks the tone.
authorized auditweb-pentest-auditor checks headers, CORS, public routes, bundles, and token storage without attacking or modifying the site. It is technical review a normal chat cannot run on its own.
audio and video enter contextAudio is transcribed; video goes through real-video-analyzer, which extracts scenes and visual evidence. The result returns as an artifact Arisa can interpret.
one tool prepares the nextTools do not live in isolation: URL → video → audio → transcript; research → reference → draft; message → WhatsApp reply. Arisa assembles the pipe it needs and reuses it.
The agent should not come preloaded with vices or assumptions. It starts minimal and grows through real use, shaped by the user instead of the framework.
The codebase was built with Pi Agent itself, running on Codex: a recursive loop where the agent can reason about and improve its own system.
- check whether an installed tool can solve the task
- if not, check the official catalog and install or propose the match
- if nothing fits, build the missing tool
- keep the solution inside the tool architecture