{"id":49064627,"url":"https://github.com/opsrobot-ai/opsrobot","last_synced_at":"2026-04-27T03:01:37.642Z","repository":{"id":347239681,"uuid":"1192210899","full_name":"opsrobot-ai/opsrobot","owner":"opsrobot-ai","description":"Observability platform for OpenClaw agents, providing real-time tracing, session insights, and cost analysis for multi-agent workflows","archived":false,"fork":false,"pushed_at":"2026-04-20T02:52:16.000Z","size":24920,"stargazers_count":86,"open_issues_count":7,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-20T04:49:05.987Z","etag":null,"topics":["dashboard","etl","events","logging","metrics","monitoring","observability","openclaw","tracing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opsrobot-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-26T01:58:54.000Z","updated_at":"2026-04-20T02:50:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/opsrobot-ai/opsrobot","commit_stats":null,"previous_names":["aishu-opsrobot/openclaw-observability-platform","opsrobot-observability/openclaw-observability-platform","opsrobot-observability/opsrobot"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/opsrobot-ai/opsrobot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsrobot-ai%2Fopsrobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsrobot-ai%2Fopsrobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsrobot-ai%2Fopsrobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsrobot-ai%2Fopsrobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opsrobot-ai","download_url":"https://codeload.github.com/opsrobot-ai/opsrobot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsrobot-ai%2Fopsrobot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32320683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","etl","events","logging","metrics","monitoring","observability","openclaw","tracing"],"created_at":"2026-04-20T04:11:07.896Z","updated_at":"2026-04-27T03:01:37.636Z","avatar_url":"https://github.com/opsrobot-ai.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenClaw Observability Platform\n\n\u003e English | [中文](./README_zh.md)\n\n![概览页](./docs/pictures/概览页.png)\n![实例监控](./docs/pictures/实例监控.png)\n\n**OpenClaw Observability Platform**, developed based on the KWeaver Core framework, uses OTel protocol and eBPF technology for full-link tracing and monitoring of AI Agents. It provides rapid fault diagnosis, security compliance management, and lean computing operations capabilities to ensure high-quality growth of AI-powered businesses.\n\n## Core Features \u0026 Business Value\n\n### 24/7 Observability: Making OpenClaw Execution \"White-Box\"\n\n- **Core Capability**: Build a comprehensive observation system providing lifecycle guarantees including pre-event (automated inspection), during-event (real-time monitoring \u0026 alerting), and post-event (precise fault diagnosis)\n- **Business Value (for IT Ops)**: Full-process transparency, eliminating black-box troubleshooting, ensuring 100% visibility and control of system status\n\n### Risk Perception: Enterprise-Grade \"Brake System\" for OpenClaw\n\n- **Core Capability**: Establish robust security defenses covering real-time control (authorization management, compliance validation, storm blocking) and closed-loop auditing (audit traceability)\n- **Business Value (for CIO)**: Maintaining system security baseline, eliminating unauthorized calls and data security risks, achieving a perfect closed loop between business execution and security compliance\n\n### Productivity Assessment: Every Compute Investment Made Clear\n\n- **Core Capability**: Based on multi-dimensional business accounting models, accurately decompose and track cost consumption across infrastructure computing, individual employees, and business departments\n- **Business Value (for CEO/CFO)**: Drive refined operations, reject \"confusing compute accounts\", and intuitively convert abstract LLM Tokens into clear business ROI\n\n![alt text](overview_en.png)\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                    OpenClaw Observability Platform              │\n├─────────────────────────────────────────────────────────────────┤\n│                                                                 │\n│  ┌──────────────┐    ┌───────────────┐    ┌───────────────────┐ │\n│  │   Frontend   │    │  Backend API  │    │  Apache Doris     │ │\n│  │   (Vite+     │◄──►│  (Node.js)    │◄──►│  (OLAP Database)  │ │\n│  │   React)     │    │  Port: 8787   │    │  Port: 9030       │ │\n│  │  Port: 3000  │    └───────────────┘    └───────────────────┘ │\n│  └──────────────┘                                               │\n│                                                ▲                │\n│                                                │                │\n│  ┌─────────────────────────────────────────────┴───────────┐    │\n│  │                  OTel  Data Pipeline                    │    │\n│  │                                                         │    │\n│  │  ┌─────────────┐   ┌──────────────┐   ┌───────────────┐ │    │\n│  │  │   Sources   │──►│   Transform  │──►│    Sinks      │ │    │\n│  │  │  (File/Exec)│   │(Remap/Reduce)│   │(HTTP to Doris)│ │    │\n│  │  │             │   │              │   │               │ │    │\n│  │  └─────────────┘   └──────────────┘   └───────────────┘ │    │\n│  └─────────────────────────────────────────────────────────┘    │\n│           ▲                                                     │\n│           │                                                     │\n│  ┌────────┴───────────────┐                                     │\n│  │   OpenClaw Agent       │                                     │\n│  │   Session Logs         │                                     │\n│  │   (sessions.json /     │                                     │\n│  │    *.jsonl)            │                                     │\n│  └────────────────────────┘                                     │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n### Core Components\n\n| Component | Tech Stack | Port | Description |\n|-----------|------------|------|-------------|\n| **Frontend** | React 18 + Vite + Tailwind CSS | 3000 | Observability Web UI |\n| **Backend API** | Node.js | 8787 | RESTful API service for data queries |\n| **Database** | Apache Doris | 9030 (MySQL) / 8040 (BE) | OLAP analytics database for session and log storage |\n| **Data Pipeline** | Vector | - | Data collection, transformation, and ingestion pipeline |\n| **Data Source** | OpenClaw Agent | - | AI Agent runtime, source of log output |\n\n---\n\n## Online Live Demo\n\nTry it out now!\n\n- **URL**: https://opsrobot-demo.aishu.cn:3000/\n\n\n\n## Quick Start\n\n### 1. Environment Requirements\n\n- Docker Desktop with Docker Compose plugin\n- Node.js 18+\n\n### 2. Clone the Project\n\n```bash\ngit clone https://github.com/opsrobot-ai/opsrobot.git\ncd opsrobot\n```\n\n### 3. Deploy Backend Services with Images\n\n```bash\ndocker compose -f docker-compose.yml up -d\n```\n\nAfter services start, access: http://localhost:3000\n\n\n### 4. Configure OpenClaw Data Collection\n\n**Note: Install and configure the Vector collector on each machine running OpenClaw.**\n[Vector Official Site](https://vector.dev/docs/) | [Vector Installation Guide](https://vector.dev/docs/setup/installation/)\n\n#### Vector Installation for macOS:\n\n```bash\nbrew tap vectordotdev/brew \u0026\u0026 brew install vector\n```\n\n#### Vector Installation for Linux:\n\nFor CentOS:\n```bash\nbash -c \"$(curl -L https://setup.vector.dev)\"\nsudo yum install vector\n```\n\nFor Ubuntu:\n```bash\nbash -c \"$(curl -L https://setup.vector.dev)\"\nsudo apt-get install vector\n```\n\n#### Modify `vector.yaml` collector configuration:\n[Vector Configuration Documentation](https://vector.dev/docs/reference/configuration/)\n\nPoint to the backend server IP address (if OpenClaw is on the same server, no modification needed):\n```yaml\nsinks:\n  session_to_doris: \u0026sink_template\n    uri: \"http://127.0.0.1:8040/api/opsRobot/agent_sessions/_stream_load\"\n\n  session_logs_to_doris:\n    uri: \"http://127.0.0.1:8040/api/opsRobot/agent_sessions_logs/_stream_load\"\n\n  gateway_logs_to_doris:\n    uri: \"http://127.0.0.1:8040/api/opsRobot/gateway_logs/_stream_load\"\n\n  audit_logs_to_doris:\n    uri: \"http://127.0.0.1:8040/api/opsRobot/audit_logs/_stream_load\"\n\n  openclaw_config_to_doris:\n    uri: \"http://127.0.0.1:8040/api/opsRobot/openclaw_config/_stream_load\"\n\n  agent_models_to_doris:\n    uri: \"http://127.0.0.1:8040/api/opsRobot/agent_models/_stream_load\"\n```\n\nPoint to the actual OpenClaw log directory for log collection monitoring:\n```yaml\nsources:\n  sessions:\n    command:\n      - \"sh\"\n      - \"-c\"\n      - 'for f in ~/.openclaw/agents/*/sessions/sessions.json; do if [ -f \"$$f\" ]; then tr -d \"\\n\" \u003c \"$$f\"; echo \"\"; fi; done'\n\n  session_logs:\n    include:\n      - \"~/.openclaw/agents/*/sessions/*.jsonl\"\n\n  gateway_logs:\n    include:\n      - \"~/.openclaw/logs/gateway.log\"\n      - \"~/.openclaw/logs/gateway.err.log\"\n\n  audit_logs:\n    include:\n      - \"~/.openclaw/logs/config-audit.jsonl\"\n\n  openclaw_config_file:\n    command:\n    - \"sh\"\n    - \"-c\"\n    - 'f=\"~/.openclaw/openclaw.json\"; if [ -f \"$$f\" ]; then j=$$(tr -d \"\\n\" \u003c \"$$f\"); printf \"{\\\"source_path\\\":\\\"%s\\\",\\\"openclaw_root\\\":%s}\\n\" \"$$f\" \"$$j\"; fi'\n\n  agent_models_file:\n    command:\n    - \"sh\"\n    - \"-c\"\n    - 'for f in ~/.openclaw/agents/*/agent/models.json; do if [ -f \"$$f\" ]; then agent=$$(basename \"$$(dirname \"$$(dirname \"$$f\")\")\"); [ -z \"$$agent\" ] \u0026\u0026 continue; j=$$(tr -d \"\\n\" \u003c \"$$f\"); printf \"{\\\"source_path\\\":\\\"%s\\\",\\\"agent_name\\\":\\\"%s\\\",\\\"models_root\\\":%s}\\n\" \"$$f\" \"$$agent\" \"$$j\"; fi; done'\n\n  cron_jobs_config_file:\n    type: exec\n    command: \n      - \"sh\"\n      - \"-c\"\n      - 'for f in ~/.openclaw/cron/jobs.json; do if [ -f \"$$f\" ]; then tr -d \"\\n\" \u003c \"$$f\"; echo \"\"; fi; done'\n\n  cron_runs_config_file:\n    type: file\n    include:\n    - \"~/.openclaw/cron/runs/*.jsonl\"\n    read_from: beginning\n    fingerprint:\n      strategy: device_and_inode\n```\n\n#### Start Vector Collector Service:\n\n```bash\nvector --config vector.yaml\n```\n### 5. Configure OpenClaw-Diagnostics-Otel Data Collection\n\n* [Official Documentation](https://docs.openclaw.ai/zh-CN/logging)\n\nIn the openclaw.json file, add or modify the configuration as follows:\n```yaml\n{\n  \"diagnostics\": {\n    \"enabled\": true,\n    \"otel\": {\n      \"enabled\": true,\n      \"endpoint\": \"http://192.168.72.87:4318\",\n      \"traces\": true,\n      \"metrics\": true,\n      \"logs\": true,\n    },\n    \"cacheTrace\": {\n      \"enabled\": true,\n      \"includeMessages\": true,\n      \"includePrompt\": true,\n      \"includeSystem\": true\n    }\n  },\n  \"plugins\": {\n    \"entries\": {\n      \"diagnostics-otel\": {\n        \"enabled\": true\n      },\n    },\n    \"allow\": [\n      \"diagnostics-otel\",\n    ]\n  }\n}\n```\n\nAfter modifying the configuration, restart OpenClaw:\n```bash\nopenclaw gateway restart\n```\n\n### 6. View All OpenClaw Observability Data:\n\n- Interact with OpenClaw through its interface\n- View collected data in the opsRobot product interface: http://localhost:3000\n\n---\n\n## More Screenshots\nSession Traceability Analysis:\n![溯源分析](./docs/pictures/溯源分析.png)\n\nToken Consumption Dashboard:\n![Token消耗](./docs/pictures/Token消耗.png)\n\nDigital Employee Module (Overview \u0026 Portrait):\n![Digital-Employee-Overview](./docs/pictures/Digital-Emmployee-Overview.png)\n![Digital-Employee-Overview2](./docs/pictures/Digital-Employee-Overview2.png)\n![Digital-Employee-Portrait-Capability](./docs/pictures/Digital-Employee-Portrait-Capability.png)\n![Digital-Employee-Portrait-Security](./docs/pictures/Digital-Employee-Portrait-Security.png)\n![Digital-Employee-Portrait](./docs/pictures/Digital-Employee-Portrait.png)\n\n\n## Version Compatibility\n\nThis project closely follows the development of the OpenClaw community. It has been developed, validated, and tested based on the latest version of OpenClaw. For accurate collection and display of observability metrics, it is recommended to use in the following environment:\n\n| Component | Recommended Version | Description |\n|-----------|---------------------|-------------|\n| OpenClaw | latest (v3.x+) | Core scheduling and management platform |\n| Linux Kernel | 4.18+ | Minimum kernel requirement for eBPF probes |\n| Docker | 20.10.0+ | Recommended container runtime environment |\n| Docker Compose | v2.0.0+ | Recommended for local fast orchestration |\n\n\n## Contributing \u0026 Community\n\nWe welcome and encourage contributions in any form! Whether submitting bug reports, improving documentation, or submitting PRs for core code, all contributions are greatly appreciated to support the opsRobot open source community.\nContributing Guide: Please read our [CONTRIBUTING.md](./CONTRIBUTING.md) to learn how to get started.\nCommunity Exchange: WeChat group QR code\n\n\n## WeChat Community\n\nScan the QR code below to join the WeChat community:\n\n\u003cimg src=\"./wechat-qr.png\" width = 300 height = 442\u003e\n\n---\n\n\n## License\n\n[Apache License 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopsrobot-ai%2Fopsrobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopsrobot-ai%2Fopsrobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopsrobot-ai%2Fopsrobot/lists"}