Your AI agent. Modular. Secure. Everywhere.
Self-hosted, multi-agent AI platform. Web dashboard + Discord, Slack, WhatsApp, Telegram, and more.
No subscription. No cloud lock-in. Just you and your Paw.
🚧 Beta: This project is under active development. Expect breaking changes between versions.
pocekt-paw-intro.mp4
curl -fsSL https://pocketpaw.xyz/install.sh | shOr install directly:
pip install pocketpaw && pocketpawThat's it. One command. 30 seconds. Your own AI agent.
I'm your self-hosted, cross-platform personal AI agent. The web dashboard opens automatically. Talk to me right in your browser, or connect me to Discord, Slack, WhatsApp, or Telegram and control me from anywhere. I run on your machine, respect your privacy, and I'm always here.
No subscription. No cloud lock-in. Just you and me.
More install options
# Isolated install
pipx install pocketpaw && pocketpaw
# Run without installing
uvx pocketpaw
# From source
git clone https://github.com/pocketpaw/pocketpaw.git
cd pocketpaw
uv run pocketpawPocketPaw will open the web dashboard in your browser and be ready to go. No config files. No YAML. No dependency hell.
Talk to your agent from anywhere: Telegram · Discord · Slack · WhatsApp · Web Dashboard
Run PocketPaw in a container — great for servers, VPS, or always-on setups.
# Clone the repo
git clone https://github.com/pocketpaw/pocketpaw.git
cd pocketpaw
# Copy and fill in your env vars
cp .env.example .env
# Start the dashboard
docker compose up -dDashboard is at http://localhost:8888. Log in with the access token:
docker exec pocketpaw cat /home/pocketpaw/.pocketpaw/access_tokenOptional services (Ollama, Qdrant)
# With Ollama for local LLM inference
docker compose --profile ollama up -d
# With Qdrant for mem0 vector memory
docker compose --profile qdrant up -d
# Both
docker compose --profile ollama --profile qdrant up -dWhen using Ollama inside Docker, set POCKETPAW_OLLAMA_HOST=http://ollama:11434 in your .env so PocketPaw reaches the Ollama container by service name.
Data persists in a named Docker volume across restarts. See .env.example for all available configuration options.
| Feature | Description |
|---|---|
| Web Dashboard | Browser-based control panel, the default mode. No setup needed. |
| Multi-Channel | Discord, Slack, WhatsApp (Personal + Business), Signal, Matrix, Teams, Google Chat, Telegram |
| Claude Agent SDK | Default backend. Official Claude SDK with built-in tools (Bash, Read, Write). |
| Smart Model Router | Auto-selects Haiku / Sonnet / Opus based on task complexity |
| Tool Policy | Allow/deny control over which tools the agent can use |
| Plan Mode | Require approval before the agent runs shell commands or edits files |
| Browser Control | Browse the web, fill forms, click buttons via accessibility tree |
| Gmail Integration | Search, read, and send emails via OAuth (no app passwords) |
| Calendar Integration | List events, create meetings, meeting prep briefings |
| Google Drive & Docs | List, download, upload, share files; read and create documents |
| Web Search & Research | Tavily/Brave search + multi-step research with source synthesis |
| Image Generation | Google Gemini image generation, saved locally |
| Voice / TTS / STT | Text-to-speech via OpenAI or ElevenLabs, speech-to-text via Whisper |
| Spotify | Search tracks, playback control, playlist management |
| Search posts, read threads, browse trending topics | |
| OCR | Extract text from images via GPT-4o vision or pytesseract |
| Memory & Compaction | Long-term facts + session history with smart compaction + Mem0 semantic search |
| MCP Support | Connect Model Context Protocol servers (stdio + HTTP) |
| Cron Scheduler | Recurring reminders with natural language time parsing |
| Security Suite | Injection scanner, audit CLI, Guardian AI, self-audit daemon |
| Local-First | Runs on YOUR machine. Your data never leaves your computer. |
| Cross-Platform | macOS, Windows, Linux |
| Skill System | Create reusable agent skills at runtime |
| Task Delegation | Delegate complex sub-tasks to Claude Code CLI |
You: "Every Sunday evening, remind me which recycling bins to put out"
Paw: *creates a recurring schedule*
Paw: "Done. I'll check the recycling calendar and message you every Sunday at 6pm."
You: "Organize my Downloads folder. PDFs by date, images by type, delete duplicates"
Paw: *scans filesystem, moves 47 files, removes 12 duplicates*
Paw: "All clean. Here's what I did: [summary]"
You: *drops a link*
Paw: *opens browser, reads the page, researches related topics*
Paw: "Here's a summary with 3 key takeaways. Want me to save this to memory?"
You: "Find that memory leak, the app crashes after 2 hours"
Paw: *reads logs, profiles code, identifies the issue*
Paw: "Found it. The WebSocket handler never closes connections. Here's the fix."
You: "I need a competitor analysis report for our product launch"
Paw: *spins up Agent A: web researcher, Agent B: data analyst, Agent C: writer*
Paw: "3 agents working on it. Agent A is scraping competitor sites,
Agent B is analyzing pricing data, Agent C is waiting to write the report.
I'll ping you when it's ready."
The browser-based dashboard is the default mode. Run pocketpaw and it opens at http://localhost:8888.
What you get:
- Real-time streaming chat via WebSocket
- Session management: create, switch, search, and resume conversations
- Activity panel showing tool calls, thinking, and system events
- Settings panel for LLM, backend, and tool policy configuration
- Channel management: configure, start, and stop adapters from the sidebar
- MCP server management: add, configure, and monitor MCP servers
- Plan Mode approval modal for reviewing tool calls before execution
All configured channel adapters auto-start on launch. Use the sidebar "Channels" button to:
- Configure tokens and credentials per channel
- Start/stop adapters dynamically
- See running status at a glance
Headless mode is also available for running without the dashboard:
pocketpaw --discord # Discord only
pocketpaw --slack # Slack only
pocketpaw --whatsapp # WhatsApp only
pocketpaw --discord --slack # Multiple channels
pocketpaw --telegram # Legacy Telegram modeSee Channel Adapters documentation for full setup guides.
Uses your existing Chrome if you have it. No extra downloads. If you don't have Chrome, a small browser is downloaded automatically on first use.
- Claude Agent SDK (Default, Recommended). Anthropic's official SDK with built-in tools (Bash, Read, Write, Edit, Glob, Grep, WebSearch). Supports
PreToolUsehooks for dangerous command blocking. - PocketPaw Native. Custom orchestrator: Anthropic SDK for reasoning + Open Interpreter for code execution.
- Open Interpreter. Standalone, supports Ollama, OpenAI, or Anthropic. Good for fully local setups with Ollama.
Switch anytime in settings or config.
Stores memories as readable markdown in ~/.pocketpaw/memory/:
MEMORY.md: Long-term facts about yousessions/: Conversation history with smart compaction
Long conversations are automatically compacted to stay within budget:
- Recent messages kept verbatim (configurable window)
- Older messages compressed to one-liner extracts (Tier 1) or LLM summaries (Tier 2, opt-in)
PocketPaw creates identity files at ~/.pocketpaw/identity/ including USER.md, a profile loaded into every conversation so the agent knows your preferences.
For smarter memory with vector search and automatic fact extraction:
pip install pocketpaw[memory]See Memory documentation for details.
Config lives in ~/.pocketpaw/config.json. API keys and tokens are automatically encrypted in secrets.enc, never stored as plain text.
{
"agent_backend": "claude_agent_sdk",
"anthropic_api_key": "sk-ant-...",
"anthropic_model": "claude-sonnet-4-5-20250929",
"tool_profile": "full",
"memory_backend": "file",
"smart_routing_enabled": false,
"plan_mode": false,
"injection_scan_enabled": true,
"self_audit_enabled": true,
"web_search_provider": "tavily",
"tts_provider": "openai"
}Or use environment variables (all prefixed with POCKETPAW_):
# Core
export POCKETPAW_ANTHROPIC_API_KEY="sk-ant-..."
export POCKETPAW_AGENT_BACKEND="claude_agent_sdk"
# Channels
export POCKETPAW_DISCORD_BOT_TOKEN="..."
export POCKETPAW_SLACK_BOT_TOKEN="xoxb-..."
export POCKETPAW_SLACK_APP_TOKEN="xapp-..."
# Integrations
export POCKETPAW_GOOGLE_OAUTH_CLIENT_ID="..."
export POCKETPAW_GOOGLE_OAUTH_CLIENT_SECRET="..."
export POCKETPAW_TAVILY_API_KEY="..."
export POCKETPAW_GOOGLE_API_KEY="..."See the full configuration reference for all available settings.
- Guardian AI. A secondary LLM reviews every shell command before execution and decides if it's safe.
- Injection Scanner. Two-tier detection (regex heuristics + optional LLM deep scan) blocks prompt injection attacks.
- Tool Policy. Restrict agent tool access with profiles (
minimal,coding,full) and allow/deny lists. - Plan Mode. Require human approval before executing shell commands or file edits.
- Security Audit CLI. Run
pocketpaw --security-auditto check 7 aspects (config permissions, API key exposure, audit log, etc.). - Self-Audit Daemon. Daily automated health checks (12 checks) with JSON reports at
~/.pocketpaw/audit_reports/. - Audit Logging. Append-only log at
~/.pocketpaw/audit.jsonl. - Single User Lock. Only authorized users can control the agent.
- File Jail. Operations restricted to allowed directories.
- Local LLM Option. Use Ollama and nothing phones home.
See Security documentation for details.
# Clone
git clone https://github.com/pocketpaw/pocketpaw.git
cd pocketpaw
# Install with dev dependencies
uv sync --dev
# Run tests
uv run pytest
# Lint
uv run ruff check .
# Format
uv run ruff format .pip install pocketpaw[discord] # Discord support
pip install pocketpaw[slack] # Slack support
pip install pocketpaw[whatsapp-personal] # WhatsApp Personal (QR scan)
pip install pocketpaw[image] # Image generation (Google Gemini)
pip install pocketpaw[memory] # Mem0 semantic memory
pip install pocketpaw[matrix] # Matrix support
pip install pocketpaw[teams] # Microsoft Teams support
pip install pocketpaw[gchat] # Google Chat support
pip install pocketpaw[mcp] # MCP server support
pip install pocketpaw[all] # EverythingFull documentation lives in documentation/:
- Channel Adapters: Discord, Slack, WhatsApp, Telegram setup
- Tool Policy: Profiles, groups, allow/deny
- Web Dashboard: Browser UI overview
- Security: Injection scanner, audit CLI, audit logging
- Model Router: Smart complexity-based model selection
- Plan Mode: Approval workflow for tool execution
- Integrations: OAuth, Gmail, Calendar, Drive, Docs, Spotify
- Tools: Web search, research, image gen, voice, delegation, skills
- Memory: Session compaction, USER.md profile, Mem0
- Scheduler: Cron scheduler, self-audit daemon
- Twitter: @PocketPawAI
- Discord: Coming Soon
- Email: pocketpawai@gmail.com
PRs welcome. Come build with us.
MIT © PocketPaw Team




