Open-source, self-hosted alternative to Claude Managed Agents: run Claude Code, Codex, Hermes, DeepSeek Harness and Pi as managed Agents on your own infrastructure.
See the code
The open-source, self-hosted alternative to Claude Managed Agents.
No signup. Ask an Agent to write and run code with a free model.
Offline sandbox · Sessions last about 2 minutes.
Open source · Self-hosted · Apache-2.0
English · 简体中文
Turn the Agent programs you already use into cloud Agents that stay available 24/7. AstraBox runs Claude Code, Codex, Hermes, DeepSeek Harness and Pi on your own infrastructure, with any model. Conversations start and resume in seconds; Sessions, sandboxes, credentials and history stay under your control.
You do not have to turn an Agent program into a service yourself, manage sandbox lifecycle, or maintain long-lived connections. Deploy AstraBox, create an Agent in the web console, and start a Session. Complex tasks run in a cloud sandbox while results stream back in real time.
AstraBox runs the Agent programs you already use as cloud Agents that can be reached remotely, continue long-running work, and connect to your applications, automations, and messaging platforms. The web console, API, Session records, authentication, and sandboxes all run on infrastructure you control.
One platform for team Agents and personal Assistants. An Agent is a reusable cloud Agent for teams and automation, started from the web console, the API, schedules, webhooks, messaging platforms or an MCP client. An Assistant is one person's long-lived cloud workspace: all of its conversations share one workspace and the Agent program's state.
| Concept | Description | Analogy |
|---|---|---|
| Agent | A cloud Agent powered by an installed Agent program | "Cloud teammate" |
| Environment | The Agent program, sandbox, model connection, network access, and lifecycle used for a Session | "Desk and toolbox" |
| Session | One stateful Agent execution, including its messages, Events, and current state | "A specific piece of work" |
| Event | The real-time output and state changes produced by a Session | "Live progress feed" |
Through these resources, developers can run interactive or long-running tasks, connect remote or local MCP servers, Plugins, Skills, and repositories, trigger Agents from schedules, webhooks, APIs, and messaging platforms, and protect access with authentication, authorization, isolated sandboxes, and managed credentials.
Explore AstraBox capabilities →
One deployment brings up the pieces a team usually assembles by hand:
ASTRABOX_INSTALL_TEAM_LOGIN=casdoor, and a clone
with one Compose overlay; see Team login.The astrabox CLI configures and uses a local or remote deployment without the
web console. Its results can be printed as JSON, so a coding agent such as
Claude Code or Codex can run the same commands for you.
astrabox init --from-deployment exports a
deployment's Environments and Agents to astrabox.yaml; astrabox diff
previews an edit and astrabox apply creates or updates resources, never
deleting any.astrabox run <agent> "<task>" starts a
Session, sends the task and streams the reply; --session continues an
existing Session.--output json a command prints one
JSON object whether it succeeds or fails, and each kind of failure has its
own exit code.astrabox mcp serve offers schema, get, export, diff, apply,
status and run as MCP tools over stdio.astrabox up, down and logs run the local Compose
deployment from a source checkout; the other commands reach any deployment
with --endpoint and a bearer token or OAuth client credentials.Install the CLI from a source checkout with make install. Deployments
(schedule, webhook and messaging triggers) and answers to an Agent's questions
are managed in the web console or the HTTP API. See the
CLI overview.
| Agent program | Sandbox image | Used for |
|---|---|---|
| Claude Code | ghcr.io/colton-z/astrabox-sandbox-claude-code | Agent |
| Codex | ghcr.io/colton-z/astrabox-sandbox-codex | Agent |
| DeepSeek Harness | ghcr.io/colton-z/astrabox-sandbox-deepseek-harness | Agent |
| pi | ghcr.io/colton-z/astrabox-sandbox-pi | Agent |
| Hermes Agent | ghcr.io/colton-z/astrabox-sandbox-hermes | Assistant |
Other Agent programs can be added with a compatible sandbox image. See Add an Agent program.
Each replaceable part of AstraBox is a Python interface with a plugin registration point. An installed package registers its implementation under the matching entry-point group, and AstraBox selects it by name; an unknown name fails with an error instead of falling back to a default.
| Extension point | Entry-point group | Built in |
|---|---|---|
| Agent program | astrabox.providers.engine | Every included Agent program |
| Sandbox backend | astrabox.providers.sandbox | OpenSandbox on Docker or Kubernetes |
| Model service | astrabox.providers.model | LiteLLM gateway |
| Messaging platform | astrabox.providers.channel | Messaging platform gateway, generic JSON webhook |
| Identity provider | astrabox.web.identity | Local mode, OIDC, verified JWT, trusted identity headers |
| Secret Store | astrabox.providers.secrets | Local encryption, AWS KMS |
| Data store | astrabox.providers.repository | PostgreSQL, MongoDB, SQLite |
| Workspace storage | astrabox.providers.storage | Mounted volume, Amazon EFS |
| Remote MCP server source | astrabox.providers.extensions | Administrator records in AstraBox, LiteLLM MCP gateway |
astrabox.providers.* can set
seams_api_version to the interface version it was built against; AstraBox
refuses to load it when that differs from its own.astrabox.testing ships reusable test suites for
sandbox backends, workspace storage, messaging platforms, Agent programs and
data stores; bind one in the plugin's own tests.See Add an Agent program, Add a messaging platform, Use AstraBox from a Python application and Extensions.
Install the latest release with one command:
curl -fsSL https://raw.githubusercontent.com/Colton-z/AstraBox/main/scripts/install.sh | bash
The installer asks which model service your Agents use, installs the deployment
into ~/astrabox, pulls the published images, starts them, and prints the
console address once the console answers. Open http://127.0.0.1:8088. Select
an Environment, create an Agent, and start your first Session from the console.

