forked from Selig/openclaw-skill
6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
60 lines
1.3 KiB
Markdown
60 lines
1.3 KiB
Markdown
# Pairing
|
|
|
|
## Overview
|
|
|
|
OpenClaw implements an explicit **owner approval step** called pairing to control access in two contexts:
|
|
1. Direct Message channels
|
|
2. Node devices connecting to the gateway network
|
|
|
|
## DM Pairing (Inbound Chat Access)
|
|
|
|
When configured with pairing policy, unknown senders receive a code before message processing occurs.
|
|
|
|
### Key Characteristics
|
|
|
|
- **Code format**: 8 characters, uppercase, no ambiguous chars (`0O1I`)
|
|
- **Expiration**: Codes last one hour
|
|
- **Request limits**: Capped at 3 pending requests per channel by default
|
|
|
|
### Approval Commands
|
|
|
|
```bash
|
|
openclaw pairing list telegram
|
|
openclaw pairing approve telegram <CODE>
|
|
```
|
|
|
|
### Supported Channels
|
|
|
|
- Telegram
|
|
- WhatsApp
|
|
- Signal
|
|
- iMessage
|
|
- Discord
|
|
- Slack
|
|
|
|
### State Storage Locations
|
|
|
|
Under `~/.openclaw/credentials/`:
|
|
- Pending requests: `<channel>-pairing.json`
|
|
- Approved list: `<channel>-allowFrom.json`
|
|
|
|
## Node Device Pairing
|
|
|
|
Devices connecting as nodes require gateway approval.
|
|
|
|
### Management Commands
|
|
|
|
```bash
|
|
openclaw devices list
|
|
openclaw devices approve <requestId>
|
|
openclaw devices reject <requestId>
|
|
```
|
|
|
|
### State Files
|
|
|
|
Under `~/.openclaw/devices/`:
|
|
- `pending.json` (temporary requests)
|
|
- `paired.json` (active devices with tokens)
|
|
|
|
**Note:** A legacy `node.pair.*` API exists separately for gateway-owned pairing.
|