A security camera for your AI agent.
Security cameras watch people. Camera Claw watches AI agents.
You wouldn't let a stranger into your house without a security camera β why let an AI agent run on your machine without one?
What Camera Claw Does
Camera Claw provides three layers of protection:
| Layer | What | Why |
|---|---|---|
| π The Room | Docker container sandbox for OpenClaw | Isolate the agent from your system |
| πΉ The Camera | Records everything: console, network, skills, messages | See exactly what the agent does |
| πΌ The DVR | Playback, search, and alert rules | Review activity, catch suspicious behavior |
Architecture
Aegis-AI βJSONLβ CameraClaw (Node.js) βdocker composeβ OpenClaw container(s)
β
~/.openclaw/instances/<id>/
- Single port = UI + Gateway β OpenClaw serves its Control UI on the same port as the gateway
- Multi-instance β Each instance is a separate Docker stack with its own port, config, and auth token
- Token auth β CameraClaw generates tokens and reports them to Aegis for webview authentication
Quick Start
As an Aegis Skill (Recommended)
Camera Claw is available in the Aegis Skill Store under integrations. One-click install.
Standalone
git clone https://github.com/SharpAI/CameraClaw.git cd CameraClaw ./deploy.sh # macOS/Linux # or deploy.bat # Windows
The deploy script automatically:
- Finds Node.js β₯18
- Runs
npm install - Detects Docker and Docker Compose
- Reports readiness
Configuration
Edit config.yaml or use the Aegis skill config panel:
params: openclaw_version: latest recording_mode: continuous # continuous | activity | manual clip_duration: 300 # seconds per clip network_monitoring: true alert_unknown_connections: true audit_level: full # full | summary # OpenClaw gateway openclaw_config_dir: "~/.openclaw" openclaw_gateway_port: 18789 openclaw_gateway_bind: loopback
Model, channels, API keys, and tools are configured via OpenClaw's own Config UI at http://localhost:<port>/config.
What Gets Monitored
| Category | What's Captured | Alert Triggers |
|---|---|---|
| Console | All stdout/stderr with timestamps | β |
| Network | Every outbound connection (IP, port, timing) | Unknown IPs |
| Health | HTTP health checks on each instance | Unreachable |
| Audit | Timestamped JSONL log of all events | Configurable rules |
Protocol (JSONL over stdio)
Camera Claw β Aegis
{"event": "ready", "mode": "docker", "monitoring": true}
{"event": "instance_started", "instance_id": "home", "gateway_url": "http://localhost:28001", "token": "abc..."}
{"event": "instance_stopped", "instance_id": "home"}
{"event": "health", "instance_id": "home", "status": "healthy"}
{"event": "alert", "instance_id": "home", "type": "unknown_connection", "detail": "..."}Aegis β Camera Claw
{"command": "create_instance", "instance_id": "work", "name": "Work Agent"}
{"command": "stop_instance", "instance_id": "work"}
{"command": "list_instances"}Project Structure
CameraClaw/
βββ SKILL.md # DeepCamera skill manifest
βββ package.json # Node.js dependencies
βββ config.yaml # Default parameters
βββ deploy.sh # macOS/Linux bootstrapper
βββ deploy.bat # Windows bootstrapper
βββ docs/
β βββ aegis_openclaw_note.md # Aegis integration requirements
βββ scripts/
βββ monitor.js # Main entry β Docker orchestrator + JSONL
βββ health-check.js # Container health checker
Health Check
# Check all running OpenClaw instances node scripts/health-check.js # Check specific port node scripts/health-check.js --port 18789
Roadmap
- Phase 1 β Foundation β Sandbox, monitoring, audit logging
- Phase 1b β Node.js + OpenClaw integration fixes
- Phase 2 π Recording β Video-style activity playback, timeline UI
- Phase 3 π Aegis integration β Sidebar icon, webview panel, IPC bridge
License
MIT β see LICENSE.
Built by SharpAI β the team behind Aegis-AI and DeepCamera.