The local deployment listens on loopback and requires no login until you turn
on team login, which the installer does with ASTRABOX_INSTALL_TEAM_LOGIN=casdoor.
Before exposing it to another network, put it behind an HTTPS proxy as described
in Team login.
Run the installer again to upgrade: it installs the latest release over the current one and keeps your Sessions, credentials and settings.
Building the images from a checkout takes longer and is the path for changing AstraBox itself:
git clone https://github.com/Colton-z/AstraBox.git
cd AstraBox
make build-agent-image
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export ANTHROPIC_MODEL="your-model-name"
scripts/compose.sh up --build -d
For the complete setup and API alternative, see the Quickstart. For the installer settings, Kubernetes, or an existing OpenSandbox service, see Deploy AstraBox.
Prewarming prepares the Agent runtime before a Session claims it. New Agents have it on in the bundled deployments, and each one holds an idle prepared sandbox; see capacity planning. Native conversation state is stored in the platform database; a persistent workspace volume is optional and preserves task files separately. For multiple API replicas or sandbox nodes, see distributed deployment and workspace storage.
Local Agent programs remain the best fit for interactive development on one computer. AstraBox makes the same kind of Agent available remotely and to other systems; the two approaches complement each other.
make install
make build-agent-image
make build-assistant-image
make dev
Open http://127.0.0.1:5173. See CONTRIBUTING.md for the maintained workflow.
Issues and pull requests are welcome. Start with CONTRIBUTING.md.
AstraBox stands on the shoulders of these open-source projects: OpenSandbox, LiteLLM, Casdoor, Satori, DBOS Transact, mergerfs, AIO Sandbox, shadcn/ui, Vercel AI SDK and AI Elements and Docusaurus — and it runs the Agent programs Codex, Hermes Agent, DeepSeek Harness, Pi and Claude Code. NOTICE lists every attribution and license.
Apache License 2.0. See LICENSE.
Claude and Claude Code are trademarks of Anthropic; OpenAI and Codex are trademarks of OpenAI. AstraBox is an independent project, not affiliated with or endorsed by them. Claude Code is proprietary software used under Anthropic's terms; see NOTICE.
5 commits
Python
65.6%
TypeScript
31.8%
Shell
1.2%
Open-source, self-hosted alternative to Claude Managed Agents: run Claude Code, Codex, Hermes, DeepSeek Harness and Pi as managed Agents on your own infrastructure.
See the code
The open-source, self-hosted alternative to Claude Managed Agents.
No signup. Ask an Agent to write and run code with a free model.
Offline sandbox · Sessions last about 2 minutes.
Open source · Self-hosted · Apache-2.0
English · 简体中文
Turn the Agent programs you already use into cloud Agents that stay available 24/7. AstraBox runs Claude Code, Codex, Hermes, DeepSeek Harness and Pi on your own infrastructure, with any model. Conversations start and resume in seconds; Sessions, sandboxes, credentials and history stay under your control.
You do not have to turn an Agent program into a service yourself, manage sandbox lifecycle, or maintain long-lived connections. Deploy AstraBox, create an Agent in the web console, and start a Session. Complex tasks run in a cloud sandbox while results stream back in real time.
AstraBox runs the Agent programs you already use as cloud Agents that can be reached remotely, continue long-running work, and connect to your applications, automations, and messaging platforms. The web console, API, Session records, authentication, and sandboxes all run on infrastructure you control.
One platform for team Agents and personal Assistants. An Agent is a reusable cloud Agent for teams and automation, started from the web console, the API, schedules, webhooks, messaging platforms or an MCP client. An Assistant is one person's long-lived cloud workspace: all of its conversations share one workspace and the Agent program's state.
| Concept | Description | Analogy |
|---|---|---|
| Agent | A cloud Agent powered by an installed Agent program | "Cloud teammate" |
| Environment | The Agent program, sandbox, model connection, network access, and lifecycle used for a Session | "Desk and toolbox" |
| Session | One stateful Agent execution, including its messages, Events, and current state | "A specific piece of work" |
| Event | The real-time output and state changes produced by a Session | "Live progress feed" |
Through these resources, developers can run interactive or long-running tasks, connect remote or local MCP servers, Plugins, Skills, and repositories, trigger Agents from schedules, webhooks, APIs, and messaging platforms, and protect access with authentication, authorization, isolated sandboxes, and managed credentials.
Explore AstraBox capabilities →
One deployment brings up the pieces a team usually assembles by hand:
ASTRABOX_INSTALL_TEAM_LOGIN=casdoor, and a clone
with one Compose overlay; see Team login.The astrabox CLI configures and uses a local or remote deployment without the
web console. Its results can be printed as JSON, so a coding agent such as
Claude Code or Codex can run the same commands for you.
astrabox init --from-deployment exports a
deployment's Environments and Agents to astrabox.yaml; astrabox diff
previews an edit and astrabox apply creates or updates resources, never
deleting any.astrabox run <agent> "<task>" starts a
Session, sends the task and streams the reply; --session continues an
existing Session.--output json a command prints one
JSON object whether it succeeds or fails, and each kind of failure has its
own exit code.astrabox mcp serve offers schema, get, export, diff, apply,
status and run as MCP tools over stdio.astrabox up, down and logs run the local Compose
deployment from a source checkout; the other commands reach any deployment
with --endpoint and a bearer token or OAuth client credentials.Install the CLI from a source checkout with make install. Deployments
(schedule, webhook and messaging triggers) and answers to an Agent's questions
are managed in the web console or the HTTP API. See the
CLI overview.
| Agent program | Sandbox image | Used for |
|---|---|---|
| Claude Code | ghcr.io/colton-z/astrabox-sandbox-claude-code | Agent |
| Codex | ghcr.io/colton-z/astrabox-sandbox-codex | Agent |
| DeepSeek Harness | ghcr.io/colton-z/astrabox-sandbox-deepseek-harness | Agent |
| pi | ghcr.io/colton-z/astrabox-sandbox-pi | Agent |
| Hermes Agent | ghcr.io/colton-z/astrabox-sandbox-hermes | Assistant |
Other Agent programs can be added with a compatible sandbox image. See Add an Agent program.
Each replaceable part of AstraBox is a Python interface with a plugin registration point. An installed package registers its implementation under the matching entry-point group, and AstraBox selects it by name; an unknown name fails with an error instead of falling back to a default.
| Extension point | Entry-point group | Built in |
|---|---|---|
| Agent program | astrabox.providers.engine | Every included Agent program |
| Sandbox backend | astrabox.providers.sandbox | OpenSandbox on Docker or Kubernetes |
| Model service | astrabox.providers.model | LiteLLM gateway |
| Messaging platform | astrabox.providers.channel | Messaging platform gateway, generic JSON webhook |
| Identity provider | astrabox.web.identity | Local mode, OIDC, verified JWT, trusted identity headers |
| Secret Store | astrabox.providers.secrets | Local encryption, AWS KMS |
| Data store | astrabox.providers.repository | PostgreSQL, MongoDB, SQLite |
| Workspace storage | astrabox.providers.storage | Mounted volume, Amazon EFS |
| Remote MCP server source | astrabox.providers.extensions | Administrator records in AstraBox, LiteLLM MCP gateway |
astrabox.providers.* can set
seams_api_version to the interface version it was built against; AstraBox
refuses to load it when that differs from its own.astrabox.testing ships reusable test suites for
sandbox backends, workspace storage, messaging platforms, Agent programs and
data stores; bind one in the plugin's own tests.See Add an Agent program, Add a messaging platform, Use AstraBox from a Python application and Extensions.
Install the latest release with one command:
curl -fsSL https://raw.githubusercontent.com/Colton-z/AstraBox/main/scripts/install.sh | bash
The installer asks which model service your Agents use, installs the deployment
into ~/astrabox, pulls the published images, starts them, and prints the
console address once the console answers. Open http://127.0.0.1:8088. Select
an Environment, create an Agent, and start your first Session from the console.

