selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

pocketpaw logo

Self-host pocketpaw

v0.4.18

Multi-channel AI agent you run on your own machine

BetaOpen SourceMIT
curl -fsSL https://pocketpaw.xyz/install.sh | sh
Updated4 months ago
LanguagePython
Setup difficultyEasy
Stars
894
RAM
at least 4GB of RAM for a 7B parameter model
Port
8888 (Web dashboard / API server)
pocketpaw screenshot 1pocketpaw screenshot 2pocketpaw screenshot 3pocketpaw screenshot 4

What is pocketpaw?

Should you self-host pocketpaw?

pocketpaw scores 48/100 on selfhost.directory (how scoring works) and ranks #52 of 120 in AI Assistant. It has 894 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.4.18, came out on 29 April 2026. New versions land roughly every 3 days.

Setup is easy: most people get it running in one sitting. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is hermes-agent (89/100, 257 957 stars). It scores higher overall, so compare the two before you pick. See pocketpaw vs hermes-agent side by side.

Features

  • Append-only audit log
  • Browser AutomationBrowser automation and shell tools work best under WSL2 on native Windows.
  • Built-in agent tools
  • Guardian AI tool-call review
  • Local model / offline operation
  • MCP server support
  • Multi-agent Command Center
  • Multi-channel chat (Telegram, Discord, Slack, WhatsApp and more)
  • Native desktop app
  • Persistent memory
  • Plan mode with human approval
  • Prompt-injection scanning
  • Swappable LLM agent backends
  • Tool policy profiles
  • Web Dashboard

pocketpaw README

How to install pocketpaw

Install pocketpaw with Docker Compose

Environment variables
POCKETPAW_PORT, POCKETPAW_OLLAMA_HOST
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

Image is built from the repo Dockerfile; optional profiles `--profile ollama` and `--profile qdrant`.

