Open-source software for running an AI agency: clients, agents, workflows, approvals, model control, monitoring, and client-facing portals in one self-hosted stack.
Aethon Agency OS is a multi-tenant platform for agencies that deploy AI agents on behalf of clients.
It combines:
- client workspaces
- agent management
- workflow orchestration
- live execution monitoring
- approval and permission controls
- a model control plane
- marketplace templates
- white-label client portals
This repository is the full product, not a demo frontend and not a single-agent toy app.
- unlimited clients, agents, and workflows in the open-source build
- 9 prebuilt marketplace templates for common agency use cases
- org-scoped model configs with default and per-agent assignment
- approval flows for high-risk tool usage
- trust scores and permission engine support
- live execution streaming and monitoring
- client portals for sharing recent work without client login
- audit-friendly execution history, tool logging, and org isolation
- Clone the repo:
git clone https://github.com/charan047/AETHON.AI.git
cd AETHON.AI- Copy the backend environment file:
cp backend/.env.example backend/.env- Edit
backend/.envand set at least:
JWT_SECRET_KEY- one LLM provider key:
OPENAI_API_KEY, orANTHROPIC_API_KEY
Optional:
MEM0_API_KEYfor long-term agent memory- integration credentials for Gmail, Slack, Google Docs, and other tools
docker compose provides the default Postgres and Redis service URLs for the full stack automatically.
- Start the stack:
docker compose up -d --builddocker-compose up runs everything — Postgres, Redis, backend, Celery worker, and nginx. No external dependencies.
- Open the app:
http://localhost
- Register your agency and follow the onboarding wizard.
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
alembic upgrade head
uvicorn main:app --reloadFor backend-only local runs, use the DATABASE_URL and REDIS_URL values from backend/.env.example.
cd frontend
npm install
npm run dev- app:
http://localhost - API via load balancer:
http://localhost:8000 - backend health:
http://localhost:8000/health - Flower:
http://localhost:5555
Install Superpowers — battle-tested TDD, debugging, and planning skills:
/plugin marketplace add obra/superpowers-marketplace
What you get immediately:
/brainstorm— explore approaches before coding/write-plan— create an implementation plan/execute-plan— work through tasks with subagents- auto-triggered TDD support
- systematic debugging and root-cause tracing
- subagent-driven development for complex features
Install the Vercel skills CLI:
npx skills add vercel-labs/agent-skills --skill react-best-practices
npx skills add vercel-labs/agent-skills --skill web-design-guidelinesFor engineering contributors:
/plugin marketplace add alirezarezvani/claude-skills
/plugin install engineering-skills@claude-code-skills
For product and architecture decisions:
/plugin install product-skills@claude-code-skills
These skills are installed locally by contributors, not committed into the repo.
- read CLAUDE.md fully before making changes
- check .taskmaster/tasks for the current Phase 16 task list
- use AGENTS.md if you are working with a non-Claude coding agent
Frontend
└─ React + TypeScript + Vite + Tailwind
├─ Agency dashboard
├─ Clients / portal UI
├─ Agents / workflows / approvals
├─ Monitoring / analytics
└─ WebSocket-driven live execution views
Backend
└─ FastAPI
├─ Auth + org context
├─ Client / agent / workflow APIs
├─ Marketplace / onboarding / portal APIs
├─ Model control plane
└─ Monitoring / approvals / analytics
Runtime
└─ Agent + workflow services
├─ Tool calling
├─ Approval pauses
├─ Scheduling
├─ Reputation / trust
└─ Long-running task execution
Infra
├─ PostgreSQL
├─ Redis
├─ Celery workers
├─ Nginx
└─ Docker Compose
.
├── backend/
│ ├── api/ # FastAPI routers
│ ├── alembic/ # Database migrations
│ ├── auth/ # Auth and org context
│ ├── database/ # Models, sessions, seeders
│ ├── marketplace/ # Templates and install logic
│ ├── middleware/ # Security, rate limit, request ID, plan no-op
│ ├── runtime/ # Agent and workflow runtime
│ ├── services/ # Domain services
│ ├── tasks/ # Celery tasks
│ ├── tests/ # Backend tests
│ └── tools/ # Tool implementations
├── frontend/
│ ├── e2e/ # Playwright specs
│ └── src/
│ ├── api/ # API clients
│ ├── components/ # UI primitives and domain components
│ ├── contexts/ # Auth and WebSocket context
│ ├── hooks/ # Shared hooks
│ ├── lib/ # Utilities and design tokens
│ └── pages/ # Route-level pages
├── docs/ # Deployment and release docs
├── nginx/ # Load balancer config
└── .github/ # CI and repo governance
cd backend
pytest tests/ -vcd frontend
npm run buildRepresentative Playwright specs live in frontend/e2e.
Aethon is multi-tenant by design. Important invariants:
- tenant-owned data must be scoped by
org_id - client-facing portal data must never expose internal prompts, secrets, or cross-org data
- model credentials and integration secrets must never be returned in plaintext
- high-risk actions should degrade toward approval, not silent allow
If you touch auth, approvals, model configs, analytics, WebSocket broadcasting, or execution logs, read SECURITY.md first.
- Read CLAUDE.md before touching code.
- Start the stack with
docker compose up -d --build. - Pick up the next structured task with
task-master next. - Use the spec workflow for new feature work instead of jumping straight to implementation.
- install Superpowers:
/plugin marketplace add obra/superpowers-marketplace - use the repo constitution in CLAUDE.md
- use the spec-kit skills under
.claude/skills/ - use Task Master for the active backlog:
task-master listtask-master next
- install:
npx skills add vercel-labs/agent-skills --skill react-best-practicesnpx skills add vercel-labs/agent-skills --skill web-design-guidelines - follow .cursorrules
- read AGENTS.md and CLAUDE.md before edits
If you want to work on Phase 16 features:
- Install Task Master:
npm install -g task-master-ai- See the next available task:
task-master next- See all tasks:
task-master list- Mark a task complete:
task-master set-status --id=1 --status=doneThe Phase 16 PRD lives in .taskmaster/docs/prd.txt. Generated task files live in .taskmaster/tasks.
- Checkout a new branch:
git checkout -b 017-my-feature-name- Run
/speckit-specifyin Claude Code to define the feature. - Run
/speckit-planto create the technical plan. - Run
/speckit-tasksto generate individual tasks. - Use Task Master to track progress with
task-master list. - Submit a PR so reviewers can read the spec artifacts and implementation history.
- repo constitution: CLAUDE.md
- agent-generic guidance: AGENTS.md
- cursor rules: .cursorrules
- spec memory: .specify/memory/constitution.md
backend/runtime/agent_runner.pybackend/runtime/workflow_engine.pybackend/runtime/graph_builder.pybackend/services/permission_engine.py- any other guarded areas listed in CLAUDE.md
- Read CLAUDE.md and confirm your change respects org isolation and approval-first security.
- Add or update tests:
backend work should land with pytest coverage in
backend/tests/frontend work should land with Playwright coverage infrontend/e2e/ - Run the smallest verification set that proves the change.
- Update docs if contributor workflow, setup, or architecture expectations changed.
- Keep PR descriptions specific: what changed, why, how it was verified, and any remaining risk.
- license: MIT
- billing and plan walls removed from the open-source build
- self-hosted by default
- contributions welcome
- DOCUMENTATION.md
- CONTRIBUTING.md
- SECURITY.md
- SUPPORT.md
- docs/DEPLOYMENT.md
- docs/RELEASE_CHECKLIST.md
- docs/OPEN_SOURCE_LAUNCH_CHECKLIST.md
- bug reports: GitHub issues
- feature requests: GitHub issues or discussions
- security issues: follow SECURITY.md
This project is licensed under the MIT License.