SenteLabsAI/OpenExecutive
AI-powered virtual executive team — a single coherent executive persona backed by 8 specialist Claude agents (FastAPI + Next.js).
Open Executive – AI‑powered virtual executive team
What it is – A self‑hosted application that lets a company talk to a single, consistent “executive” persona. The executive is backed by eight specialist agents (CSO, CFO, CHRO, General Counsel, COO, CMO, CPO, Board Communications Director). Each specialist pulls relevant information from a built‑in MBA knowledge base and from the user’s own uploaded company documents, then the orchestrator synthesises a unified response.
Core capabilities
- One‑stop executive voice – Users ask any business‑strategy question and receive a reply that feels like it came from a senior leader with Harvard‑MBA level knowledge.
- Specialist agents – Eight domain‑specific agents run in parallel, each using Anthropic Claude models (default
claude‑sonnet‑4‑6; deeper reasoning agents useclaude‑opus‑4‑7). - RAG & built‑in knowledge – Two‑layer retrieval: (1) a git‑tracked Markdown knowledge base seeded into a local ChromaDB vector store, (2) the company’s own documents (pitch decks, financial models, contracts, etc.) also indexed in ChromaDB.
- Episodic memory – After each turn a background Claude‑haiku pass extracts decisions and stores them in SQLite. The next session starts with a
<past_decisions>block so the executive remembers prior advice. - Scheduler – A job runner that tracks follow‑up actions and fires them once, using an
UPDATE … RETURNINGclaim to avoid duplicate execution. It is deliberately single‑instance. - Multi‑channel UI – Web UI (Next.js 15 + Tailwind), Slack, Discord, Telegram, Google Chat, email, and a CLI.
- Extensible – New specialist agents can be added by creating a Python class, prompt, and registration entry; the repo includes a documented procedure.
Architecture at a glance
User → Executive Orchestrator (Claude‑sonnet‑4‑6) → parallel specialist calls
│ │
│ └─ each specialist retrieves
│ relevant context from ChromaDB
│
└─ Built‑in MBA knowledge + uploaded company docs
↓
Synthesised executive response (cached prompt blocks)
- Orchestrator decides which specialist(s) to invoke and merges their outputs.
- Retrieval is performed per‑specialist call; the retrieved chunks are injected into the turn but never stored in the system prompt.
- Prompt caching separates static persona/system prompts from dynamic context, achieving ~85 % cache hit after a few turns.
- Memory & scheduler run as background tasks inside the same FastAPI process.
Tech stack
| Layer | Choice |
|---|---|
| LLM backbone | Anthropic Claude API (default claude‑sonnet‑4‑6; deep reasoning claude‑opus‑4‑7) |
| Backend | Python 3.11, FastAPI, uv package manager |
| Vector store | ChromaDB (embedded, local) |
| Episodic memory | SQLite |
| Scheduler / alerts | Custom job runner using SQL row‑level locking |
| Web UI | Next.js 15 (App Router) + Tailwind |
| Deployments | Fly.io (single‑instance API, stateless UI, optional Honcho memory service) |
| CI / testing | GitHub Actions, pytest, eval suite with LLM‑as‑judge |
| License | Apache 2.0 |
Getting started (local dev)
git clone https://github.com/SenteLabsAI/OpenExecutive.git
cd OpenExecutive
cp .env.example .env # add your Anthropic API key
make dev # starts FastAPI on :8000 and Next.js on :3000
The first run builds the ChromaDB index (downloads a ~90 MB embedding model) and may take a few minutes; subsequent starts are fast.
Running on local models – By setting LOCAL_MODELS_ENABLED=true and pointing LOCAL_BASE_URL at an OpenAI‑compatible server (Ollama, vLLM, etc.) you can replace Claude with any tool‑use‑capable model (e.g., llama3.3). The UI automatically lists the enabled local models, allowing hybrid setups (Executive on Claude, individual specialists on a local model).
Deployment – The repo ships Fly.io configs for two environments (dev and QA). The API app must remain single‑instance because the scheduler relies on row‑level claim semantics. Secrets (Anthropic key, integration tokens, shared‑secret header) are injected via Fly secrets; the UI is gated behind Google sign‑in with an allow‑list.
Typical use cases
- Strategic planning – Ask the executive for market positioning, M&A ideas, or OKR formulation.
- Financial modeling – Get cash‑flow forecasts, fundraising decks, or unit‑economics analysis.
- HR & culture – Draft compensation structures, hiring plans, or employee‑engagement surveys.
- Legal basics – Generate contract clauses, IP checklists, or compliance reminders.
- Operational scaling – Design SOPs, vendor‑management processes, or logistics workflows.
- Marketing & product – Build GTM strategies, product roadmaps, or board decks.
Limitations / cautions
- The system sends any retrieved company‑document snippets to the LLM provider; data never leaves the host except as part of the prompt.
- Scheduler is single‑instance; scaling the API without disabling it will cause duplicate actions.
- Deep‑reasoning agents (
claude‑opus‑4‑7) are more expensive and have higher latency. - Local model support disables web‑search and Anthropic‑specific prompt‑caching features.
- The built‑in MBA knowledge is static Markdown; keeping it up‑to‑date requires manual edits.
Community & contribution – The repo includes a full CI pipeline, an evaluation suite of 29 scenario tests, and guidelines for adding new specialist agents. Contributions must add implementation, unit tests, and eval scenarios.
All information above is taken directly from the repository’s README; no external assumptions have been added.
Related
- Dispatch
- Project
- Project
- Dispatch
- Dispatch