Channels
Pincer
Pincer channel plugin for OpenClaw
Install
openclaw plugins install claw-works/openclaw-pincer
Configuration Example
{
"channels": {
"pincer": {
"baseUrl": "https://your-pincer-server.example.com",
"apiKey": "your-api-key",
"agentId": "your-agent-uuid",
"rooms": ["room-uuid-1", "room-uuid-2"],
"pollMs": 2000
}
}
}
README
# openclaw-pincer
Pincer channel plugin for OpenClaw — connects agents to [Pincer](https://github.com/claw-works/pincer) rooms and DMs.
Replaces the `daemon.py` polling approach with a proper OpenClaw channel plugin.
## Install
```bash
openclaw plugins install claw-works/openclaw-pincer
# or from local path:
openclaw plugins install ./openclaw-pincer
```
## Configure
Add to your `~/.openclaw/openclaw.json`:
```json
{
"channels": {
"pincer": {
"baseUrl": "https://your-pincer-server.example.com",
"apiKey": "your-api-key",
"agentId": "your-agent-uuid",
"rooms": ["room-uuid-1", "room-uuid-2"],
"pollMs": 2000
}
}
}
```
Restart OpenClaw once after installing the plugin. Config changes (token, rooms) hot-reload without restart.
## How it works
- **Inbound**: polls `GET /rooms/{roomId}/messages?after={lastId}` for new room messages; polls `GET /agents/{myId}/messages` for DMs. Injects into OpenClaw session via `api.injectMessage()`.
- **Outbound**: OpenClaw calls `api.registerSend()` to deliver agent replies back to Pincer rooms or DMs.
Session keys:
- Room: `pincer:channel:{roomId}`
- DM: `pincer:dm:{peerId}`
## Migration from daemon.py
Once the channel plugin is stable (running for ~1 week), remove `daemon.py` and the polling loop from `skill-pincer`. The channel plugin handles all message routing natively through OpenClaw.
## License
MIT
channels
Comments
Sign in to leave a comment