OtoDock/oto-dock

Your personal AI agent platform — self-hosted, BYO Claude/Codex subscription

127

stars

43

commits

Python

primary language

Sep 9, 2026

updated

otodock.io
agent-platform
ai-agents
claude-code
codex
docker
llm
mcp
self-hosted

README

OtoDock

OtoDock — Collaborative Agents

The agentic company OS.

The brains of your company, built on Claude Code & Codex, working on your Anthropic and OpenAI subscriptions.

License: FSL-1.1-Apache-2.0 Version CI Docs Website

Docs · Install · Features · Discussions


Self-hosted · Multi-tenant by design · Fair source
Runs on  Claude Code · Codex · your API keys · local models


Seven faces of the OtoDock dashboard: the company map, an agent's dashboard, an Excel file in the chat, an artifact, the tools page, a meeting and the terminal

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.


Why OtoDock

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.

Build your own AI agents

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.

  • Persona. Plain-language instructions tell the agent who it is and how it works.
  • Memory. The agent keeps its own notes across chats.
  • Workspace. The folder where the everyday work lands. It is private for each person, shared by the whole team, or both, depending on the agent's mode.
  • Knowledge. Reference documents are always on hand.
  • Skills. The agent learns techniques it can apply to its work.
  • Tools. The agent uses only what it is allowed to use.

An agent with its six parts around it: persona, memory, workspace, knowledge, skills and tools

Four ways to share one agent

Every agent has a mode that decides how people share it.

ModeWhat it means
Personal onlyA private workspace for each person.
Personal + sharedA private workspace for each person as the default, and a shared one for the team.
Shared + personalA shared team workspace as the default for everyday work, plus a private one per person.
Shared onlyEveryone shares one history and one workspace.

Everyone gets the right seat

Admins add each person to the agents they need.

Three platform rolesThree 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 or Codex. Your subscription.

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.

Claude Code and Codex plugged into one agent, each with a your-subscription tag

They work while you are away

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.

Three triggers feeding an agent that works in the workspace and sends notifications

Give an agent a phone number

Agents answer and place phone calls. Bring your own Twilio account, or connect the Asterisk or FreePBX server you already run.

An agent with a phone number, taking incoming and outgoing calls over Twilio or Asterisk and FreePBX

Runs on your server. Works on your machines.

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.

Your server with its agents, linked to a paired laptop, workstation and PC

Your own cloud of agents.

The two-minute video

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.

The company, running

The 3D company map: the Engineering, Marketing and Independent stages with their agents and the delegation lines between themThe CEO agent's dashboard: the company graph and the day's numbers, kept fresh by the agent
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.
The home agent's control panel: alarm, climate, scenes and light sliders, run by the agentAn Excel workbook opened and edited inside the chat, sheets and charts included
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.
An interactive party budget built by the agent, rendered inside the chatThe CEO agent opening a meeting with the developer agent, its work streaming live 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.
A Claude Code terminal running inside the dashboard with the agent's tools loadedYour server and the paired machines it runs agents on
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.

Locked down by default

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.

  • A kernel sandbox around every agent. Each session runs in its own mount and process namespace. Folders are mounted automatically from each user's role per agent.
  • Network isolation. Private ranges, your LAN, and cloud metadata endpoints are unreachable by design. MCP tools that need a local service can be granted scoped access by the admin, per agent.
  • Secure credentials. Credentials are encrypted at rest and injected only per session. Agents can use them, but never see them.
  • Ready for teams. SSO sign-in, two-factor auth, and per-user cost budgets come standard, from the first install.

Read the security model →

Everything included

One platform, the whole toolkit.

  • Memory that persists. Agents keep transparent, editable memory files, per user and per agent.
  • Documents and files. Agents create and edit Word, Excel, PowerPoint and PDF files, and every file opens in a live editor inside the chat.
  • Images. Agents generate and edit images in the chat, and a professional-grade pipeline handles photo editing.
  • Video and audio. Agents generate footage and transitions, cut timelines, add captions, voice-overs and music, transcribe audio and video into text and subtitles, and produce speech and music of their own.
  • Web browsing. The browser tool from the community catalog lets agents research the live web.
  • Built-in tools. Schedules, triggers, notifications, meetings, delegation, phone calls, file transfer between agents, live charts and mini-apps, SSH hosts, and browser and computer control on paired machines all ship with the platform.
  • Community catalog. Ready-made agents, tools and skills install in one click, with GitHub, Notion, Home Assistant, Nextcloud, Prometheus, UniFi and Uptime Kuma among them, and more landing regularly.
  • Extensible by design. Any MCP tool server installs from a manifest, and tools are assigned per agent.
  • Usage and budgets. Costs are tracked per user and per agent, with weekly or monthly limits.
  • Team-ready security. SSO and OIDC, two-factor auth, per-agent roles, encrypted credentials and scoped API keys come from day one.

See all features at otodock.io/features.

Quick start

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.

The first five minutes

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.

How it fits together

 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.

Community

Contributions are welcome: see CONTRIBUTING.md. Security reports: SECURITY.md.

License

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.

A note from the author

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

Contributors

OtoDock/oto-dock

