You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Address user-reported issues and integrate new platform capabilities:
Discord (Issue #34 — routing bug):
- Add Step 5b: channel permission isolation to prevent agent
conversation mixing (single-bot and multi-bot approaches)
- Update multi-account support status (available in current versions)
Feishu (Issue #31 — multi-agent support):
- Document groupSessionScope: "group_topic" for per-topic session
isolation (OpenClaw >= 2026.3.1), shown as incremental config patch
- Add CLI alternative: openclaw config set
- Add SecretRef bug caveat (openclaw #47436) in multi-app section
- Fix issue citation: #10242 (DM threads) → #29791 (group chat topics)
Getting Started (Issue #33 — beginner experience):
- Fix deployment order with clear "Manual" vs "Agent-automated" labels
- Note that steps 5-9 can be fully automated via DEPLOY.md
- Add prerequisites checklist covering all platforms
- Add common mistakes section (5 items)
Known Issues:
- Add Feishu P1 (resolved) entry with groupSessionScope resolution
- Fix typographic quotes in YAML examples (would cause parse failures)
All changes in both Chinese and English versions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
> **Warning**: Without channel permission isolation, a single bot serving multiple agents may send messages in the wrong channel, causing conversations from different agents (e.g. CoS and Ops) to mix together. This was reported in [Issue #34](https://github.com/AlexAnys/opencrew/issues/34). The steps below prevent this.
135
+
136
+
The core idea: the bot should only be able to **send messages** in channels that are explicitly assigned to it. At the server level, deny Send Messages; then allow it per-channel.
137
+
138
+
### Single-Bot Setup (default)
139
+
140
+
1.**Create a bot role** (e.g. "OpenCrew Bot"):
141
+
- Server Settings → Roles → Create Role
142
+
-**Do NOT grant Administrator** -- Administrator bypasses all channel overrides
143
+
- Grant these server-level permissions: `View Channels`, `Read Message History`, `Add Reactions`, `Create Public Threads`, `Create Private Threads`, `Send Messages in Threads`, `Manage Threads`
144
+
-**Do NOT grant**`Send Messages` at the server level
145
+
146
+
2.**Assign the role to the bot**:
147
+
- Server Settings → Members → find the bot → add the "OpenCrew Bot" role
148
+
149
+
3.**Add per-channel permission overrides** for each agent channel (`#hq`, `#cto`, `#build`, etc.):
150
+
- Click the channel name → Edit Channel → Permissions
151
+
- Click "+" to add the "OpenCrew Bot" role
152
+
- Set `Send Messages` to **Allow** (green checkmark)
153
+
154
+
4.**Verify**: The bot should now only be able to send messages in channels where you explicitly allowed it. Test by checking that the bot cannot post in a random channel outside the agent channels.
155
+
156
+
### Multi-Bot Setup
157
+
158
+
If you are running multiple bots (one per agent), create a **separate role for each bot**:
159
+
160
+
1. Create roles: "CoS Bot", "CTO Bot", "Builder Bot", etc.
161
+
2. For each role: deny `Send Messages` at the server level (same as above)
162
+
3. For each role: allow `Send Messages` only in the designated channel
163
+
- "CoS Bot" role → allow Send Messages only in `#hq`
164
+
- "CTO Bot" role → allow Send Messages only in `#cto`
165
+
- "Builder Bot" role → allow Send Messages only in `#build`
166
+
4. Assign each bot its corresponding role
167
+
168
+
> **Note**: This is the approach referenced in Issue #34 -- the channels are not "public" in the sense that any bot can post anywhere. Instead, you manually restrict each bot's send permission to its designated channel.
169
+
170
+
---
171
+
132
172
## Step 6: Get Channel IDs (two methods)
133
173
134
174
### Method A (recommended): Enable Developer Mode and copy
@@ -167,7 +207,7 @@ Create a separate Discord Application for each agent. Each bot gets its own iden
167
207
Things to keep in mind:
168
208
- Each bot must be invited to the server individually
169
209
- Bots in more than 75 servers require a separate Message Content Intent approval
170
-
- OpenClaw multi-account support is still in development -- see [PR #3672](https://github.com/open-claw/open-claw/pull/3672)
210
+
- OpenClaw multi-account support is available in current versions. See [Issue #3306](https://github.com/openclaw/openclaw/issues/3306) for community confirmation
171
211
172
212
> **Tip**: Discord servers allow up to 50 bots. OpenCrew's 7 agents are well within this limit. For most users, a single bot with channel routing is sufficient.
Copy file name to clipboardExpand all lines: docs/en/FEISHU_SETUP.md
+28-1Lines changed: 28 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,33 @@ Feishu does have a native "Topics" (话题) feature, but **OpenClaw's Feishu plu
20
20
-**"Thread = task" is not available** -- all conversations within a group are flat; you cannot isolate different tasks into separate threads
21
21
- Practical impact: when an Agent handles multiple tasks concurrently, conversations will intermingle. For light use (one task at a time) this is fine; for heavy parallel workflows it is a noticeable limitation
22
22
23
-
> This is a known limitation of the OpenClaw Feishu plugin ([Issue #10242](https://github.com/openclaw/openclaw/issues/10242)), not the Feishu platform itself. Future plugin updates may resolve this.
23
+
> This is a known limitation of the OpenClaw Feishu plugin ([Issue #29791](https://github.com/openclaw/openclaw/issues/29791)), not the Feishu platform itself.
Starting with OpenClaw 2026.3.1, the built-in Feishu plugin supports `groupSessionScope: "group_topic"`, which enables per-topic session isolation -- equivalent to Slack's thread isolation behavior.
28
+
29
+
To enable it, add `groupSessionScope` to your existing Feishu channel config (do not overwrite your other settings):
30
+
31
+
```yaml
32
+
channels:
33
+
feishu:
34
+
# ... your existing appId, appSecret, etc. ...
35
+
groupSessionScope: "group_topic"# add this line
36
+
```
37
+
38
+
Or via CLI:
39
+
40
+
```bash
41
+
openclaw config set channels.feishu.groupSessionScope group_topic
42
+
```
43
+
44
+
With this setting enabled:
45
+
- Each Feishu topic within a group chat gets its own isolated session
46
+
- Concurrent tasks no longer intermingle
47
+
- The behavior matches the Slack "thread = task" model
48
+
49
+
> **Note**: `groupSessionScope` requires the **built-in OpenClaw Feishu plugin**. The community plugin ([AlexAnys/feishu-openclaw](https://github.com/AlexAnys/feishu-openclaw)) does not support this parameter -- you must use the built-in plugin that ships with OpenClaw >= 2026.3.1.
24
50
25
51
---
26
52
@@ -261,6 +287,7 @@ agents:
261
287
- Each app needs its own event subscriptions (`im.message.receive_v1`) and permissions (see [Step 2](#step-2-configure-permissions-and-event-subscriptions))
262
288
- In "one group per Agent" mode, add only the corresponding bot to each group to avoid duplicate messages
263
289
- A2A communication is unaffected -- it goes through OpenClaw's internal `sessions_send`, independent of bot count
290
+
- **Known bug**: When using multi-account mode with `SecretRef` (e.g. storing `appSecret` via a Kubernetes Secret or external secret manager), there is a known issue where credentials may not be resolved correctly on gateway restart ([OpenClaw Issue #47436](https://github.com/openclaw/openclaw/issues/47436)). Workaround: use plaintext secrets in the config file (with appropriate file permissions) until this is fixed, or restart the gateway twice after credential changes
0 commit comments