apowerb Agent Platform
Build self-hosted production agents that connect business systems, knowledge bases, and unattended triggers.
- Source repo
- apowerb/apowerb
- Stars
- ★ 148
- Last updated
- 2d ago
- License
- Apache-2.0
- Primary language
- Python
- FA score
- 61/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformOpenAI API · Claude API
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- An operations team routes new Gmail or Outlook messages to an agent that classifies them, looks up the customer in a CRM, and drafts a reply.
- Not a fit if
- Teams seeking a managed service with no deployment work
- Teams that need the separately sold enterprise bricks in the core
- Source review
- 61/100 · Some gaps
What does this agent do, and when should you use it?
apowerb is an open-source platform for building, running, and governing production AI agents, built on FastAPI, Google ADK, and LiteLLM. Define agents and their model, tools, instructions, and knowledge through a web interface or REST API, then compose sequential, parallel, loop, and sub-agent runs. It includes RAG, Text-to-SQL, MCP connections, business-system tools, email triggers, and scheduled runs, with session traces, token quotas, permissions, and encrypted secrets for operations. Deploy it with Docker Compose or run it from source; source installs require PostgreSQL, Python 3.10+, and UV. The core is Apache-2.0 licensed, while billing, identity-provider sign-in, MFA, evaluation, and several other capabilities are sold separately by thaink².
Users define agents in the web interface or through the REST API, setting instructions, model, tools, and knowledge bases; Google ADK executes them, while LiteLLM connects to providers such as Anthropic, OpenAI, Mistral, Gemini, Azure AI Foundry, and OVHcloud. Agents can call MCP servers and tools for Google Workspace, Microsoft 365, GitHub, CRMs, databases, S3, web search, OCR, and sandboxed Python. They can retrieve from files, URLs, databases, or S3 through RAG, and use Text-to-SQL to turn natural-language questions into database queries. Runs can start from a user request, a new Gmail or Outlook message, or a schedule registered with an external orchestrator. Results can stream to clients and leave auditable session traces; the platform also provides BI charts and dashboards, notifications, and token-usage records.
- An operations team routes new Gmail or Outlook messages to an agent that classifies them, looks up the customer in a CRM, and drafts a reply.
- A manager schedules a daily report in which an agent queries a database with Text-to-SQL, creates a chart, and emails a summary.
- A legal or HR team indexes contracts, procedures, or SharePoint files so employees can ask questions grounded in those documents.
- A sales team uses agents to look up customers and create HubSpot or Pipedrive deals, or update Odoo records, during a conversation or automated run.
- An IT team operates internal agents on a self-hosted service with user and group permissions, token quotas, and session auditing.
How do you install or deploy this agent?
The quick start uses the separate apowerb-hosting repository and requires Docker and Docker Compose. These commands copy the environment template, generate the required secrets, and start a Compose stack that includes PostgreSQL. The web interface is available at localhost:3000 and the API on port 8000. To run agents, add a model key in the interface or configure a shared model in .env. A source install requires PostgreSQL, Python 3.10+, and UV, plus the required database settings and ENCRYPT_KEY.
git clone https://github.com/apowerb/apowerb-hosting.git && cd apowerb-hosting
cp .env.example .env && ./scripts/generate-secrets.sh
docker compose -f docker-compose/docker-compose.yml --env-file .env up -dHow do you use this agent?
After starting the service, create an agent in the web interface and configure its instructions, model, tools, and knowledge base. You can also manage agents with the CLI or call the REST API. The API schema is not exposed by default; publishing it requires explicit configuration. Agent runs need a model supported by LiteLLM and its credentials. CLI examples from the README:
apowerb serve --host 0.0.0.0 --port 8000
apowerb agents list
apowerb agents create
apowerb tools list
apowerb runs listTo start the source installation with Uvicorn:
uv run uvicorn apowerb.main:app --reloadWhat are this agent's strengths and limitations?
- Agents can be defined through both a web interface and REST API, with sequential, parallel, loop, and sub-agent composition.
- LiteLLM supports multiple model providers, and agents can connect to custom MCP servers.
- RAG, Text-to-SQL, email triggers, scheduled runs, and session auditing are available within one self-hosted platform.
- The core includes operational controls such as users, groups, permissions, per-user token quotas, revocable sessions, and encrypted secrets.
- The quick start requires Docker and Docker Compose; source deployment also requires a separately provided PostgreSQL database, Python 3.10+, and UV.
- Agents need a configured model and credentials; model usage costs depend on the provider and key you use.
- Scheduled runs depend on an external orchestrator, configured as Mage or th2etl.
- Billing, identity-provider sign-in, MFA, agent evaluation, and the supervision screen are among the capabilities sold as separate commercial modules.
How does this agent compare with similar options?
The README presents apowerb as a system where agents are defined through a web interface or REST API, stored in PostgreSQL, and run on Google ADK, rather than as a canvas builder. It highlights built-in business-system tools and email or scheduled triggers that run without a user in chat; it does not make a direct comparison with named competitors.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| apowerb Agent Platform This agent | 61 · Some gaps | Self-hosted serviceFree + model costs | ★ 148 | 2d ago | Python | OpenAI API · Claude API |
| EDDI Conversational AI Orchestration | 68 · Some gaps | Self-hosted serviceFree + model costs | ★ 386 | 1d ago | Java | OpenAI API |
| SwarmClaw | 48 · Major gaps | Desktop appFree + model costs | ★ 692 | 3mo ago | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Manifold | 60 · Some gaps | Self-hosted serviceFree | ★ 502 | 2mo ago | Go | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
The README describes flows involving databases, OAuth, model keys, RAG, MCP, and external schedulers. It says stdio MCP runs commands on the host and is opt-in; configuration notes cover secret encryption, permissions, quotas, revocable sessions, and API schema being disabled by default. This supports 2 for data-flow transparency and sensitive-data handling. Scores are lower because agents can invoke tools, triggers, and artifact code with broad external effects, while the supplied evidence does not explain per-action confirmation or recovery. Permissions and attribution are also described only at a high level, without per-tool least privilege or a complete source attribution process, so those criteria score 1. Dependency security scores 2: the Safety workflow and rationale for some dependency choices are documented, but no scan results or comprehensive mitigation evidence is included.
The README, configuration tables, and pyproject.toml broadly agree on Python versions, installation, and components. They explain absent commercial bricks returning 404 and some configuration behavior, supporting a self-consistency score of 2. CI build/import steps and test files provide some evidence, but static materials do not establish availability of external services, databases, or model providers, so dependency availability scores 1. The OneDrive tests specify several HTTP errors and recognizable messages, earning 2 for failure messages; no complete error contract is shown.
The documentation clearly targets developers and self-hosted deployments and gives concrete scenarios for email triage, scheduled reports, document assistants, and back-office automation, earning 3 for audience and scenarios. It lists tools, triggers, deployment options, and commercial boundaries, and discloses the stdio opt-in and missing-brick behavior. It does not give a comprehensive capability or suitability boundary, so capability boundaries and trigger precision score 2. Docker Compose, Helm, Python/PostgreSQL, and bring-your-own-model-key requirements are explained, but supported platforms and runtime environments remain limited in the supplied evidence, so environment fit scores 2.
The README has a table of contents and dedicated architecture, installation, configuration, running, CLI, deployment, and troubleshooting sections. Installation commands and required settings are concrete, earning 3 for information architecture and install notes. Examples and use cases are substantial but do not amount to a complete FAQ; commercial-brick boundaries, default URLs, and selected configuration limitations are disclosed, though a fuller limitations list is absent, so those criteria score 2. Naming and versions can be traced through package metadata and the security policy, but changelog and release-maintenance policy evidence is limited. Security reporting and response commitments are described, but publisher identity is not verified by the curated registry and is not treated as a trust signal; these criteria score 2. The Apache-2.0 license is explicit and complete, earning 3.
The framework offers usable API, CLI, orchestration, RAG, integrations, scheduling, and audit features, and explains its integration value beyond a basic agent library; both criteria score 2. Cost-benefit scores 1 because the supplied material does not quantify deployment, maintenance, model, or hosted-integration costs or demonstrate realized benefits. The breadth of integrations and dependencies may also increase operational burden.
Several claims have corresponding material in the README, pyproject.toml, security policy, CI workflow, and test files, supporting scores of 2 for traceability and cross-source corroboration. The documentation generally distinguishes concrete configuration or test descriptions from product claims, but claims about production suitability, security, and breadth of functionality remain assertions not fully verified by the supplied materials, so fact-inference separation scores 2.
- This is a low-confidence static review; CI and test files are documentary evidence only and were not executed or independently verified.
- Before enabling agents, schedules, email triggers, MCP, or artifact execution, review tool permissions, credential scopes, and how external effects are confirmed and recovered.
- Publisher provenance is not verified by the curated enterprise registry; publisher identity remains unknown.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
What's Changed * perf(llm): cache the stable prompt prefix on Claude models by @dgnaglo in https://github.com/apowerb/apowerb/pull/394 * chore: drop the S3 log banners and the undefined names ruff flags by @dgnaglo in https://github.com/apowerb/apowerb/pull/397 * test: make a plain local pytest run match CI by @dgnaglo in https://github.com/apowerb/apowerb/pull/399 * fix(identity): bind the agent identity per voice session, stop writing it to os.environ by @dgnaglo in https://github.com/apowerb/apowerb/pull/398 …View on GitHub ↗ -
Release notes excerpt
What's Changed * fix(agents): propagate a guardrail's LlmResponse through the before_model chain by @dgnaglo in https://github.com/apowerb/apowerb/pull/386 * perf(tools): cut the tokens tools cost the model on every call by @dgnaglo in https://github.com/apowerb/apowerb/pull/387 * docs(bench): BI token costs measured in DEV on core 0.2.84 by @dgnaglo in https://github.com/apowerb/apowerb/pull/389 * fix(bi): let group_by run over a period filter's presets by @dgnaglo in https://github.com/apowerb/apowerb/pull/390 …View on GitHub ↗ -
Release notes excerpt
What's changed Fewer tokens per BI conversation (offline replay bench, input tokens, quality checks 8/8 passing): creation −16.6 %, dashboard question −13.8 %, dashboard chat −35 %, multi-turn −31.3 %, forecast −44.9 %, main-chat question −13 %. - perf(bi): BI templates stop auto-adding 10 unused chat tools (#379) - perf(bi): BI agents read a large CSV as header + sample + row count (#380) - perf(bi): group_by in tool_bi_query_dashboard, one call per comparison (#381) - perf(bi): shorten earlier-turn tool results in BI chats (#382) …View on GitHub ↗