Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Open-source AI business orchestration platform for running governed AI agents across ERP, CRM, Microsoft 365 and other business systems.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Become an AI-first business today.
oc8 is an open-source, self-hosted AI agent orchestration platform for businesses.
It lets AI agents securely work across ERP, CRM, Microsoft 365, Odoo, Slack and other business systems through MCP,
with human approvals, guardrails and audit trails.Read the full README ↗Status: oc8 is under active development. Read Scope and limitations before a production deployment.
oc8 turns "hire someone to do this" into a configuration you can inspect, approve, and audit. You describe the outcome, the agent proposes how it'll get there, and every consequential step — a write, a send, a spend past a threshold — waits for a human unless you've explicitly said otherwise. Your existing software landscape stays exactly where it is — oc8 orchestrates it, it doesn't replace it.
| Step | What happens |
|---|---|
| 1. Describe | State the outcome in plain language: "classify incoming tickets, draft a response, escalate anything about billing." |
| 2. Configure | Assign a model, the knowledge and tools it needs, and the autonomy/escalation boundary — or let the built-in Copilot draft the configuration for you to review. |
| 3. Run | The agent executes on a schedule, an event, or a chat message; every governed action is checked against its permissions before it happens. |
| 4. Govern | Anything over a value threshold or on an always-ask list waits for a human — from the inbox, or from Telegram/WhatsApp. |
Any agent runtime that can be sandboxed and driven through oc8's gateway is hireable.
┌─────────────────────────┐
│ caddy (edge) │
└────────────┬─────────────┘
┌──────────────────┴───────────────────┐
│ │
┌────────▼────────┐ ┌─────────▼─────────┐
│ frontend │ │ backend │
│ (React/Vite SPA) │◄──────REST/WS──────│ (FastAPI, API v1) │
└────────────────────┘ └─────────┬──────────┘
│
┌───────────────────┬───────────────────┬─┴───────────────┐
│ │ │ │
┌──────▼──────┐ ┌───────▼──────┐ ┌────────▼───────┐ ┌──────▼──────┐
│ worker │ │ scheduler │ │ ingestion-worker│ │ postgres │
│ (run executor)│ │ (cron/trigger)│ │ (RAG ingest) │ │ + pgvector │
└───────┬───────┘ └───────────────┘ └─────────────────┘ └─────────────┘
│
│ isolated-runtime agents (opt-in per agent)
▼
┌──────────────────────┐
│ runtime-provisioner │ the ONLY process with Docker socket access
└──────────┬─────────────┘
│ one container per agent — spawned, reaped, never shared
┌────────────────┼────────────────┬────────────────┐
│ │ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ agent A │ │ agent B │ │ agent C │ │ agent N │
│ container │ │ container │ │ container │ │ container │
│ own tools, │ │ own tools, │ │ own tools, │ │ own tools, │
│ own creds │ │ own creds │ │ own creds │ │ own creds │
└────────────┘ └────────────┘ └────────────┘ └────────────┘
Every isolated agent gets its own container — no shared filesystem, no shared
credentials, no visibility into another agent's tools or data. The
runtime-provisioner is the only process in the stack that ever touches the
Docker socket, so the backend and worker processes themselves never carry
that (host-root-equivalent) privilege.
This is the beginning of the README. Read the rest at the original. Read the full README ↗