OpenOcta — An open‑source, enterprise‑grade agent built for operations
English | 简体中文
OpenOcta takes design cues from OpenClaw and is fully reimplemented as a single Go backend binary with an embedded frontend, aimed at operations, observability, and automation workloads.
- Positioning: Acts inside the enterprise as an observability & operations hub, unifying monitoring, logs, configuration, CMDB, tickets, and similar data sources so the Agent can help with troubleshooting, analysis, and decisions.
- Form factor: One binary that ships Gateway, Agent, Channels, Cron, and the embedded Control UI static assets; integrate via CLI, HTTP/WebSocket, and Webhooks.
- Protocol compatibility: Compatible with the OpenClaw Gateway WebSocket protocol and official Control UI behavior, so you can migrate from or run alongside OpenClaw.
- Discussions & experience sharing: Join the OpenOcta group to share deployment practices, ops scenarios, and best practices.
- Issues & feature requests: Ask in the group or open Issues / PRs in this repository.
Scan to join the OpenOcta discussion group for updates and support
- Go 1.24+ (build the backend)
- Node ≥18 (frontend build only; not needed in production)
- Environment variable
ANTHROPIC_API_KEY(required when using theagentcommand)
# Build (Makefile recommended)
make build
# Or use the helper script
./build.sh build # supports: ui | embed | go | build | clean | snapshot | release | docker
# Start the Gateway
make run
# or
./openocta gateway runBy default the Gateway listens on http://127.0.0.1:18900; HTTP and WebSocket share the same port. The frontend is embedded with go:embed, so open that URL in a browser to use the Control UI.
# Terminal 1: Gateway (build once first)
./openocta gateway run
# Terminal 2: frontend dev server (port 5173)
make run-uiOpen http://localhost:5173 to debug the frontend with hot reload.
export ANTHROPIC_API_KEY=your-key
./openocta agent -m "Hello, echo test"On first run, if no config file exists, OpenOcta seeds one from the embedded openocta.json.example into:
| Platform | Default path |
|---|---|
| Linux / macOS | ~/.openocta/openocta.json |
| Windows | %APPDATA%\openocta\openocta.json |
.dmg: Mounts a read-only volume under/Volumes/.... Drag the app to Applications or use the in-app install prompt so it lands at/Applications/OpenOcta.app. Do not treat/Volumes/...as the installed copy—eject the disk image in Finder. Seedeploy/dist-README.md.
- Chinese
- Root:
README.md - Backend:
src/README.md - Frontend:
ui/README.md
- Root:
- English
- Root:
README.en.md(this file)
- Root:
- Backend overview:
src/README.md— modules, migration status, and backend doc index. - Frontend:
ui/README.md— Control UI features, dev scripts, and layout. - Configuration & capabilities (
src/docs/):configuration.md— overview: agents, channels, gateway, cron, hooks, memory, and more.mcp-configuration.md— MCP server declarations, permissions, timeouts.trace-and-observability.md— tracing, token usage, and call chains.webhooks.md—/hooks/wake,/hooks/agent,/hooks/alertpayloads and use cases.architecture.md— layered design on agentsdk-go and extension points.skills.md,tools.md,tools-builtin.md,tools-openocta.md— skills and tools overview.
Upstream:
- OpenClaw repository
- docs.openclaw.ai — official Gateway and configuration docs
OpenOcta/
├── src/ # Go backend (Gateway, Agent, Channels, Cron, etc.)
│ ├── cmd/openocta/ # CLI entry and subcommands
│ ├── embed/ # Embedded assets (frontend, config-schema, openocta.json.example)
│ │ └── frontend/ # Built frontend (from build)
│ ├── pkg/ # Core packages
│ └── README.md # Backend documentation
├── ui/ # Control UI (Lit + Vite, WebSocket control plane)
│ └── README.md # Frontend documentation
├── deploy/ # Dockerfile, systemd service, and related deploy files
└── docs/ # Docs and migration notes
- Backend: Go 1.24+, Gateway HTTP + WebSocket, Agent, Channels, Cron, config, and related services.
- Frontend: Control UI is embedded via
go:embedin the single binary; no separate frontend deployment in production. - Single binary: The built
openoctaships the UI and config templates and can be distributed and run as‑is.
This project is released under GPLv3 with additional terms.
You may create derivative works from OpenOcta’s source, provided you:
- Do not replace or alter the OpenOcta logo or copyright notices.
- Keep derivative works compliant with GPLv3 obligations.
For commercial licensing, contact: zhanghp@databuff.com.
