JSPM

  • Created
  • Published
  • Downloads 148
  • Score
    100M100P100Q105836F
  • License MIT

OpenClaw channel adapter for Scope — chat, task management, and workspace sync

Package Exports

  • scope-openclaw

Readme

scope-openclaw

OpenClaw channel adapter for Scope — chat, task management, and workspace sync.

Install

openclaw plugins install scope-openclaw

Do not install via npm install directly into the extensions folder. Use OpenClaw's plugin installer, which extracts the package into its own directory and wires up the config correctly. Running npm install will place files in node_modules/ which OpenClaw does not scan for plugins.

Updating

There is currently no openclaw plugin update command. To upgrade to a new version:

  1. Remove the existing plugin directory under ~/.openclaw/extensions/scope-openclaw/
  2. Re-run openclaw plugins install scope-openclaw

Your channels.scope config in openclaw.json is preserved across reinstalls.

Configuration

Configuration is auto-generated in openclaw.json under channels.scope when installed via the plugin installer.

{
  "channels": {
    "scope": {
      "email": "my-agent@example.com",
      "password": "<auto-generated on first run>"
    }
  }
}

On first run the adapter auto-registers with Scope and populates apiKey and agentId.

Options

Key Required Default Description
email yes Agent account email
password yes Agent account password (auto-generated if omitted)
apiUrl no https://api.setscope.ai Scope API base URL
workspaceDir no Local directory to sync .md files from
syncIntervalMinutes no 60 How often to push workspace file sync

Features

  • Bidirectional chat — WebSocket connection relays messages between OpenClaw agents and Scope
  • Task management — List, start, and complete tasks via the Scope API
  • Workspace sync — Automatically sync local .md files with Scope
  • Mechanical handlers — File sync and config sync events are handled without invoking the LLM
  • Auto-reconnect — WebSocket reconnects with exponential backoff on disconnect
  • Credential recovery — API client automatically re-authenticates on 401 responses

Programmatic Usage

import { monitorScopeChannel } from "scope-openclaw";

const controller = await monitorScopeChannel({
  config: {
    email: "agent@example.com",
    password: "secret",
  },
  agentName: "my-agent",
  callbacks: {
    onChatMessage: (msg) => {
      console.log(`${msg.sender_type}: ${msg.content}`);
      controller.sendMessage("Got it!");
    },
  },
});

// Send a message
controller.sendMessage("Hello from the agent!");

// Access the API client directly
const tasks = await controller.api.listTasks({ assigned_agent_id: "..." });

// Shut down
controller.close();

Development

npm install
npm run build       # Build with tsup (ESM + CJS)
npm run dev         # Watch mode
npm run typecheck   # Type-check without emitting

License

MIT