开源的OpenClaw 控制中心
这个项目是做什么的给OpenClaw提供一个本地控制中心集中看系统是否稳定、谁在工作、哪些任务卡住了、今天花了多少。对于非技术用户重点是“看得懂、准”而不是引入原始货物有效负载。首次接入默认安全预设偏差默认本地 token 鉴权默认关闭高风险写操作你能得到什么总览系统状态、待处理事项、关键风险和运营摘要用量用量、占用、订阅窗口和连接状态员工谁真的在工作谁在排队待命任务当前任务、安东尼、执行链和运行证据文档与记忆按激活 OpenClaw 代理范围展示的源文件工作台适合谁已经在使用OpenClaw、想要一个统一控制中心的团队或个人在同一台机器或在本地环境中运行 OpenClaw 的用户想公开发布一个安全优先的OpenClaw控制台而不是做通用代理平台的人截图以下截图来自本地OpenClaw环境编辑编辑令牌消耗提升直接看定时任务令牌是被哪些任务吃掉的立即可见。员工页面直接看谁在工作、谁待命、最近的财富和排班状态。5分钟启动npm install cp .env.example .env npm run build npmtestnpm run smoke:ui UI_MODEtrue npm run dev然后打开http://127.0.0.1:4310/?sectionoverviewlangzhhttp://127.0.0.1:4310/?sectionoverviewlangen分区功能说明总览给非技术用户看的主操作页。集中展示当前总控首批、待处理事项、运行异常、执行预算、预算风险、谁在忙、哪些地方需要优先关注。最适合快速回答问题OpenClaw 现在整体正常吗用量展示今日、7天、30天的用量和支出趋势。包含订阅窗口、损耗消耗、用量结构和数据连接状态。最适合判断支出或额度是否开始有风险。员工显示谁现在真正在工作谁只有排队中的任务。明确区分“正在执行”和“下一个”避免把积压误认为正在运行。最适合判断谁忙碌、谁闲、谁卡住、谁在等待。记忆一个直接基于源文件的记忆工作台用于查看和编辑每日记忆与长期记忆。范围后面openclaw.json里的激活代理不会把已删除代理继续显示出来。最适合查看或维护当前OpenClaw团队真实在用的记忆内容。文档一个直接基于源文件的文档工作台用于查看和编辑与代理核心文档共享文档。其实是源文件保存后也直接写回同一个源文件。最适合维护系统背后真正生效的工作文档。任务将任务板、排期、希伯来、执行链和运行证据放在同一个分区里。能帮助区分哪些只是看板映射哪些已经有真实执行证据哪些任务卡住了、需要接收或待审。最适合理解“现在到底在做什么、只是做什么、需要你介入计划”。设置展示安全模式、连接器状态和数据传输预期。会明确告诉你哪些数据已经接上哪些还只是部分可见哪些高风险活动是故意关闭的。最适合排查环境配置、解释为什么某些信号缺失。核心约束只修改control-center/目录内的文件默认READONLY_MODEtrue默认LOCAL_TOKEN_AUTH_REQUIREDtrue默认IMPORT_MUTATION_ENABLEDfalse默认IMPORT_MUTATION_DRY_RUNfalse开启鉴权时导入/导出和所有修改状态接口都需要本地token莫斯科行动有硬开关关闭默认APPROVAL_ACTIONS_ENABLEDfalse动作动作默认dry-runAPPROVAL_ACTIONS_DRY_RUNtrue不会改写~/.openclaw/openclaw.json安装与上手1.开始前准备你最好已经有一个可用的 OpenClaw 安装一个可连接的 OpenClaw 网关当前机器上的node和npm对OpenClaw主目录的读取权限如果您希望用量 / 订阅信息更完整当前机器最好还能读到~/.openclaw~/.codexOpenClaw 订阅快照文件尤其是它不在默认位置时2.安装项目git clone https://github.com/TianyiDataScience/openclaw-control-center.gitcdcontrol-center npm install cp .env.example .env如果你的OpenClaw说“仓库货物src/runtime”或“货物核心源码”先不要改代码。这个仓库的标准结构本来就包含package.jsonsrc/runtimesrc/ui.env.example此类报错通常意味着当前目录不是openclaw-control-center仓库根目录克隆到了错误仓库结帐/下载不完整代理在错误工作区里执行3.默认推荐让你自己的OpenClaw直接完成安装与接线最推荐的接入方式不是你手动一项配置而是直接把下面可能安装的指令分配给你自己的OpenClaw。如果你想直接复制独立文件用这个安装提示.md安装提示.en.md它应该一次性帮助做完这些事检查本机 OpenClaw / 网关 / 路径安装依赖创建或修改.env保持安全默认值跑build / test / smoke告诉你最后该执行什么命令、该看哪些页面安装可能的指令已经考虑了这些常见情况用户没有 GPT / Codex 订阅或者没有精彩的订阅快照用户的 OpenClaw 基础不是订阅而是 API 密钥/其他提供商例如 OpenAI API、Anthropic、OpenRouter 等~/.openclaw、~/.codex、网关地址、端口都不是默认值一台机器上存在多套 OpenClaw home、多个可能的网关或者当前项目不是默认工作区机器上的激活剂名单和本仓库样本完全不同机器当前只能本地构建暂时还接不上live Gateway机器缺少node/npm、没有 npm 注册表网络、或者仓库目录没有写权限某些数据源缺失但控制中心仍然应该先以“安全隐患”的方式运行起来直接把下面整段原样互换OpenClawspan stylebackground-color:#f6f8faspan stylecolor:#1f2328span stylecolor:#1f2328span stylebackground-color:#f6f8facode你现在要帮我把 OpenClaw Control Center 安装并接到这台机器自己的 OpenClaw 环境上。 你的目标不是解释原理而是直接完成一次安全的首次接入。 严格约束 1. 只允许在 control-center 仓库里工作。 2. 除非我明确要求否则不要修改应用源码。 3. 不要修改 OpenClaw 自己的配置文件。 4. 不要开启 live import不要开启 approval mutation。 5. 所有高风险写操作保持关闭。 6. 不要假设这台机器使用默认 agent 名称、默认路径、默认订阅方式必须以实际探测结果为准。 7. 不要把“缺少订阅数据 / 缺少 Codex 数据 / 缺少账单快照”当成安装失败只要 UI 能安全跑起来就应当继续并明确哪些面板会降级。 8. 不要伪造、生成、改写任何 provider API key、token、cookie 或外部凭证如果 OpenClaw 本身缺少这些前置条件只能报告不要替用户猜。 请按这个顺序执行 第一阶段确认环境 1. 检查 OpenClaw Gateway 是否可达并确认正确的 GATEWAY_URL。 2. 确认这台机器上正确的 OPENCLAW_HOME 和 CODEX_HOME。 3. 如果订阅或账单快照文件不在默认位置找到正确的 OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH。 4. 确认这台机器上有哪些前提是真正存在的哪些是缺失但允许降级的。至少分别判断 - node - npm - 仓库目录写权限 - npm registry 网络连通性如果本机还没安装依赖 - OpenClaw Gateway - openclaw.json - OpenClaw 会话 / 运行时数据 - CODEX_HOME - 订阅 / 账单快照 - OpenClaw 当前依赖的 provider / 凭证是否已经由 OpenClaw 自己配置妥当只检查是否存在不要打印 secret 5. 如果机器上存在多个候选 OPENCLAW_HOME、多个可能的 Gateway或多个 workspace不要猜。优先选择“当前正在运行的 Gateway 可读 openclaw.json 与当前项目最匹配”的组合如果仍然无法确定就停止并把候选项列出来。 6. 如果缺少会导致“完全无法启动控制中心”的必要路径、进程或文件例如 node / npm 缺失、npm 无法下载依赖、仓库不可写、OpenClaw 根目录不可读不要猜直接停止并明确告诉我缺什么。 7. 如果缺少的只是增强型数据源例如订阅快照、Codex telemetry、部分运行时文件或者机器根本不是用订阅而是 API key/provider 方式运行不要停止安装继续并把这些项标记为“安装可继续但相关页面会部分缺失”。 8. 不要假设任何固定 agent 名称。若 openclaw.json 可读就以它为准若不可读再回退到运行时可见 agent并明确说明可信度下降。 第二阶段安装项目 9. 确认当前目录是 control-center 仓库根目录。 10. 先确认仓库本体完整。至少检查这些路径真实存在 - package.json - src/runtime - src/ui - .env.example 11. 如果缺少 src/runtime、src/ui 或 package.json不要继续安装也不要猜源码去哪了。直接把它判定为“错误仓库 / 不完整 checkout / 错误工作目录”并执行 - 退出当前错误目录 - 重新 clonehttps://github.com/TianyiDataScience/openclaw-control-center.git - 进入新 clone 的仓库根目录后再继续 12. 运行依赖安装。 13. 如果 .env 不存在就从 .env.example 创建如果存在就在保留安全默认值的前提下修正它。不要删除用户已有的无关安全配置只改这次接线真正需要的项。 第三阶段配置安全首次接入 14. 保持这些值 - READONLY_MODEtrue - LOCAL_TOKEN_AUTH_REQUIREDtrue - APPROVAL_ACTIONS_ENABLEDfalse - APPROVAL_ACTIONS_DRY_RUNtrue - IMPORT_MUTATION_ENABLEDfalse - IMPORT_MUTATION_DRY_RUNfalse - UI_MODEfalse 15. 只有在本机环境确实不同的时候才修改 - GATEWAY_URL - OPENCLAW_HOME - CODEX_HOME - OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH - UI_PORT 16. 如果这台机器是通过 provider API key / 自定义 LLM 提供商运行 OpenClaw而不是通过 Codex / GPT 订阅运行不要把这当成错误只要 OpenClaw 自己能工作就继续安装并明确说明订阅额度与部分 provider-specific 卡片可能不可见。 17. 如果 CODEX_HOME 不存在或者这台机器根本没有 Codex / GPT 订阅数据不要强行填假路径保留为空并在结果里明确说明“Usage / Subscription 将部分可见或不可见”。 18. 如果订阅快照不存在不要伪造 OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH继续安装并明确说明订阅额度相关卡片会显示未连接或估算状态。 19. 如果 4310 被占用选择一个空闲本地端口并写入 UI_PORT然后把新地址明确告诉我。 20. 不要因为我的 agent roster 和示例仓库不同就改应用逻辑控制中心应该根据我机器自己的 OpenClaw 配置和运行时数据来显示 agent。 第四阶段验证安装 21. 运行 - npm run build - npm test - npm run smoke:ui 22. 如果有任何一步失败停止并告诉我 - 哪一步失败了 - 原因是什么 - 我下一步该怎么修 23. 如果 build / test / smoke 通过但 live Gateway 仍不可达也不要把这次接入判定为失败要把结果归类为“本地 UI 已可用但 live 观测尚未接通”。 24. 如果 OpenClaw 自己因为外部 provider 凭证缺失而无法产出实时数据也不要误判为 control-center 安装失败要单独归类为“控制中心已装好但上游 OpenClaw 前置条件未满足”。 第五阶段交付可启动结果 25. 如果验证通过输出 - 你实际修改了哪些 env 值 - 最终 .env 中哪些值沿用了默认值 - 我下一步启动 UI 的准确命令 - 我应该先打开的 3 个页面 - 哪些信号如果为空属于“正常但未接线完全” - 哪些能力现在已经可用 - 哪些能力因为当前机器没有相关数据源而处于降级状态 - 如果我以后补上订阅 / Codex / Gateway只需要补哪几个 env 或前置条件 - 如果当前缺的是 provider API key / 外部凭证 / 上游 OpenClaw 进程请把它们列为“控制中心外部前置条件” 最后请用这个格式给我结果 - 环境检查 - 差异与降级判断 - 实际修改 - 验证结果 - 下一步命令 - 首次打开页面 /code/span/span/span/span4.如果您需要手动配置.env如果你不想让OpenClaw代劳再手动配。第一次接入建议保持安全默认值不要急着打开写操作。基线配置如下GATEWAY_URLws://127.0.0.1:18789READONLY_MODEtrueAPPROVAL_ACTIONS_ENABLEDfalseAPPROVAL_ACTIONS_DRY_RUNtrueIMPORT_MUTATION_ENABLEDfalseIMPORT_MUTATION_DRY_RUNfalseLOCAL_TOKEN_AUTH_REQUIREDtrueUI_MODEfalseUI_PORT4310#只有路径不是默认值时才需要设置#OPENCLAW_HOME/path/to/.openclaw#CODEX_HOME/path/to/.codex#OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH/path/to/subscription.json一般只需要在这些情况下修改GATEWAY_URL您的网关位于默认本地地址OPENCLAW_HOMEOpenClaw 在这里~/.openclawCODEX_HOMECodex 数据不在~/.codexOPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH订阅或账单快照文件在自定义位置UI_PORT4310已被占用5.验证安装执行npm run build npmtestnpm run smoke:ui预期结果构建通过测试通过UI Smoke 输出本地地址例如http://127.0.0.1:port6.启动界面UI_MODEtrue npm run dev然后打开中文界面http://127.0.0.1:4310/?sectionoverviewlangzh中文界面http://127.0.0.1:4310/?sectionoverviewlangen如果你修改了UI_PORT就把4310替换成你的端口。7. 第一个检查顺序总览页面能正常打开并且能看到当前系统状态用量能看到真实数字或者明确的“数据源未连接”员工实时工作状态与真实活动会话基本一致任务当前工作、机器人、执行链能正常加载不会输出原始payload文档与记忆显示的代理标签和openclaw.json中的激活代理一致8.如果外观合适实时活动全空通常是GATEWAY_URL错了或者OpenClaw Gateway 没启动文档 / 记忆范围通常是OPENCLAW_HOME指错了或者openclaw.json不强制用量 / 订阅没有数据通常是CODEX_HOME或OPENCLAW_SUBSCRIPTION_SNAPSHOT_PATH没安装如果你只是想先安全观察不要修改默认的争论和突变开关本地命令npm run buildnpm run devnpm run dev:continuousnpm run dev:uinpm run smoke:uinpm run release:auditnpm run command:backup-exportnpm run command:import-validate -- runtime/exports/file.jsonnpm run command:acks-prunenpm testnpm run validate对于受保护的命令模式如command:backup-export、command:import-validate、command:acks-prune如果LOCAL_TOKEN_AUTH_REQUIREDtrue请先设置LOCAL_API_TOKENtoken。维护者发布说明如果您是仓库维护者、准备公开发布再看这部分普通安装用户可以跳过。公开群众前运动npm run release:audit独立仓库发布流程见docs/PUBLISHING.md本地 HTTP 接口GET /snapshot原始快照JSONGET /projects项目列表支持status、owner等查询过滤GET /api/projects/projects的兼容别名POST /api/projects创建项目projectId、title任选status、ownerPATCH /api/projects/:projectId更新项目标题、状态或所有者GET /tasks任务列表支持status、owner、project过滤GET /api/tasks/tasks的兼容别名POST /api/tasks按 schema 校验创建任务PATCH /api/tasks/:taskId/status按 schema 校验更新任务状态GET /sessions分页会话列表支持state、agentId、q、page、pageSize、historyLimitGET /sessions/:id单会话JSON详情支持historyLimitGET /api/sessions/:id单会话详情的API别名GET /session/:id本地化会话详情页面支持langen|zhGET /api/commander/exceptions仅异常视图的汇总GET /exceptions按严重级别排序的异常流GET /done-checklist集成最终检查清单与准备情况评分GET /api/action-queue基于异常流和ack状态生成的待处理队列GET /graph项目-任务-会话关联图 JSONGET /usage-cost跳转到/?sectionusage-costGET /api/usage-cost消耗、消耗、订阅窗口、分割和燃烧率快照POST /api/import/dry-run导入包dry-run验证不写状态POST /api/import/live任选直播进口高风险、本地专用默认关闭GET /cron定时任务与健康状态GET /healthz系统健康书签GET /digest/latest最新摘要的 HTML 页面GET /api/search/tasks|projects|sessions|exceptions安全子串搜索接口GET /api/replay/indextimeline、digest、export、bundle 的 replay/debug 索引GET /docs本地化文档索引GET /docs/readme|runbook|architecture|progress本地markdown文档视图POST /api/approvals/:approvalId/approve|reject动作服务受门和空运行控制GET /audit本地审计时间线页面GET /api/audit审计时间线 JSON看板亮点总览、阅读、回放与工具活动首页支持内联搜索直接接/api/search/*延迟和导出延迟会显示返回数量、过滤数量、延迟和体积指标氢氧化钠数量使用完整直播氢氧化钠不再因为预览截断而少算工具活动详情会加载真实会话 证据不再出现“上面有统计、下面却说没有工具会话”的冲突文档、记忆与代理范围文档现在记忆优先接着~/.openclaw/openclaw.json中的活性剂已删除代理不会因为旧目录过剩而重新出现在facet按钮中根级 OpenClaw 文件会显示为Main打开和保存文件时都直接读写源文件不走陈旧副本执行链与任务的必备性执行链接不再直接显示原始JSON负载未映射的隔离执行会使用稳定标题例如Main · Cron 隔离执行长标题、长会话密钥和徽章现在都会在响应内安全更换行任务页会显示真实的执行证据而不仅仅是看中断的最近几条会话员工状态与实时性工作中 / Working只代表真实的现场执行不再把“还有积压”判为正在工作有积压但没有实时会话的代理会显示为待命语义正在处理什么与下一项被明确区分用量、订阅与正确性总览 / 任务 / 设置 / 用量共享同一套 用法/配额 真相源活跃会话统计在首页KPI、侧栏、摘要条中保持一致Codex 损耗窗口标签会自动归一成稳定标签例如5h和Week对撤回数据会显示明确的未连接状态而不是假零值景观与体验整体 UI 已收敛到更接近 Apple 的层次和协调风格执行链动作改成更宽的栅格不再是四张挤在一行里侧边导航里用量已位于总览下方信息架构更贴近日常运营使用顺序任务控制 v3 能力UI 已演进到精美的像素办公风格覆盖会话、中继、cron、任务、用量、回放、健康、导入导出干运行等关键控制面全部名册办公室模型会读取openclaw.json已知代理而不是只看当前激活会话尽最大努力的订阅用量/剩余支持金额展示API校验与错误包网络所有修改型API均要求Content-Type: application/json导入/导出和所有修改型接口默认需要本地token标题x-local-token: LOCAL_API_TOKEN或Authorization: Bearer LOCAL_API_TOKEN严格查询校验拒绝会未知参数JSON错误统一格式{ok:false,requestId:...,error:{code:...,status:http,message:...,issues:[],requestId:...}}JSON 响应会带requestId所有响应头都会带x-request-id实时导入警告POST /api/import/live暂时关闭除非你在做受控的本地恢复测试否则不要开启Live mode 会修改本地运行时存储例如runtime/projects.jsonruntime/tasks.jsonruntime/budgets.json正常使用时请保持READONLY_MODEtrue和IMPORT_MUTATION_ENABLEDfalse运行时文件runtime/last-snapshot.jsonruntime/timeline.logruntime/projects.jsonruntime/tasks.jsonruntime/budgets.jsonruntime/notification-policy.jsonruntime/model-context-catalog.jsonruntime/ui-preferences.jsonruntime/acks.jsonruntime/approval-actions.logruntime/operation-audit.logruntime/digests/YYYY-MM-DD.jsonruntime/digests/YYYY-MM-DD.mdruntime/export-snapshots/*.jsonruntime/exports/*.json文档docs/ARCHITECTURE.mddocs/RUNBOOK.mddocs/PROGRESS.md
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412477.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!