Skip to main content

OpenPA — open personal assistant server and CLI

Project description

OpenPA

Open personal assistant — server, desktop app, and CLI you run yourself.

PyPI Python License: MIT CI

What is OpenPA?

OpenPA is a personal AI assistant that runs on your own machine or server. It bundles a multi-profile agent runtime, a tool plane, a web UI, and a CLI into one package. Profiles isolate personas, LLM keys, skills, and conversations, so the same install can host a work assistant, a coding assistant, and a home assistant side by side without bleeding context across them.

Under the hood, OpenPA speaks two open protocols: A2A for pluggable agents and MCP for pluggable tools. Bring your own LLM (Anthropic, OpenAI, Groq), plug in any MCP server, and reach the assistant through whichever surface fits — browser, desktop app, terminal, or a chat channel like Telegram.

Features

  • Multi-profile agents with isolated personas, skills, browser profiles, and conversation history.
  • Pluggable LLMs — Anthropic, OpenAI, and Groq, installed on demand via feature flags.
  • Tool plane — built-in file browser, terminal, document RAG, and Playwright browser automation; add any MCP server.
  • Document ingestion — drop files in a watched folder; OpenPA indexes them for retrieval.
  • Storage that scales with you — SQLite by default; switch any service to Postgres, Qdrant, or ChromaDB as a Docker sidecar or external endpoint, from the Setup Wizard.
  • Chat channels — Telegram bot and userbot adapters included; channel API for adding more.
  • Three surfaces — Web UI at :1515, the OpenPA App desktop client (Windows / macOS / Linux), and an openpa CLI for chat, conversations, tools, and admin.
  • Cross-platform — runs on Linux, macOS, and Windows; sandboxed Docker mode available for stronger isolation.

Install

OpenPA App (desktop)

Download the prebuilt installer for your OS from the Releases page:

OS File
Windows OpenPA App-Windows-<version>-Setup.exe (NSIS)
macOS OpenPA App-macOS-<version>.dmg
Linux OpenPA App-Linux-<version>.AppImage

The desktop app auto-updates from GitHub Releases and bundles the agent — no separate server install needed.

One-line install (Linux / macOS)

curl -fsSL https://openpa.ai/install.sh | bash

Or fetch the same script straight from GitHub:

curl -fsSL https://raw.githubusercontent.com/openpa/openpa/main/install/install.sh | bash

One-line install (Windows)

iwr -useb https://openpa.ai/install.ps1 | iex

Or fetch the same script straight from GitHub:

iwr -useb https://raw.githubusercontent.com/openpa/openpa/main/install/install.ps1 | iex

The installer detects Docker and asks which mode to use:

  • Docker (recommended) — agent runs in a sandboxed XFCE container with VNC at :6080. Postgres / Qdrant / ChromaDB activate as sibling containers on demand.
  • Native — Python 3.13+ venv at ~/.openpa/venv, SQLite, agent shares your desktop.

Both modes are idempotent — re-running upgrades in place. See install/README.md for the full flag reference and deployment-type options (local / server / custom).

First run

  1. Wait for the installer to finish (it pulls images or builds a venv, runs migrations, and starts the server).
  2. Your browser opens automatically to http://<host>:1515/#/setup — the Setup Wizard.
  3. Pick an LLM provider, paste an API key, create your first profile, and you're chatting.

Prefer the terminal? openpa chat gives you a streamed REPL against the same profile. openpa --help lists every command (profiles, conversations, tools, agents, channels, LLM config, …).

Requirements

  • Docker mode: Docker Engine with Compose v2. Any OS.
  • Native mode: Python 3.13.9+ on Linux, macOS, or Windows.

Documentation

  • install/README.md — installer reference, flags, deployment types, and file layout.
  • CONTRIBUTING.md — development setup and contribution workflow.
  • RELEASING.md — release channels (production / test / dev) and the release process.
  • In-app docs live under documents/ and are auto-indexed for retrieval.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openpa-1.0.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openpa-1.0.0-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

File details

Details for the file openpa-1.0.0.tar.gz.

File metadata

  • Download URL: openpa-1.0.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openpa-1.0.0.tar.gz
Algorithm Hash digest
SHA256 38670079c48541ae0f6c10550f359d1c521309ebc61350786868ffde1bcf6e71
MD5 f4acf895e9c8b2cf87f8199528a8a738
BLAKE2b-256 5355e054cf5ba1cfef2a8a8e4edf8a40568034fc6d63d7ffec911fd6ab17f713

See more details on using hashes here.

File details

Details for the file openpa-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: openpa-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openpa-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21408a35b41ea681e6125dec0cc0ffa1a9f9d8622aa3764ad5596ded961233dc
MD5 816e2b2be6073ecab7c8cd4aa7cdcddb
BLAKE2b-256 fc79162efde1a70ac4a0d95cce125b9328d56b23d391500c5772734e8c49a7b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page