refactor: rename to openclaw

This commit is contained in:
Peter Steinberger
2026-01-30 03:15:10 +01:00
parent 4583f88626
commit 9a7160786a
2357 changed files with 16688 additions and 16788 deletions

View File

@@ -10,7 +10,7 @@ read_when: "Setting up Slack or debugging Slack socket/HTTP mode"
### Quick setup (beginner)
1) Create a Slack app and enable **Socket Mode**.
2) Create an **App Token** (`xapp-...`) and **Bot Token** (`xoxb-...`).
3) Set tokens for Moltbot and start the gateway.
3) Set tokens for OpenClaw and start the gateway.
Minimal config:
```json5
@@ -38,14 +38,14 @@ Minimal config:
- `channel_rename`
- `pin_added`, `pin_removed`
6) Invite the bot to channels you want it to read.
7) Slash Commands → create `/clawd` if you use `channels.slack.slashCommand`. If you enable native commands, add one slash command per built-in command (same names as `/help`). Native defaults to off for Slack unless you set `channels.slack.commands.native: true` (global `commands.native` is `"auto"` which leaves Slack off).
7) Slash Commands → create `/openclaw` if you use `channels.slack.slashCommand`. If you enable native commands, add one slash command per built-in command (same names as `/help`). Native defaults to off for Slack unless you set `channels.slack.commands.native: true` (global `commands.native` is `"auto"` which leaves Slack off).
8) App Home → enable the **Messages Tab** so users can DM the bot.
Use the manifest below so scopes and events stay in sync.
Multi-account support: use `channels.slack.accounts` with per-account tokens and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern.
### Moltbot config (minimal)
### OpenClaw config (minimal)
Set tokens via env vars (recommended):
- `SLACK_APP_TOKEN=xapp-...`
@@ -66,7 +66,7 @@ Or via config:
```
### User token (optional)
Moltbot can use a Slack user token (`xoxp-...`) for read operations (history,
OpenClaw can use a Slack user token (`xoxp-...`) for read operations (history,
pins, reactions, emoji, member info). By default this stays read-only: reads
prefer the user token when present, and writes still use the bot token unless
you explicitly opt in. Even with `userTokenReadOnly: false`, the bot token stays
@@ -109,7 +109,7 @@ Example with userTokenReadOnly explicitly set (allow user token writes):
search) prefer the user token when configured, otherwise the bot token.
- Write operations (send/edit/delete messages, add/remove reactions, pin/unpin,
file uploads) use the bot token by default. If `userTokenReadOnly: false` and
no bot token is available, Moltbot falls back to the user token.
no bot token is available, OpenClaw falls back to the user token.
### History context
- `channels.slack.historyLimit` (or `channels.slack.accounts.*.historyLimit`) controls how many recent channel/group messages are wrapped into the prompt.
@@ -130,7 +130,7 @@ HTTP mode uses the Events API + Interactivity + Slash Commands with a shared req
Example request URL:
`https://gateway-host/slack/events`
### Moltbot config (minimal)
### OpenClaw config (minimal)
```json5
{
channels: {
@@ -155,12 +155,12 @@ user scopes if you plan to configure a user token.
```json
{
"display_information": {
"name": "Moltbot",
"description": "Slack connector for Moltbot"
"name": "OpenClaw",
"description": "Slack connector for OpenClaw"
},
"features": {
"bot_user": {
"display_name": "Moltbot",
"display_name": "OpenClaw",
"always_online": false
},
"app_home": {
@@ -169,8 +169,8 @@ user scopes if you plan to configure a user token.
},
"slash_commands": [
{
"command": "/clawd",
"description": "Send a message to Moltbot",
"command": "/openclaw",
"description": "Send a message to OpenClaw",
"should_escape": false
}
]
@@ -329,7 +329,7 @@ Slack uses Socket Mode only (no HTTP webhook server). Provide both tokens:
},
"slashCommand": {
"enabled": true,
"name": "clawd",
"name": "openclaw",
"sessionPrefix": "slack:slash",
"ephemeral": true
},
@@ -353,7 +353,7 @@ ack reaction after the bot replies.
- Media uploads are capped by `channels.slack.mediaMaxMb` (default 20).
## Reply threading
By default, Moltbot replies in the main channel. Use `channels.slack.replyToMode` to control automatic threading:
By default, OpenClaw replies in the main channel. Use `channels.slack.replyToMode` to control automatic threading:
| Mode | Behavior |
| --- | --- |
@@ -439,13 +439,13 @@ For fine-grained control, use these tags in agent responses:
- DMs share the `main` session (like WhatsApp/Telegram).
- Channels map to `agent:<agentId>:slack:channel:<channelId>` sessions.
- Slash commands use `agent:<agentId>:slack:slash:<userId>` sessions (prefix configurable via `channels.slack.slashCommand.sessionPrefix`).
- If Slack doesnt provide `channel_type`, Moltbot infers it from the channel ID prefix (`D`, `C`, `G`) and defaults to `channel` to keep session keys stable.
- If Slack doesnt provide `channel_type`, OpenClaw infers it from the channel ID prefix (`D`, `C`, `G`) and defaults to `channel` to keep session keys stable.
- Native command registration uses `commands.native` (global default `"auto"` → Slack off) and can be overridden per-workspace with `channels.slack.commands.native`. Text commands require standalone `/...` messages and can be disabled with `commands.text: false`. Slack slash commands are managed in the Slack app and are not removed automatically. Use `commands.useAccessGroups: false` to bypass access-group checks for commands.
- Full command list + config: [Slash commands](/tools/slash-commands)
## DM security (pairing)
- Default: `channels.slack.dm.policy="pairing"` — unknown DM senders get a pairing code (expires after 1 hour).
- Approve via: `moltbot pairing approve slack <code>`.
- Approve via: `openclaw pairing approve slack <code>`.
- To allow anyone: set `channels.slack.dm.policy="open"` and `channels.slack.dm.allowFrom=["*"]`.
- `channels.slack.dm.allowFrom` accepts user IDs, @handles, or emails (resolved at startup when tokens allow). The wizard accepts usernames and resolves them to ids during setup when tokens allow.
@@ -457,7 +457,7 @@ For fine-grained control, use these tags in agent responses:
`channels.defaults.groupPolicy`, or a channel allowlist to lock it down.
- The configure wizard accepts `#channel` names and resolves them to IDs when possible
(public + private); if multiple matches exist, it prefers the active channel.
- On startup, Moltbot resolves channel/user names in allowlists to IDs (when tokens allow)
- On startup, OpenClaw resolves channel/user names in allowlists to IDs (when tokens allow)
and logs the mapping; unresolved entries are kept as typed.
- To allow **no channels**, set `channels.slack.groupPolicy: "disabled"` (or keep an empty allowlist).