Docs/Agents

Agents

OpenClaw

Last updated March 3, 2026

Deploy and configure the OpenClaw autonomous desktop operator with Cencori.

OpenClaw

OpenClaw is an autonomous desktop operator that controls your mouse, keyboard, and browser. It runs as a local daemon on your machine and connects to the Cencori Brain for model routing, configuration, and real-time monitoring.

[!TIP] OpenClaw is model-agnostic. It uses Cencori as its "Remote Brain," meaning you can switch between GPT-4o, Gemini, Claude, and more from the dashboard—without touching the local agent.

Architecture

OpenClaw Connection Flow
Local Machine
OpenClaw Daemon
Runs locally. Captures desktop state, screenshots, and executes tool calls.
Mouse Control
Keyboard Input
Browser Automation
File System
Cencori Cloud
AI Gateway
Receives agent requests at /api/v1/chat/completions, injects config, and routes to providers.
Model Routing
Shadow Mode
Key Auth
Audit Logging
authenticated via cake_ key
Intelligence Layer
Cencori Brain — Config & Security
System Prompt Injection
Model Selection
Shadow Mode Intercept
Live Feed Streaming
Cost Tracking
Failover
routed to selected provider
Providers
OpenAI
Anthropic
Google
DeepSeek
Mistral
xAI
streamed
Response
Tool Calls Executed Locally
Response streamed back to the daemon. Tool calls (click, type, navigate) are executed on your machine in real-time.
The "Remote Brain" Model — Your machine is the body, Cencori is the brain.

Quick Start

1. Deploy from the Marketplace

Navigate to Agents → Agent Marketplace in your project dashboard and click Deploy Agent on the OpenClaw card.

2. Generate an API Key

Go to the agent's Configuration tab and click Generate Key. Copy the key—you'll only see it once.

3. Install OpenClaw

Install the OpenClaw agent on your machine:

Codetext
curl -sSL https://openclaw.ai/install.sh | bash

[!NOTE] Works on macOS, Windows & Linux. Supports npm (npm i -g openclaw) and Docker installs too — see openclaw.ai for details.

4. Connect to Cencori

Set these environment variables so OpenClaw uses Cencori as its backend:

Codetext
export OPENAI_BASE_URL=https://cencori.com/api/v1
export OPENAI_API_KEY=cake_your_key_here
# Optional: override auto-detection for multi-agent setups
export CENCORI_AGENT_ID=your_agent_id

Then start the agent:

Codetext
openclaw onboard

Cencori acts as the remote brain — OpenClaw sends requests here instead of directly to OpenAI or Google. The dashboard shows your agent as "Online" once the first request arrives.

[!IMPORTANT] CENCORI_AGENT_ID is optional for standard OpenAI-compatible clients (including OpenClaw).
Cencori derives the agent from the API key automatically. Set CENCORI_AGENT_ID only when you want to force routing to a specific agent.

Alternative: OpenClaw models.providers config

If you prefer OpenClaw's provider config (~/.openclaw/openclaw.json) instead of environment variables, configure Cencori like this:

Codetext
{
  "models": {
    "providers": {
      "cencori": {
        "baseUrl": "https://cencori.com/api/v1",
        "apiKey": "cake_your_key_here",
        "api": "openai-completions"
      }
    }
  }
}

This works without an X-Agent-ID header. Cencori resolves the agent from the API key automatically.

Use raw model IDs in OpenClaw (for example gemini-2.5-flash or llama-3.3-70b-versatile). cencori/<model> aliases are also accepted for compatibility, but raw IDs are recommended.

5. Monitor & Control

Switch to the Live Feed tab to watch the agent's activity in real-time. If Shadow Mode is enabled, you'll be prompted to approve or reject risky actions before they execute.

Capabilities

FeatureDescription
Desktop ControlFull mouse and keyboard automation
Browser AutomationNavigate, click, fill forms, extract data
File SystemRead, write, move, and delete files
App InteractionLaunch and control desktop applications
Screenshot CaptureVisual state streaming to the dashboard

Configuration

All configuration is managed from the Cencori Dashboard—no local .env files needed.

Model Selection

Choose any supported model from the Configuration tab:

  • OpenAI: GPT-4o, GPT-4o Mini
  • Google: Gemini 2.0 Flash, Gemini 1.5 Pro
  • Anthropic: Claude 3.5 Sonnet, Claude 3.5 Haiku
  • DeepSeek: DeepSeek Chat, DeepSeek Reasoner

The agent picks up the new model on its next heartbeat without requiring a restart.

System Prompt

Customize the agent's persona and instructions from the System Prompt editor. For example:

Codetext
You are a desktop assistant focused on file organization.
Only modify files within the ~/Documents directory.
Always ask before deleting anything.

Shadow Mode

When enabled, Shadow Mode intercepts potentially dangerous actions:

  • Terminal commands (e.g., rm -rf, sudo)
  • File deletions or moves outside safe directories
  • External network requests to unknown domains

Each intercepted action appears in the Live Feed with Approve / Reject buttons.

Security

MechanismDetail
API Key AuthAll requests authenticated with cake_ prefixed keys
Agent ResolutionAgent is auto-resolved from API key; X-Agent-ID / CENCORI_AGENT_ID is optional
Key HashingRaw keys are never stored; only SHA-256 hashes
Shadow ModeHuman-in-the-loop approval for risky operations
RLS PoliciesDatabase-level access control per organization

Troubleshooting

Agent stuck on "Waiting for connection"

  • Verify your API key is correct and not expired
  • Check that your machine can reach https://cencori.com/api/v1/
  • Regenerate the key from Configuration if needed
  • If using CENCORI_AGENT_ID, confirm it matches the agent shown in the Configuration tab

HTTP 405 from OpenClaw

  • Set provider baseUrl to https://<your-domain>/api/v1 (not /api/v1/chat/completions)
  • Keep api set to openai-completions so OpenClaw calls the correct endpoint
  • Use a raw model ID like gemini-2.5-flash if your provider setup is strict about model names

Agent not picking up new model

  • The agent syncs config on each heartbeat (every 30 seconds)
  • Force a refresh by restarting the local daemon

Shadow Mode not triggering

  • Ensure Shadow Mode is toggled on in the Live Feed sidebar
  • Check the agent's system prompt isn't overriding safety instructions