Package Exports
- scope-openclaw
Readme
scope-openclaw
OpenClaw channel adapter for Scope — chat, task management, and workspace sync.
Install
openclaw plugins install scope-openclawConfiguration
Add the channel to your openclaw.json:
{
"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
.mdfiles 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 emittingLicense
MIT