Your personal AI agent platform — self-hosted, BYO Claude/Codex subscription

127

stars

43

commits

Python

primary language

Sep 9, 2026

updated

otodock.io
agent-platform
ai-agents
claude-code
codex
docker
llm
mcp
self-hosted

README

OtoDock

OtoDock — Collaborative Agents

The agentic company OS.

The brains of your company, built on Claude Code & Codex, working on your Anthropic and OpenAI subscriptions.

License: FSL-1.1-Apache-2.0 Version CI Docs Website

Docs · Install · Features · Discussions


Self-hosted · Multi-tenant by design · Fair source
Runs on  Claude Code · Codex · your API keys · local models


Seven faces of the OtoDock dashboard: the company map, an agent's dashboard, an Excel file in the chat, an artifact, the tools page, a meeting and the terminal

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.


Why OtoDock

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.

Build your own AI agents

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.

  • Persona. Plain-language instructions tell the agent who it is and how it works.
  • Memory. The agent keeps its own notes across chats.
  • Workspace. The folder where the everyday work lands. It is private for each person, shared by the whole team, or both, depending on the agent's mode.
  • Knowledge. Reference documents are always on hand.
  • Skills. The agent learns techniques it can apply to its work.
  • Tools. The agent uses only what it is allowed to use.

An agent with its six parts around it: persona, memory, workspace, knowledge, skills and tools

Four ways to share one agent

Every agent has a mode that decides how people share it.

ModeWhat it means
Personal onlyA private workspace for each person.
Personal + sharedA private workspace for each person as the default, and a shared one for the team.
Shared + personalA shared team workspace as the default for everyday work, plus a private one per person.
Shared onlyEveryone shares one history and one workspace.

Everyone gets the right seat

Admins add each person to the agents they need.

Three platform rolesThree 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 or Codex. Your subscription.

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.

Claude Code and Codex plugged into one agent, each with a your-subscription tag

They work while you are away

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.

Three triggers feeding an agent that works in the workspace and sends notifications

Give an agent a phone number

Agents answer and place phone calls. Bring your own Twilio account, or connect the Asterisk or FreePBX server you already run.

An agent with a phone number, taking incoming and outgoing calls over Twilio or Asterisk and FreePBX

Runs on your server. Works on your machines.

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.

Your server with its agents, linked to a paired laptop, workstation and PC

Your own cloud of agents.

The two-minute video

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.

The company, running

The 3D company map: the Engineering, Marketing and Independent stages with their agents and the delegation lines between themThe CEO agent's dashboard: the company graph and the day's numbers, kept fresh by the agent
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.
The home agent's control panel: alarm, climate, scenes and light sliders, run by the agentAn Excel workbook opened and edited inside the chat, sheets and charts included
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.
An interactive party budget built by the agent, rendered inside the chatThe CEO agent opening a meeting with the developer agent, its work streaming live 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.
A Claude Code terminal running inside the dashboard with the agent's tools loadedYour server and the paired machines it runs agents on
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.

Locked down by default

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.

  • A kernel sandbox around every agent. Each session runs in its own mount and process namespace. Folders are mounted automatically from each user's role per agent.
  • Network isolation. Private ranges, your LAN, and cloud metadata endpoints are unreachable by design. MCP tools that need a local service can be granted scoped access by the admin, per agent.
  • Secure credentials. Credentials are encrypted at rest and injected only per session. Agents can use them, but never see them.
  • Ready for teams. SSO sign-in, two-factor auth, and per-user cost budgets come standard, from the first install.

Read the security model →

Everything included

One platform, the whole toolkit.

  • Memory that persists. Agents keep transparent, editable memory files, per user and per agent.
  • Documents and files. Agents create and edit Word, Excel, PowerPoint and PDF files, and every file opens in a live editor inside the chat.
  • Images. Agents generate and edit images in the chat, and a professional-grade pipeline handles photo editing.
  • Video and audio. Agents generate footage and transitions, cut timelines, add captions, voice-overs and music, transcribe audio and video into text and subtitles, and produce speech and music of their own.
  • Web browsing. The browser tool from the community catalog lets agents research the live web.
  • Built-in tools. Schedules, triggers, notifications, meetings, delegation, phone calls, file transfer between agents, live charts and mini-apps, SSH hosts, and browser and computer control on paired machines all ship with the platform.
  • Community catalog. Ready-made agents, tools and skills install in one click, with GitHub, Notion, Home Assistant, Nextcloud, Prometheus, UniFi and Uptime Kuma among them, and more landing regularly.
  • Extensible by design. Any MCP tool server installs from a manifest, and tools are assigned per agent.
  • Usage and budgets. Costs are tracked per user and per agent, with weekly or monthly limits.
  • Team-ready security. SSO and OIDC, two-factor auth, per-agent roles, encrypted credentials and scoped API keys come from day one.

See all features at otodock.io/features.

Quick start

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.

The first five minutes

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.

How it fits together

 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.

Community

Contributions are welcome: see CONTRIBUTING.md. Security reports: SECURITY.md.

License

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.

A note from the author

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

Contributors

Languages

Python

79.4%

TypeScript

18.3%