The AI agent that runs on your laptop, not a datacenter. OpenClaw alternative with one-command install.
Project description
🐾 PocketPaw
An AI agent that runs on your machine, not someone else's.
Self-hosted AI agent with a web dashboard. Talks to you over Discord, Slack, WhatsApp, Telegram, or the browser.
No subscription. No cloud lock-in. Your data stays on your machine.
⚠️ Beta: This project is under active development. Expect breaking changes between versions.
Quick Start
Via Desktop Installer
Sets up Python and PocketPaw in one click, then opens the dashboard.
| Platform | Download |
|---|---|
| Windows | PocketPaw-Setup.exe |
Install via Terminal
macOS / Linux
pip install pocketpaw && pocketpaw
Or use the install script:
curl -fsSL https://pocketpaw.xyz/install.sh | sh
Windows (PowerShell)
powershell -NoExit -Command "iwr -useb https://pocketpaw.xyz/install.ps1 | iex"
Or install manually with pip:
pip install pocketpaw
pocketpaw
Note: Some features (browser automation, shell tools) work best under WSL2. Native Windows support covers the web dashboard and all LLM chat features.
Other methods
pipx install pocketpaw && pocketpaw # Isolated install
uvx pocketpaw # Run without installing
# From source
git clone https://github.com/pocketpaw/pocketpaw.git
cd pocketpaw && uv run pocketpaw
Docker
git clone https://github.com/pocketpaw/pocketpaw.git && cd pocketpaw
cp .env.example .env
docker compose up -d
Dashboard at http://localhost:8888. Get the access token:
docker exec pocketpaw cat /home/pocketpaw/.pocketpaw/access_token
Agent-created files appear in ./workspace/ on the host. Optional profiles: --profile ollama (local LLMs), --profile qdrant (vector memory). Using Ollama on the host? Set POCKETPAW_OLLAMA_HOST=http://host.docker.internal:11434 in .env.
The web dashboard opens at http://localhost:8888. From there you can connect Discord, Slack, WhatsApp, or Telegram.
Features
| 📡 9+ Channels | Web Dashboard, Discord, Slack, WhatsApp, Telegram, Signal, Matrix, Teams, Google Chat |
| 🧠 6 Agent Backends | Claude Agent SDK, OpenAI Agents, Google ADK, Codex CLI, OpenCode, Copilot SDK |
| 🛠️ 50+ Tools | Browser, web search, image gen, voice/TTS/STT, OCR, research, delegation, skills |
| 🔌 Integrations | Gmail, Calendar, Google Drive & Docs, Spotify, Reddit, MCP servers |
| 💾 Memory | Long-term facts, session history, smart compaction, Mem0 semantic search |
| 🔒 Security | Guardian AI, injection scanner, tool policy, plan mode, audit log, self-audit daemon |
| 🏠 Local-First | Runs on your machine. Ollama for fully offline operation. macOS / Windows / Linux. |
Examples
You: "Every Sunday evening, remind me which recycling bins to put out"
Paw: Done. I'll check the recycling calendar and message you every Sunday at 6pm.
You: "Find that memory leak, the app crashes after 2 hours"
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: 3 agents working on it. I'll ping you when it's ready.
Architecture
Everything goes through an event-driven message bus. Channels publish messages, the AgentLoop picks them up and routes to whichever backend you've configured. All six backends implement the same AgentBackend protocol, so swapping one for another doesn't touch the rest of the system.
Agent Backends
| Backend | Key | Providers | MCP |
|---|---|---|---|
| Claude Agent SDK (Default) | claude_agent_sdk |
Anthropic, Ollama | Yes |
| OpenAI Agents SDK | openai_agents |
OpenAI, Ollama | No |
| Google ADK | google_adk |
Google (Gemini) | Yes |
| Codex CLI | codex_cli |
OpenAI | Yes |
| OpenCode | opencode |
External server | No |
| Copilot SDK | copilot_sdk |
Copilot, OpenAI, Azure, Anthropic | No |
Security
A secondary LLM (Guardian AI) reviews every tool call before it runs. On top of that: injection scanning, configurable tool policies, plan mode for human approval, --security-audit CLI, a self-audit daemon, and an append-only audit log. Details in the docs.
Detailed security architecture
Configuration
Settings live in ~/.pocketpaw/config.json. You can also use POCKETPAW_-prefixed env vars or the dashboard Settings panel. API keys are encrypted at rest.
export POCKETPAW_ANTHROPIC_API_KEY="sk-ant-..." # Required for Claude SDK backend
export POCKETPAW_AGENT_BACKEND="claude_agent_sdk" # or openai_agents, google_adk, etc.
Note: An Anthropic API key from console.anthropic.com is required for the Claude SDK backend. OAuth tokens from Claude Free/Pro/Max plans are not permitted for third-party use. For free local inference, use Ollama instead.
See the full configuration reference for all settings.
Development
git clone https://github.com/pocketpaw/pocketpaw.git && cd pocketpaw
uv sync --dev # Install with dev deps
uv run pocketpaw --dev # Dashboard with auto-reload
uv run pytest # Run tests (2000+)
uv run ruff check . && uv run ruff format . # Lint & format
Optional extras
pip install pocketpaw[openai-agents] # OpenAI Agents backend
pip install pocketpaw[google-adk] # Google ADK backend
pip install pocketpaw[discord] # Discord
pip install pocketpaw[slack] # Slack
pip install pocketpaw[memory] # Mem0 semantic memory
pip install pocketpaw[all] # Everything
Documentation
docs.pocketpaw.xyz covers getting started, backends, channels, tools, integrations, security, memory, and the full API reference.
Star History
Contributors
Join the Pack
- Twitter: @PocketPawAI
- Discord: Coming Soon
- Email: pocketpawai@gmail.com
PRs welcome. Come build with us.
License
MIT © PocketPaw Team
Built for people who'd rather own their AI than rent it
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pocketpaw-0.4.4.tar.gz.
File metadata
- Download URL: pocketpaw-0.4.4.tar.gz
- Upload date:
- Size: 44.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e86273636296a45e72e64d0b0206c562aa4b99a0c33d2f8eb92e5c0c613caa5
|
|
| MD5 |
35d1fa850b12986c07e12663c8797ce4
|
|
| BLAKE2b-256 |
4fc802cc5ebfea33412bfbc559f0a2002d11705b00f719889b964b482d4d5eee
|
Provenance
The following attestation bundles were made for pocketpaw-0.4.4.tar.gz:
Publisher:
publish.yml on pocketpaw/pocketpaw
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pocketpaw-0.4.4.tar.gz -
Subject digest:
3e86273636296a45e72e64d0b0206c562aa4b99a0c33d2f8eb92e5c0c613caa5 - Sigstore transparency entry: 975867856
- Sigstore integration time:
-
Permalink:
pocketpaw/pocketpaw@94fdbac17ce0d6e3d8c5bdd6700b5d2127d8c543 -
Branch / Tag:
refs/tags/v0.4.4 - Owner: https://github.com/pocketpaw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@94fdbac17ce0d6e3d8c5bdd6700b5d2127d8c543 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pocketpaw-0.4.4-py3-none-any.whl.
File metadata
- Download URL: pocketpaw-0.4.4-py3-none-any.whl
- Upload date:
- Size: 641.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ba9196589fc730b16a9fe53d625ff0e863a2bd5ba26f01d60e89a3384f7b615
|
|
| MD5 |
f2329822c6e02476c09f801908b27010
|
|
| BLAKE2b-256 |
d73c560a911bb0f46f4809f5798a716e2440c7d5d3eaa240b3ab6d02b2e129b2
|
Provenance
The following attestation bundles were made for pocketpaw-0.4.4-py3-none-any.whl:
Publisher:
publish.yml on pocketpaw/pocketpaw
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pocketpaw-0.4.4-py3-none-any.whl -
Subject digest:
9ba9196589fc730b16a9fe53d625ff0e863a2bd5ba26f01d60e89a3384f7b615 - Sigstore transparency entry: 975867858
- Sigstore integration time:
-
Permalink:
pocketpaw/pocketpaw@94fdbac17ce0d6e3d8c5bdd6700b5d2127d8c543 -
Branch / Tag:
refs/tags/v0.4.4 - Owner: https://github.com/pocketpaw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@94fdbac17ce0d6e3d8c5bdd6700b5d2127d8c543 -
Trigger Event:
release
-
Statement type: