The project's README from github.com/TianyiDataScience/openclaw-control-center. As one markdown file: README.md.
Chinese reader? Start here: 打开中文 README
Turn OpenClaw from a black box into a local control center you can see, trust, and control.
Language: English | 中文
Overview: health, current state, decisions waiting, and operator-facing summariesUsage: usage, spend, subscription windows, and connector statusStaff: who is really working now versus only queuedCollaboration: a hall-first multi-agent work chat with live discussion, execution order, handoff, review, and evidence threadsTasks: current work, approvals, execution chains, and runtime evidenceDocuments and Memory: source-backed workbenches scoped to active OpenClaw agentsCollaboration: a new hall-first collaboration page so you can post work in one shared timeline, see real agent roster names reply live, and watch discussion collapse into one execution owner before review.Collaboration: hall discussion, assign, and handoff can now dispatch through the real openclaw agent runtime, so the live draft stream reflects real session execution instead of only synthetic orchestrator text.Collaboration: hall runtime streaming now prefers direct CLI/stdout passthrough when OpenClaw emits live output, and gracefully falls back to session-history deltas when the runtime only exposes persisted session updates.Collaboration: assign can now trigger a short automatic real execution chain, so one owner can continue through several runtime turns before the task pauses in review or blocked.Collaboration: the hall now uses your current OpenClaw roster directly; existing agent ids do not need to be renamed to any control-center-specific defaults before they can discuss, execute, and hand off work.Collaboration: linked task rooms now act as detail and evidence threads with live room streaming, assignment, review, and optional outbound Discord or Telegram mirroring without moving source-of-truth storage out of control-center.Settings: a new Connection health card that tells you what is already wired, what is still partial, and where to finish setup.Settings: a new Security risk summary that translates current risk, impact, and next-step guidance into plain operator-facing language.Settings: a new Update status card for current version, latest version, update channel, and install method.Usage: a new Context pressure card so you can see which sessions are closer to context limits and where things may get slower or more expensive.Memory: a new Memory status card so you can see whether each visible agent's memory is usable, searchable, or worth checking.Example UI from a local OpenClaw environment:
|
|
| Token attribution See which timed jobs are actually consuming tokens and how the share splits across them. |
Staff page See who is working now, who is on standby, recent output, and schedule state. |
|
|
| Collaboration page See one shared thread where agents discuss, assign owners, hand off work, and review results. |
Security and update status See current risk, impact, next-step guidance, and the gap between your current and latest version. |
pandas, coq, monkey, or any other control-center-specific name before using hall collaboration.manager, planner, builder, or qa, the hall will use them; otherwise it falls back gracefully without blocking the workflow.surface, workspaceRoot, workdir, entryFiles, and artifact references so repo-aware tasks can run against the same working context your agents already use elsewhere.discussion.@ one agent, the hall aims to gather at least two short replies so the second person can add a missing angle instead of repeating the first.HALL.md file if you want one shared collaboration style for the whole hall. It is injected into discussion, execution, and handoff turns, but it does not override owner routing or queued execution order.Arrange execution order to decide the first owner, later owners, and what each person hands off.Start execution (...).@ the next owner in the same thread.Continue discussion to reopen the thread, then arrange the next round and start again from the same thread.npm install
cp .env.example .env
npm run build
npm test
npm run smoke:ui
npm run smoke:hall
npm run dev:ui
Then open:
http://127.0.0.1:4310/?section=overview&lang=enhttp://127.0.0.1:4310/?section=overview&lang=zhNotes:
npm run dev:ui; it is the more reliable cross-platform entry, especially on Windows shells.npm run dev only performs one monitor pass and does not start the HTTP UI.OPENCLAW_CONTROL_UI_URL to your Tailscale host or IP (for example http://<tailscale-host>:4310/). The UI will automatically bind to 0.0.0.0 unless you explicitly override UI_BIND_ADDRESS.Role not defined in workspace, start with the FAQ & best practices guide.openclaw agent runtime and mirrored back from real session history.@handoff, then review only after the queued owners finish.openclaw.json, so deleted agents do not keep showing up.Connection health, Security risk summary, and Update status as dedicated operator cards.control-center/.READONLY_MODE=true by default.LOCAL_TOKEN_AUTH_REQUIRED=true by default.IMPORT_MUTATION_ENABLED=false by default.IMPORT_MUTATION_DRY_RUN=false by default.APPROVAL_ACTIONS_ENABLED=false default).APPROVAL_ACTIONS_DRY_RUN=true).~/.openclaw/openclaw.json.LOCAL_API_TOKEN isLOCAL_API_TOKEN is a machine-local shared secret that you set yourself in .env.LOCAL_TOKEN_AUTH_REQUIRED=true.LOCAL_TOKEN_AUTH_REQUIRED=trueLOCAL_API_TOKEN to a long random stringLOCAL_API_TOKEN unset while the auth gate is enabled, protected writes stay blocked by design.UI_TIMEZONE isUI_TIMEZONE controls how server-rendered absolute timestamps are displayed in the UI.UTC.Asia/Shanghai, Europe/Paris, America/Los_Angeles.5m ago are unchanged; this only affects absolute timestamps such as session activity, task updates, cron next-run times, approvals, and drilldown pages.npm installcp .env.example .envGATEWAY_URL or path overrides if your OpenClaw setup is non-standard.LOCAL_API_TOKEN in .env to a long random string.npm run buildnpm testnpm run smoke:uinpm run smoke:hallnpm run dev:uiDockerfile and docker-compose.example.yml.GATEWAY_URLOPENCLAW_HOMEOPENCLAW_CONFIG_PATHOPENCLAW_WORKSPACE_ROOTCODEX_HOME when you want Codex usage/subscription datacp .env.example .envdocker-compose.example.yml mount paths and LOCAL_API_TOKENdocker compose -f docker-compose.example.yml up --build/hall-avatars/*.png is available out of the box.extra_hosts: ["host.docker.internal:host-gateway"] on Linux Dockerws://host.docker.internal:18789 for direct container-to-host trafficwss://... when the Gateway endpoint itself is terminating TLS and the certificate matches the hostname you configuredOPENCLAW_CONTROL_UI_URLUI_BIND_ADDRESS=0.0.0.0<OPENCLAW_WORKSPACE_ROOT>/agents/<agentId>.workspace/a and workspace/b, define each agent's workspace explicitly in openclaw.json.OPENCLAW_WORKSPACE_ROOT gives the shared parent root; custom per-agent directories still need per-agent workspace entries.You should already have:
node and npmFor the richest dashboard data, it also helps if this machine has:
~/.openclaw~/.codexgit clone https://github.com/TianyiDataScience/openclaw-control-center.git
cd openclaw-control-center
npm install
cp .env.example .env
If OpenClaw claims the repo is missing src/runtime or other core source files, do not start patching code. The canonical repo layout already includes:
package.jsonsrc/runtimesrc/ui.env.exampleThat error usually means:
openclaw-control-center repo rootThe best first-run path is not manual setup. The best path is to give your own OpenClaw one install instruction block and let it do the safe wiring for you.
If you want a copy-ready standalone file, use:
It should handle:
.env creation or correctionbuild / test / smokeThis install instruction already accounts for common real-world differences such as:
~/.openclaw, ~/.codex, Gateway URL, or UI portnode / npm, no npm-registry connectivity, or insufficient write permissions in the repoCopy the full block below into OpenClaw:
You are installing and connecting OpenClaw Control Center to this machine's OpenClaw environment.
Your goal is not to explain theory. Your goal is to complete a safe first-run setup end to end.
Hard rules:
1. Work only inside the control-center repository.
2. Do not modify application source code unless I explicitly ask.
3. Do not modify OpenClaw's own config files.
4. Do not enable live import or approval mutations.
5. Keep all high-risk write paths disabled.
6. Do not assume default agent names, default paths, or a default subscription model. Use real inspection results from this machine.
7. Do not treat missing subscription data, missing Codex data, or a missing billing snapshot as an install failure. If the UI can run safely, continue and clearly mark which panels will be degraded.
8. Do not fabricate, generate, or overwrite any provider API key, token, cookie, or external credential. If OpenClaw itself is missing those prerequisites, report the gap instead of guessing.
Follow this order:
Phase 1: inspect the environment
1. Check whether the OpenClaw Gateway is reachable and confirm the correct `GATEWAY_URL`.
2. Confirm the correct `OPENCLAW_HOME` and `CODEX_HOME` on this machine.
3. If the subscription or billing snapshot is stored outside the default path, find the correct `OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH`.
4. Confirm which prerequisites are truly present and which are missing-but-degradable.
5. If more than one plausible `OPENCLAW_HOME`, Gateway, or workspace exists, do not guess.
6. If a path, process, or file is missing in a way that makes the control center impossible to start at all, stop and explain the missing prerequisite clearly.
7. If the missing item only affects richer dashboards, continue and mark those surfaces as partial.
8. Do not assume any fixed agent names. If `openclaw.json` is readable, treat it as the source of truth.
Phase 2: install the project
9. Confirm that the current directory is the control-center repo root. If it has not been cloned yet, clone it first: `git clone https://github.com/TianyiDataScience/openclaw-control-center.git`
10. Verify the repo is complete before editing anything.
11. If core paths (`src/runtime`, `src/ui`, `package.json`) are missing, do not continue. Re-clone from `https://github.com/TianyiDataScience/openclaw-control-center.git`.
12. Run dependency install.
13. If `.env` does not exist, create it from `.env.example`; otherwise correct it while preserving safe defaults.
Phase 3: safe first-run configuration
14. Keep these values:
- READONLY_MODE=true
- LOCAL_TOKEN_AUTH_REQUIRED=true
- APPROVAL_ACTIONS_ENABLED=false
- APPROVAL_ACTIONS_DRY_RUN=true
- IMPORT_MUTATION_ENABLED=false
- IMPORT_MUTATION_DRY_RUN=false
- UI_MODE=false
15. Only change `GATEWAY_URL`, `OPENCLAW_HOME`, `CODEX_HOME`, `OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH`, or `UI_PORT` when this machine really requires it.
16. If `CODEX_HOME` or subs