How to configure pocketpaw

  • POCKETPAW_ALLOWED_TELEGRAM_IDSComma-separated Telegram user IDs allowed to talk to the agent

    Comma-separated Telegram user IDs allowed to talk to the agent

  • POCKETPAW_ALLOWED_USER_ID
  • POCKETPAW_ANTHROPIC_API_KEY── LLM Provider ────────────────────────────────────────── POCKETPAW_LLM_PROVIDER=auto # auto | ollama | openai | anthropic | gemini | openai_compatible

    ── LLM Provider ────────────────────────────────────────── POCKETPAW_LLM_PROVIDER=auto # auto | ollama | openai | anthropic | gemini | openai_compatible

  • POCKETPAW_ANTHROPIC_MODEL
  • POCKETPAW_BRAVE_SEARCH_API_KEY
  • POCKETPAW_BYPASS_PERMISSIONS── Security ──────────────────────────────────────────────

    ── Security ──────────────────────────────────────────────

  • POCKETPAW_CLAUDE_CODE_OAUTH_TOKENClaude Code OAuth token supplied instead of an API key in Docker deployments

    Claude Code OAuth token supplied instead of an API key in Docker deployments

  • POCKETPAW_CLAUDE_SDK_MAX_TURNS25Maximum tool-use loops per query on the Claude SDK backend

    Maximum tool-use loops per query on the Claude SDK backend

  • POCKETPAW_CLAUDE_SDK_MODELModel to force for the Claude Agent SDK backend; empty lets Claude Code auto-select

    Model to force for the Claude Agent SDK backend; empty lets Claude Code auto-select

  • POCKETPAW_CLAUDE_SDK_PROVIDERclaude_codeProvider used by the Claude SDK backend

    Provider used by the Claude SDK backend

  • POCKETPAW_DISCORD_ALLOWED_CHANNEL_IDS
  • POCKETPAW_DISCORD_ALLOWED_GUILD_IDS
  • POCKETPAW_DISCORD_ALLOWED_USER_IDS
  • POCKETPAW_DISCORD_BOT_TOKEN── Discord ───────────────────────────────────────────────

    ── Discord ───────────────────────────────────────────────

  • POCKETPAW_DISCORD_CONVERSATION_ALL_CHANNELS
  • POCKETPAW_DISCORD_CONVERSATION_EXCLUDE_CHANNEL_IDS
  • POCKETPAW_ELEVENLABS_API_KEY── Voice / TTS / STT ──────────────────────────────────── POCKETPAW_TTS_PROVIDER=openai # openai | elevenlabs

    ── Voice / TTS / STT ──────────────────────────────────── POCKETPAW_TTS_PROVIDER=openai # openai | elevenlabs

  • POCKETPAW_GCHAT_PROJECT_ID── Google Chat ─────────────────────────────────────────── POCKETPAW_GCHAT_MODE=webhook # webhook | pubsub POCKETPAW_GCHAT_SERVICE_ACCOUNT_KEY= # path to JSON key file

    ── Google Chat ─────────────────────────────────────────── POCKETPAW_GCHAT_MODE=webhook # webhook | pubsub POCKETPAW_GCHAT_SERVICE_ACCOUNT_KEY= # path to JSON key file

  • POCKETPAW_GOOGLE_API_KEY── Image Generation ──────────────────────────────────────

    ── Image Generation ──────────────────────────────────────

  • POCKETPAW_GOOGLE_CLIENT_IDOAuth client ID for the Google services (Gmail, Calendar, Drive, Docs)

    OAuth client ID for the Google services (Gmail, Calendar, Drive, Docs)

  • POCKETPAW_GOOGLE_CLIENT_SECRETOAuth client secret for the Google services

    OAuth client secret for the Google services

  • POCKETPAW_GOOGLE_OAUTH_CLIENT_ID── OAuth (Google services: Gmail, Calendar, Drive, Docs) ─

    ── OAuth (Google services: Gmail, Calendar, Drive, Docs) ─

  • POCKETPAW_GOOGLE_OAUTH_CLIENT_SECRET
  • POCKETPAW_IMAGE_MODEL
  • POCKETPAW_INJECTION_SCAN_ENABLED
  • POCKETPAW_LITELLM_API_BASEBase URL of a LiteLLM proxy used as the provider

    Base URL of a LiteLLM proxy used as the provider

  • POCKETPAW_LITELLM_API_KEYAPI key for the LiteLLM proxy

    API key for the LiteLLM proxy

  • POCKETPAW_LITELLM_MODELModel requested through LiteLLM

    Model requested through LiteLLM

  • POCKETPAW_LOCALHOST_AUTH_BYPASS
  • POCKETPAW_MATRIX_ACCESS_TOKEN
  • POCKETPAW_MATRIX_HOMESERVER── Matrix ────────────────────────────────────────────────

    ── Matrix ────────────────────────────────────────────────

  • POCKETPAW_MATRIX_USER_ID
  • POCKETPAW_MEM0_AUTO_LEARNtrueLet Mem0 learn facts from conversations automatically

    Let Mem0 learn facts from conversations automatically

  • POCKETPAW_MEM0_EMBEDDER_MODELEmbedding model used by Mem0 semantic memory

    Embedding model used by Mem0 semantic memory

  • POCKETPAW_MEM0_EMBEDDER_PROVIDER
  • POCKETPAW_MEM0_LLM_PROVIDER── Memory ──────────────────────────────────────────────── POCKETPAW_MEMORY_BACKEND=file # file | mem0

    ── Memory ──────────────────────────────────────────────── POCKETPAW_MEMORY_BACKEND=file # file | mem0

  • POCKETPAW_MEM0_VECTOR_STORE
  • POCKETPAW_OLLAMA_MODELPOCKETPAW_OLLAMA_HOST=http://ollama:11434 # use service name in Docker

    POCKETPAW_OLLAMA_HOST=http://ollama:11434 # use service name in Docker

  • POCKETPAW_OPENAI_API_KEY
  • POCKETPAW_OPENAI_MODEL
  • POCKETPAW_OPENROUTER_API_KEYAPI key for the OpenRouter provider

    API key for the OpenRouter provider

  • POCKETPAW_OPENROUTER_MODELModel name used through OpenRouter

    Model name used through OpenRouter

  • POCKETPAW_PORTHost-side port mapping for the dashboard container

    Host-side port mapping for the dashboard container

  • POCKETPAW_SIGNAL_API_URL── Signal ────────────────────────────────────────────────

    ── Signal ────────────────────────────────────────────────

  • POCKETPAW_SIGNAL_PHONE_NUMBER
  • POCKETPAW_SLACK_ALLOWED_CHANNEL_IDSPOCKETPAW_SLACK_APP_TOKEN= # xapp-... (Socket Mode)

    POCKETPAW_SLACK_APP_TOKEN= # xapp-... (Socket Mode)

  • POCKETPAW_SLACK_BOT_TOKEN── Slack ─────────────────────────────────────────────────

    ── Slack ─────────────────────────────────────────────────

  • POCKETPAW_SOUL_ARCHETYPE
  • POCKETPAW_SOUL_AUTO_SAVE_INTERVAL
  • POCKETPAW_SOUL_ENABLED── Soul (persistent AI identity) ────────────────────────

    ── Soul (persistent AI identity) ────────────────────────

  • POCKETPAW_SOUL_NAME
  • POCKETPAW_SOUL_PATH
  • POCKETPAW_SOUL_PERSONA
  • POCKETPAW_SPOTIFY_CLIENT_ID── Spotify ───────────────────────────────────────────────

    ── Spotify ───────────────────────────────────────────────

  • POCKETPAW_SPOTIFY_CLIENT_SECRET
  • POCKETPAW_TAVILY_API_KEY── Web Search ──────────────────────────────────────────── POCKETPAW_WEB_SEARCH_PROVIDER=tavily # tavily | brave

    ── Web Search ──────────────────────────────────────────── POCKETPAW_WEB_SEARCH_PROVIDER=tavily # tavily | brave

  • POCKETPAW_TEAMS_APP_ID── Microsoft Teams ───────────────────────────────────────

    ── Microsoft Teams ───────────────────────────────────────

  • POCKETPAW_TEAMS_APP_PASSWORD
  • POCKETPAW_TELEGRAM_BOT_TOKEN── Telegram ──────────────────────────────────────────────

    ── Telegram ──────────────────────────────────────────────

  • POCKETPAW_TELEGRAM_TOKENTelegram bot token

    Telegram bot token

  • POCKETPAW_TOOL_PROFILEcodingTool policy profile deciding which tools the agent may use

    Tool policy profile deciding which tools the agent may use

    values: minimal, coding, full

  • POCKETPAW_TOOLS_ALLOWComma-separated list of explicitly permitted tools

    Comma-separated list of explicitly permitted tools

  • POCKETPAW_TOOLS_DENYComma-separated list of forbidden tools; takes precedence over the allow list

    Comma-separated list of forbidden tools; takes precedence over the allow list

  • POCKETPAW_TTS_VOICE
  • POCKETPAW_WEB_HOST── Docker-specific overrides (set automatically in Dockerfile) ─

    ── Docker-specific overrides (set automatically in Dockerfile) ─

  • POCKETPAW_WEB_PORT
  • POCKETPAW_WHATSAPP_ALLOWED_PHONE_NUMBERSPhone numbers permitted to use the WhatsApp Business channel

    Phone numbers permitted to use the WhatsApp Business channel

pocketpaw releases & version history

FAQ

How do I install PocketPaw?

Run `pip install pocketpaw` or use the interactive installer, then launch `pocketpaw` to start the web dashboard; it needs Python 3.11+.

What's the difference between an AI agent and a chatbot?

A chatbot only generates text, while an agent takes actions such as browsing, writing code, managing files or sending email; PocketPaw ships 50+ built-in tools for that.

Is PocketPaw free?

It is free and MIT licensed; only the cloud provider's own API usage costs apply, and Ollama with local models gives zero-cost operation.

What messaging platforms does PocketPaw support?

Nine-plus channels: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Microsoft Teams, Google Chat and a built-in web dashboard, all sharing one agent and memory.

Can I run PocketPaw without an API key?

Yes — pair it with Ollama to run open-source models such as Llama, Qwen or Mistral on your own hardware, with no API keys or usage fees.

What is a self-hosted AI agent?

A self-hosted AI agent runs on your own computer or server rather than in someone else's cloud, and can answer questions, run code, browse the web, manage files and act on your behalf.

More in Instant Messaging

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…