# mosoo **Repository Path**: dify_ai/mosoo ## Basic Information - **Project Name**: mosoo - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-02 - **Last Updated**: 2026-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

mosoo

# mosoo **An open-source agent runtime for coding agents.** Run OpenAI Codex, Claude Agent SDK, and OpenCode behind API endpoints in isolated AI agent sandboxes. mosoo provides a Cloudflare-native control plane to stream tool activity, inspect Run history, and keep Threads and files across executions. It is self-hostable in your own account. Your application remains yours. Its backend owns product behavior and end-user access. mosoo focuses on Agent execution and lifecycle; App Deployment is a separate Alpha surface, not the core product contract. ```text configure Agent + Skills + MCP + provider -> preview and publish an Agent version -> call it from a backend or the mosoo console -> stream events, handle permission requests, inspect files and usage -> continue a durable Thread across Runs ```

Try mosoo · Website · API Documentation · mosoo Connector

## Agent Runtime and API: What Works Today - **Agent runtime and control plane.** Configure and run OpenAI Codex, Claude Agent SDK, and OpenCode behind one normalized runtime protocol. - **Agent API.** Start, follow, continue, stop, archive, and delete Agent work from a trusted backend. - **AI agent sandboxes.** Stream responses and tool activity, handle permission requests, cancel work, and inspect diagnostics in isolated execution environments. - **Durable work.** Keep Threads, Runs, events, and managed files across individual executions. - **Agent observability.** Inspect Run status, replayable activity, diagnostics, and usage estimates; this is operational visibility, not a compliance audit trail or provider bill. ## Who It Is For mosoo is for developers extending Codex, Claude Agent SDK, OpenCode, or another coding agent into products and automations who do not want to operate a separate agent runtime, Sandbox service, session store, file pipeline, and Agent API for every integration. ## Product Status mosoo is in Alpha. The managed runtime and Agent API surfaces above are shipped and covered by repository tests, but production reliability and external adoption have not been proven. Public APIs and product behavior may still change. Product and engineering references: - Canonical product contract: [docs/SPEC.md](./docs/SPEC.md) - PRD index and historical implementation contracts: [docs/prd/README.md](./docs/prd/README.md) - Current implementation architecture: [docs/architecture.md](./docs/architecture.md) - Development and contribution guide: [CONTRIBUTING.md](./CONTRIBUTING.md) ## Example: Build a Codex Agent API [Codex Pet](./examples/use-cases/codex-pet.md) shows a published mosoo Agent integrated into an existing product backend through the Thread API. The same API can expose Agents backed by Claude Agent SDK or OpenCode. https://github.com/user-attachments/assets/4a4bbaab-c192-4462-99e0-020eab966fff ## Docker Deployment The supported Compose deployment targets a dedicated **Linux Docker host**. Mosoo uses the host network namespace so Workerd can publish Sandbox listeners on Docker's bridge gateway; the control-plane API itself remains loopback-only. ```bash install -m 600 docker/.env.example .env # For remote access, set WEB_ORIGIN to the public browser origin and # MOSOO_WEB_BIND_IP to the host address that should accept traffic. docker compose pull docker compose up -d --wait curl --fail http://127.0.0.1:8080/api/health ``` The safe default listens only on `127.0.0.1`. Startup fails closed if a loopback `WEB_ORIGIN` is combined with a non-loopback listener, because that combination would expose Mosoo's local-development login endpoint. Put TLS and public access behind a trusted host-level reverse proxy, or set both values explicitly for direct exposure. If Docker's bridge gateway is not `172.17.0.1`, update `MOSOO_RUNTIME_BIND_IP` and `MOSOO_RUNTIME_CONTROL_ORIGIN` together. The Mosoo container controls dynamic Sandbox containers and therefore needs root-equivalent access to a Docker daemon. Use a dedicated host; prefer a dedicated rootless daemon or constrained socket proxy where compatible, and restrict access to the daemon and `.env` file. Before upgrades, back up both named volumes: `mosoo_data` stores generated secrets and Caddy state, while `mosoo_wrangler` stores local Wrangler/D1 state. Restore both volumes together before starting the replacement stack. Sandbox containers are Docker-managed runtime state and are not included in either volume. ## Local Development Prerequisites: - `bun >= 1.4.0-canary.1` - `just >= 1.51` - A Docker-compatible daemon for Agent runtime and Sandbox flows From a clean clone: ```bash git clone --recurse-submodules https://github.com/langgenius/mosoo.git cd mosoo just setup just dev ``` `just setup` installs dependencies, initializes submodules, creates or completes `apps/api/.dev.vars`, installs Git hooks, and applies pending local D1 migrations. `just dev` reapplies pending migrations before starting the web and API development servers. Local URLs: - Web: `http://localhost:5173` - API: `http://localhost:8787` Minimum smoke: ```bash curl http://localhost:5173/api/health curl http://localhost:8787/api/health ``` API health is `/api/health`, not `/health`. The mosoo control-plane development login uses OTP; under local loopback origins, addresses ending with `@mosoo.ai` skip that OTP and log in directly. If setup fails, start with the focused recipe: submodule issues use `git submodule update --init`, missing local secrets use `just env-init`, and D1 schema errors use `just db-migrate`. See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full workflow and verification expectations. The public landing page and blog live in the private `langgenius/mosoo-website` repository and are deployed separately on `mosoo.ai`.