Skip to content

Latest commit

 

History

History
134 lines (99 loc) · 3.74 KB

File metadata and controls

134 lines (99 loc) · 3.74 KB

OpenClaw Integration

StringRay integration for OpenClaw - a self-hosted AI gateway that connects messaging platforms to AI coding agents.

Overview

This integration allows StringRay to:

  • Connect to OpenClaw Gateway via WebSocket
  • Expose StringRay capabilities through OpenClaw skills
  • Send tool execution events to OpenClaw for real-time tracking
  • Receive commands from OpenClaw channels (WhatsApp, Telegram, Discord, etc.)

Architecture

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   User       │────▶│  OpenClaw    │────▶│   StringRay   │
│  (WhatsApp,  │     │   Gateway    │     │    Skills    │
│  Discord,    │     │              │     │              │
│  Telegram)   │◀────│              │◀────│              │
└──────────────┘     └──────────────┘     └──────────────┘
                           │
                           ▼
                   ┌──────────────┐
                   │  WebSocket   │
                   │   Client     │
                   └──────────────┘

Installation

1. Install Dependencies

npm install ws

2. Configure OpenClaw

Create .opencode/openclaw/config.json:

{
  "gatewayUrl": "ws://127.0.0.1:18789",
  "authToken": "your-auth-token",
  "deviceId": "your-device-id",
  "apiServer": {
    "enabled": true,
    "port": 18431,
    "host": "127.0.0.1",
    "apiKey": "your-api-key"
  },
  "hooks": {
    "enabled": true
  },
  "enabled": true
}

3. Install OpenClaw Skills

Copy skills to your OpenClaw skills directory:

cp -r skills/* ~/.openclaw/skills/

Usage

Initialize Integration

import { initializeOpenClawIntegration } from './src/integrations/openclaw/index.js';

const integration = await initializeOpenClawIntegration();

// Or with custom agent invoker
const integration = await initializeOpenClawIntegration('/path/to/config.json', myAgentInvoker);

Using OpenClaw Commands

After installation, use these commands in any OpenClaw channel:

  • /strray - Show status
  • /strray-analyze <file> - Analyze code
  • /strray-code <file> - Code review
  • /strray-file <file> - Read file
  • /strray-exec <command> - Execute command

Configuration

Option Type Default Description
gatewayUrl string ws://127.0.0.1:18789 OpenClaw WebSocket URL
authToken string - Authentication token
deviceId string - Device ID for pairing
apiServer.enabled boolean true Enable HTTP API server
apiServer.port number 18431 API server port
apiServer.host string 127.0.0.1 API server host
apiServer.apiKey string - API key for auth
hooks.enabled boolean true Enable tool hooks
autoReconnect boolean true Auto reconnect
enabled boolean true Enable integration

API Server

The integration exposes a local HTTP API on port 18431:

  • GET /health - Health check
  • POST /api/agent/invoke - Invoke agent
  • GET /api/agent/status - Agent status

Skills

stringray-orchestrator

Main skill providing StringRay commands:

/strray                    - Show status
/strray-analyze <file>    - Analyze code
/strray-code <file>       - Code review
/strray-file <file>       - Read file
/strray-exec <command>    - Execute command

Documentation

See docs/research/openclaw/ for detailed documentation.

License

MIT