Your personal AI agent platform — self-hosted, BYO Claude/Codex subscription
127
stars
43
commits
Python
primary language
Sep 9, 2026
updated
OtoDock — Collaborative Agents
The brains of your company, built on Claude Code & Codex, working on your Anthropic and OpenAI subscriptions.
Docs · Install · Features · Discussions
Self-hosted · Multi-tenant by design · Fair source
Runs on Claude Code · Codex · your API keys · local models
Dashboard highlights. The two-minute video tells the whole story.
If OtoDock is useful to you, a star on this repository helps other people find it.
OtoDock acts as the brain of your company. You create powerful agents that connect to the tools your company runs on, work in departments, delegate to each other, and keep working on their own when no one is watching. It is multi-tenant by design. Many people work with the same agents, and there are four modes that decide how an agent is shared and where its work lands. You work with your agents on your self-hosted dashboard, or you can even give them a phone line and talk to them. All of it runs on your own Anthropic and OpenAI subscriptions, and on local models.
Every agent gets a name and a job, like a Personal Assistant, a System Admin or a Marketing Manager, and runs on your server. An agent is made of six parts, and you can edit every one of them.
Every agent has a mode that decides how people share it.
| Mode | What it means |
|---|---|
| Personal only | A private workspace for each person. |
| Personal + shared | A private workspace for each person as the default, and a shared one for the team. |
| Shared + personal | A shared team workspace as the default for everyday work, plus a private one per person. |
| Shared only | Everyone shares one history and one workspace. |
Admins add each person to the agents they need.
| Three platform roles | Three roles on every agent |
|---|---|
| An Admin runs the platform. | A Manager has full control of the agent. |
| A Creator creates agents. | An Editor edits the shared files. |
| A Member uses the agents they are given. | A Viewer chats and reads the shared files. |
Claude Code runs on your Anthropic subscription, and Codex runs on your ChatGPT subscription. Every user connects their own subscription. Local models on your own hardware work as well. You pick the engine per agent, and you can switch it per chat.
Agents run on any schedule, when a webhook event fires, or once at a time you choose. They work in your workspace, where their reports, files and updates land, and they notify you when something needs you. Notifications come in four severities, from a quiet chime to a persistent danger alarm. Every run is a full chat you can open, read and continue, so no one has to be watching.
Agents answer and place phone calls. Bring your own Twilio account, or connect the Asterisk or FreePBX server you already run.
By default, all your agents run on your server, in an isolated sandbox, with one dashboard controlling all of them. You can also pair a laptop, a workstation or a PC running macOS, Linux or Windows with a one-line install. The machine keeps a single outbound connection to your server, so it needs no open ports, and its files stay in sync. The same agent then runs on that machine with full access to it, and you work with it from the same dashboard, anywhere. If the machine goes offline, your server takes over.
https://github.com/user-attachments/assets/2d829ee3-2d4c-4001-8b40-73c2eb90c661
This entire video was directed, captured and edited by an OtoDock agent. Watch it in full quality on otodock.io.
![]() | ![]() |
| Departments. Organize your agents into departments, decide who can delegate to whom, or put them in a meeting together. | Live dashboards. Every agent gets live dashboards, so you can manage them effortlessly. |
![]() | ![]() |
| Endless tools. Your agents are digital employees. They connect to endless tools, from your calendar to your smart home. | Documents. They edit Excel, Word and PowerPoint files right in the chat. |
![]() | ![]() |
| Artifacts. Agents answer with live, interactive UI, rendered right in the chat. | Meetings. Specialist agents discuss a topic together and converge on an answer, live in the dashboard. |
![]() | ![]() |
| Terminal. The Claude Code or Codex terminal opens in the dashboard, with the agent's tools already loaded. | Remote machines. The same agent, with all its tools and its synced workspace, runs on any machine you pair with one command, and it can use everything on that machine. |
Agents are powerful, so OtoDock assumes they can't be trusted. Every server-side agent runs inside a kernel sandbox with always-on network isolation, and you grant access one service at a time.
One platform, the whole toolkit.
See all features at otodock.io/features.
A Linux server with Docker is all you need (4 GB RAM minimum, see the sizing guide). Create a folder for the install, then run the script in it:
mkdir otodock && cd otodock
curl -fsSLO https://raw.githubusercontent.com/OtoDock/oto-dock/main/scripts/install.sh
bash install.sh
The installer checks Docker, writes a .env with a generated database
password, handles the Ubuntu 24.04+ host step automatically when the host
needs it, downloads the release-pinned docker-compose.yml plus the
phone-service overlay, and starts the stack. Everything lands in the folder
you run it from. The script performs fresh installs only, and stops rather
than touch an existing install.
If your users browse to the server by name or IP, set DASHBOARD_PUBLIC_URL
in the generated .env. Behind a reverse proxy, also set TRUSTED_PROXY to
your proxy's IP
(reverse proxy & HTTPS).
Every optional knob is documented in the
Configuration reference,
and the installation guide
also covers building from source, bare-metal development, and running
behind a reverse proxy with HTTPS.
Open http://localhost:8400 and the setup wizard greets you. Create the owner account, and OtoDock installs the Personal Assistant for you, with the tools it needs. Connect your Claude or ChatGPT subscription under Setup, AI Engines, and the banner that reminds you goes away. Open the Personal Assistant from the Agents page and send it your first message. Its reply streams in live, with every tool call and every file it creates (First run). From there you add agents from the community catalog or build your own, and you add the people who will work with them.
dashboard/ React dashboard — chat, agents, tasks, files, admin
proxy/ Platform core (FastAPI) — sessions, security, scheduling,
the agent sandbox, and the WebSocket hub the dashboard talks to
mcps/ MCP tool servers: OtoDock's custom set (files, memory, tasks,
meetings, notifications, …) + community mirrors
audio/ Speech package — STT / TTS / voice activity, provider-agnostic
phone/ Telephony daemon — live calls over Twilio or FreePBX/Asterisk
satellite/ Remote-machine agent — pairs your own hardware to the platform
scripts/ Install, compose, backup/restore, and maintainer tooling
Agents run as Claude Code / Codex processes inside per-session kernel sandboxes, talk to their tools over MCP, and stream every step back to the dashboard. PostgreSQL holds the platform state.
Contributions are welcome: see CONTRIBUTING.md. Security reports: SECURITY.md.
OtoDock is fair source: licensed under the Functional Source License, v1.1, with Apache 2.0 future grant (FSL-1.1-Apache-2.0). You can use, run, modify, and redistribute it for anything except competing with OtoDock commercially — and each version automatically becomes plain Apache 2.0 two years after its release.
Self-hosting is free for up to 5 users. Growing teams license by seats. Same software, signed key, no feature gates on your data or your agents.
OtoDock started with Claude Code. I wanted to use it beyond the terminal and connect it to my services. So I built the platform around that idea. It has since become the place where my own agents work: large parts of OtoDock were built, tested, and shipped by agents running on OtoDock.
It's fair source so you can run it the same way for your company, and you can share your builds in the discussions.
— Dimitris Mourtzis
43 commits
Python
79.4%
TypeScript
18.3%
Your personal AI agent platform — self-hosted, BYO Claude/Codex subscription
127
stars
43
commits
Python
primary language
Sep 9, 2026
updated
OtoDock — Collaborative Agents
The brains of your company, built on Claude Code & Codex, working on your Anthropic and OpenAI subscriptions.
Docs · Install · Features · Discussions
Self-hosted · Multi-tenant by design · Fair source
Runs on Claude Code · Codex · your API keys · local models
Dashboard highlights. The two-minute video tells the whole story.
If OtoDock is useful to you, a star on this repository helps other people find it.
OtoDock acts as the brain of your company. You create powerful agents that connect to the tools your company runs on, work in departments, delegate to each other, and keep working on their own when no one is watching. It is multi-tenant by design. Many people work with the same agents, and there are four modes that decide how an agent is shared and where its work lands. You work with your agents on your self-hosted dashboard, or you can even give them a phone line and talk to them. All of it runs on your own Anthropic and OpenAI subscriptions, and on local models.
Every agent gets a name and a job, like a Personal Assistant, a System Admin or a Marketing Manager, and runs on your server. An agent is made of six parts, and you can edit every one of them.
Every agent has a mode that decides how people share it.
| Mode | What it means |
|---|---|
| Personal only | A private workspace for each person. |
| Personal + shared | A private workspace for each person as the default, and a shared one for the team. |
| Shared + personal | A shared team workspace as the default for everyday work, plus a private one per person. |
| Shared only | Everyone shares one history and one workspace. |
Admins add each person to the agents they need.
| Three platform roles | Three roles on every agent |
|---|---|
| An Admin runs the platform. | A Manager has full control of the agent. |
| A Creator creates agents. | An Editor edits the shared files. |
| A Member uses the agents they are given. | A Viewer chats and reads the shared files. |
Claude Code runs on your Anthropic subscription, and Codex runs on your ChatGPT subscription. Every user connects their own subscription. Local models on your own hardware work as well. You pick the engine per agent, and you can switch it per chat.
Agents run on any schedule, when a webhook event fires, or once at a time you choose. They work in your workspace, where their reports, files and updates land, and they notify you when something needs you. Notifications come in four severities, from a quiet chime to a persistent danger alarm. Every run is a full chat you can open, read and continue, so no one has to be watching.
Agents answer and place phone calls. Bring your own Twilio account, or connect the Asterisk or FreePBX server you already run.
By default, all your agents run on your server, in an isolated sandbox, with one dashboard controlling all of them. You can also pair a laptop, a workstation or a PC running macOS, Linux or Windows with a one-line install. The machine keeps a single outbound connection to your server, so it needs no open ports, and its files stay in sync. The same agent then runs on that machine with full access to it, and you work with it from the same dashboard, anywhere. If the machine goes offline, your server takes over.
https://github.com/user-attachments/assets/2d829ee3-2d4c-4001-8b40-73c2eb90c661
This entire video was directed, captured and edited by an OtoDock agent. Watch it in full quality on otodock.io.
![]() | ![]() |
| Departments. Organize your agents into departments, decide who can delegate to whom, or put them in a meeting together. | Live dashboards. Every agent gets live dashboards, so you can manage them effortlessly. |
![]() | ![]() |
| Endless tools. Your agents are digital employees. They connect to endless tools, from your calendar to your smart home. | Documents. They edit Excel, Word and PowerPoint files right in the chat. |
![]() | ![]() |
| Artifacts. Agents answer with live, interactive UI, rendered right in the chat. | Meetings. Specialist agents discuss a topic together and converge on an answer, live in the dashboard. |
![]() | ![]() |
| Terminal. The Claude Code or Codex terminal opens in the dashboard, with the agent's tools already loaded. | Remote machines. The same agent, with all its tools and its synced workspace, runs on any machine you pair with one command, and it can use everything on that machine. |
Agents are powerful, so OtoDock assumes they can't be trusted. Every server-side agent runs inside a kernel sandbox with always-on network isolation, and you grant access one service at a time.
One platform, the whole toolkit.
See all features at otodock.io/features.
A Linux server with Docker is all you need (4 GB RAM minimum, see the sizing guide). Create a folder for the install, then run the script in it:
mkdir otodock && cd otodock
curl -fsSLO https://raw.githubusercontent.com/OtoDock/oto-dock/main/scripts/install.sh
bash install.sh
The installer checks Docker, writes a .env with a generated database
password, handles the Ubuntu 24.04+ host step automatically when the host
needs it, downloads the release-pinned docker-compose.yml plus the
phone-service overlay, and starts the stack. Everything lands in the folder
you run it from. The script performs fresh installs only, and stops rather
than touch an existing install.
If your users browse to the server by name or IP, set DASHBOARD_PUBLIC_URL
in the generated .env. Behind a reverse proxy, also set TRUSTED_PROXY to
your proxy's IP
(reverse proxy & HTTPS).
Every optional knob is documented in the
Configuration reference,
and the installation guide
also covers building from source, bare-metal development, and running
behind a reverse proxy with HTTPS.
Open http://localhost:8400 and the setup wizard greets you. Create the owner account, and OtoDock installs the Personal Assistant for you, with the tools it needs. Connect your Claude or ChatGPT subscription under Setup, AI Engines, and the banner that reminds you goes away. Open the Personal Assistant from the Agents page and send it your first message. Its reply streams in live, with every tool call and every file it creates (First run). From there you add agents from the community catalog or build your own, and you add the people who will work with them.
dashboard/ React dashboard — chat, agents, tasks, files, admin
proxy/ Platform core (FastAPI) — sessions, security, scheduling,
the agent sandbox, and the WebSocket hub the dashboard talks to
mcps/ MCP tool servers: OtoDock's custom set (files, memory, tasks,
meetings, notifications, …) + community mirrors
audio/ Speech package — STT / TTS / voice activity, provider-agnostic
phone/ Telephony daemon — live calls over Twilio or FreePBX/Asterisk
satellite/ Remote-machine agent — pairs your own hardware to the platform
scripts/ Install, compose, backup/restore, and maintainer tooling
Agents run as Claude Code / Codex processes inside per-session kernel sandboxes, talk to their tools over MCP, and stream every step back to the dashboard. PostgreSQL holds the platform state.
Contributions are welcome: see CONTRIBUTING.md. Security reports: SECURITY.md.
OtoDock is fair source: licensed under the Functional Source License, v1.1, with Apache 2.0 future grant (FSL-1.1-Apache-2.0). You can use, run, modify, and redistribute it for anything except competing with OtoDock commercially — and each version automatically becomes plain Apache 2.0 two years after its release.
Self-hosting is free for up to 5 users. Growing teams license by seats. Same software, signed key, no feature gates on your data or your agents.
OtoDock started with Claude Code. I wanted to use it beyond the terminal and connect it to my services. So I built the platform around that idea. It has since become the place where my own agents work: large parts of OtoDock were built, tested, and shipped by agents running on OtoDock.
It's fair source so you can run it the same way for your company, and you can share your builds in the discussions.
— Dimitris Mourtzis
43 commits
Python
79.4%
TypeScript
18.3%