The local deployment listens on loopback and requires no login until you turn
on team login, which the installer does with ASTRABOX_INSTALL_TEAM_LOGIN=casdoor.
Before exposing it to another network, put it behind an HTTPS proxy as described
in Team login.
Run the installer again to upgrade: it installs the latest release over the current one and keeps your Sessions, credentials and settings.
Building the images from a checkout takes longer and is the path for changing AstraBox itself:
git clone https://github.com/Colton-z/AstraBox.git
cd AstraBox
make build-agent-image
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export ANTHROPIC_MODEL="your-model-name"
scripts/compose.sh up --build -d
For the complete setup and API alternative, see the Quickstart. For the installer settings, Kubernetes, or an existing OpenSandbox service, see Deploy AstraBox.
Prewarming prepares the Agent runtime before a Session claims it. New Agents have it on in the bundled deployments, and each one holds an idle prepared sandbox; see capacity planning. Native conversation state is stored in the platform database; a persistent workspace volume is optional and preserves task files separately. For multiple API replicas or sandbox nodes, see distributed deployment and workspace storage.
Local Agent programs remain the best fit for interactive development on one computer. AstraBox makes the same kind of Agent available remotely and to other systems; the two approaches complement each other.
make install
make build-agent-image
make build-assistant-image
make dev
Open http://127.0.0.1:5173. See CONTRIBUTING.md for the maintained workflow.
Issues and pull requests are welcome. Start with CONTRIBUTING.md.
AstraBox stands on the shoulders of these open-source projects: OpenSandbox, LiteLLM, Casdoor, Satori, DBOS Transact, mergerfs, AIO Sandbox, shadcn/ui, Vercel AI SDK and AI Elements and Docusaurus — and it runs the Agent programs Codex, Hermes Agent, DeepSeek Harness, Pi and Claude Code. NOTICE lists every attribution and license.
Apache License 2.0. See LICENSE.
Claude and Claude Code are trademarks of Anthropic; OpenAI and Codex are trademarks of OpenAI. AstraBox is an independent project, not affiliated with or endorsed by them. Claude Code is proprietary software used under Anthropic's terms; see NOTICE.
5 commits
Python
65.6%
TypeScript
31.8%
Shell
1.2%