chore(i18n): refresh zh-CN translations
This commit is contained in:
parent
9c29528a80
commit
b3dfa43cdd
@ -7,25 +7,25 @@ status: experimental
|
||||
summary: 向多个智能体广播一条 WhatsApp 消息
|
||||
title: 广播组
|
||||
x-i18n:
|
||||
generated_at: "2026-04-28T11:44:56Z"
|
||||
generated_at: "2026-05-03T22:49:29Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: b0de4ccc85bf79e2ceb1dddd60db067309b15b7f876c92e7d591ff0b4b4315ec
|
||||
source_hash: eab43d3c3ffddb360340469433d74a380fbab98e662b2463a54f62eafc375b55
|
||||
source_path: channels/broadcast-groups.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
<Note>
|
||||
**Status:** 实验性。已在 2026.1.9 中添加。
|
||||
**Status:** 实验性。已在 2026.1.9 中添加。
|
||||
</Note>
|
||||
|
||||
## 概览
|
||||
|
||||
广播组允许多个智能体同时处理并响应同一条消息。这让你可以创建专门的智能体团队,在单个 WhatsApp 群组或私信中协同工作,并且全部使用同一个电话号码。
|
||||
Broadcast Groups 允许多个智能体同时处理并回复同一条消息。这样你可以创建专门的智能体团队,让它们在同一个 WhatsApp 群组或私信中协作,且全部使用同一个电话号码。
|
||||
|
||||
当前范围:**仅 WhatsApp**(Web 渠道)。
|
||||
|
||||
广播组会在渠道 allowlist 和群组激活规则之后评估。在 WhatsApp 群组中,这意味着广播会在 OpenClaw 通常会回复时发生(例如:被提及时,取决于你的群组设置)。
|
||||
Broadcast groups 会在渠道允许列表和群组激活规则之后评估。在 WhatsApp 群组中,这意味着当 OpenClaw 通常会回复时(例如:被提及时,取决于你的群组设置),就会进行广播。
|
||||
|
||||
## 使用场景
|
||||
|
||||
@ -42,7 +42,7 @@ x-i18n:
|
||||
- TestGenerator (suggests test cases)
|
||||
```
|
||||
|
||||
每个智能体都会处理同一条消息,并提供其专门视角。
|
||||
每个智能体都会处理同一条消息,并提供自己的专业视角。
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="2. 多语言支持">
|
||||
@ -77,9 +77,9 @@ x-i18n:
|
||||
|
||||
### 基本设置
|
||||
|
||||
添加一个顶层 `broadcast` 区段(与 `bindings` 同级)。键是 WhatsApp peer id:
|
||||
添加一个顶层 `broadcast` 部分(与 `bindings` 同级)。键是 WhatsApp 对端 ID:
|
||||
|
||||
- 群聊:群组 JID(例如 `120363403215116621@g.us`)
|
||||
- 群组聊天:群组 JID(例如 `120363403215116621@g.us`)
|
||||
- 私信:E.164 电话号码(例如 `+15551234567`)
|
||||
|
||||
```json
|
||||
@ -169,12 +169,12 @@ x-i18n:
|
||||
收到一条 WhatsApp 群组或私信消息。
|
||||
</Step>
|
||||
<Step title="广播检查">
|
||||
系统检查 peer ID 是否在 `broadcast` 中。
|
||||
系统检查对端 ID 是否在 `broadcast` 中。
|
||||
</Step>
|
||||
<Step title="如果在广播列表中">
|
||||
- 所有列出的智能体都会处理该消息。
|
||||
- 每个智能体都有自己的会话键和隔离上下文。
|
||||
- 智能体会并行(默认)或按顺序处理。
|
||||
- 智能体并行(默认)或顺序处理。
|
||||
|
||||
</Step>
|
||||
<Step title="如果不在广播列表中">
|
||||
@ -183,26 +183,26 @@ x-i18n:
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
广播组不会绕过渠道 allowlist 或群组激活规则(提及/命令等)。它们只会在消息符合处理条件时更改_哪些智能体会运行_。
|
||||
Broadcast groups 不会绕过渠道允许列表或群组激活规则(提及/命令等)。它们只会在消息符合处理条件时改变_运行哪些智能体_。
|
||||
</Note>
|
||||
|
||||
### 会话隔离
|
||||
|
||||
广播组中的每个智能体都会维护完全独立的:
|
||||
Broadcast group 中的每个智能体都会维护完全独立的:
|
||||
|
||||
- **会话键**(`agent:alfred:whatsapp:group:120363...` 与 `agent:baerbel:whatsapp:group:120363...`)
|
||||
- **对话历史**(智能体看不到其他智能体的消息)
|
||||
- **工作区**(如果已配置,则使用独立沙箱)
|
||||
- **工具访问权限**(不同的允许/拒绝列表)
|
||||
- **内存/上下文**(独立的 IDENTITY.md、SOUL.md 等)
|
||||
- **群组上下文缓冲区**(用于上下文的最近群组消息)按 peer 共享,因此所有广播智能体在触发时都会看到相同上下文
|
||||
- **记忆/上下文**(独立的 IDENTITY.md、SOUL.md 等)
|
||||
- **群组上下文缓冲区**(用于上下文的近期群组消息)按对端共享,因此所有广播智能体被触发时都会看到相同上下文
|
||||
|
||||
这让每个智能体可以拥有:
|
||||
|
||||
- 不同个性
|
||||
- 不同工具访问权限(例如只读与读写)
|
||||
- 不同模型(例如 opus 与 sonnet)
|
||||
- 安装不同 Skills
|
||||
- 不同的性格
|
||||
- 不同的工具访问权限(例如,只读与读写)
|
||||
- 不同的模型(例如,opus 与 sonnet)
|
||||
- 安装不同的 Skills
|
||||
|
||||
### 示例:隔离会话
|
||||
|
||||
@ -230,8 +230,8 @@ x-i18n:
|
||||
## 最佳实践
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="1. 保持智能体聚焦">
|
||||
为每个智能体设计单一且明确的职责:
|
||||
<Accordion title="1. 让智能体保持聚焦">
|
||||
为每个智能体设计单一且清晰的职责:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -241,11 +241,11 @@ x-i18n:
|
||||
}
|
||||
```
|
||||
|
||||
✅ **好:** 每个智能体只有一项工作。❌ **差:** 一个通用的 "dev-helper" 智能体。
|
||||
✅ **好:** 每个智能体只有一项工作。❌ **不好:** 一个通用的 “dev-helper” 智能体。
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="2. 使用描述性名称">
|
||||
明确说明每个智能体的作用:
|
||||
清楚说明每个智能体的作用:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -259,28 +259,30 @@ x-i18n:
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="3. 配置不同的工具访问权限">
|
||||
只为智能体授予它们需要的工具:
|
||||
只给智能体提供它们需要的工具:
|
||||
|
||||
```json
|
||||
{
|
||||
"agents": {
|
||||
"reviewer": {
|
||||
"tools": { "allow": ["read", "exec"] } // Read-only
|
||||
"tools": { "allow": ["read", "exec"] }
|
||||
},
|
||||
"fixer": {
|
||||
"tools": { "allow": ["read", "write", "edit", "exec"] } // Read-write
|
||||
"tools": { "allow": ["read", "write", "edit", "exec"] }
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`reviewer` 是只读的。`fixer` 可以读取和写入。
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="4. 监控性能">
|
||||
使用许多智能体时,请考虑:
|
||||
当有很多智能体时,请考虑:
|
||||
|
||||
- 使用 `"strategy": "parallel"`(默认)以提高速度
|
||||
- 将广播组限制为 5-10 个智能体
|
||||
- 为较简单的智能体使用更快的模型
|
||||
- 使用 `"strategy": "parallel"`(默认)以提升速度
|
||||
- 将 broadcast groups 限制为 5-10 个智能体
|
||||
- 为更简单的智能体使用更快的模型
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="5. 优雅处理失败">
|
||||
@ -298,7 +300,7 @@ x-i18n:
|
||||
|
||||
### 提供商
|
||||
|
||||
广播组当前可用于:
|
||||
Broadcast groups 目前适用于:
|
||||
|
||||
- ✅ WhatsApp(已实现)
|
||||
- 🚧 Telegram(计划中)
|
||||
@ -307,7 +309,7 @@ x-i18n:
|
||||
|
||||
### 路由
|
||||
|
||||
广播组可与现有路由一起工作:
|
||||
Broadcast groups 可与现有路由配合使用:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -323,8 +325,8 @@ x-i18n:
|
||||
}
|
||||
```
|
||||
|
||||
- `GROUP_A`:只有 alfred 响应(正常路由)。
|
||||
- `GROUP_B`:agent1 和 agent2 响应(广播)。
|
||||
- `GROUP_A`:只有 alfred 回复(正常路由)。
|
||||
- `GROUP_B`:agent1 和 agent2 都会回复(广播)。
|
||||
|
||||
<Note>
|
||||
**优先级:** `broadcast` 优先于 `bindings`。
|
||||
@ -333,11 +335,11 @@ x-i18n:
|
||||
## 故障排除
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="智能体未响应">
|
||||
<Accordion title="智能体没有回复">
|
||||
**检查:**
|
||||
|
||||
1. 智能体 ID 存在于 `agents.list` 中。
|
||||
2. Peer ID 格式正确(例如 `120363403215116621@g.us`)。
|
||||
2. 对端 ID 格式正确(例如 `120363403215116621@g.us`)。
|
||||
3. 智能体不在拒绝列表中。
|
||||
|
||||
**调试:**
|
||||
@ -347,17 +349,17 @@ x-i18n:
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="只有一个智能体响应">
|
||||
**原因:** Peer ID 可能在 `bindings` 中,但不在 `broadcast` 中。
|
||||
<Accordion title="只有一个智能体回复">
|
||||
**原因:** 对端 ID 可能在 `bindings` 中,但不在 `broadcast` 中。
|
||||
|
||||
**修复:** 添加到广播配置,或从绑定中移除。
|
||||
**修复:** 添加到 broadcast 配置,或从 bindings 中移除。
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="性能问题">
|
||||
如果许多智能体导致速度变慢:
|
||||
如果多个智能体导致速度变慢:
|
||||
|
||||
- 减少每个群组的智能体数量。
|
||||
- 使用更轻量的模型(sonnet 而不是 opus)。
|
||||
- 使用更轻量的模型(使用 sonnet 而不是 opus)。
|
||||
- 检查沙箱启动时间。
|
||||
|
||||
</Accordion>
|
||||
@ -403,12 +405,12 @@ x-i18n:
|
||||
|
||||
**用户发送:** 代码片段。
|
||||
|
||||
**响应:**
|
||||
**回复:**
|
||||
|
||||
- code-formatter:“Fixed indentation and added type hints”
|
||||
- security-scanner:“⚠️ SQL injection vulnerability in line 12”
|
||||
- test-coverage:“Coverage is 45%, missing tests for error cases”
|
||||
- docs-checker:“Missing docstring for function `process_data`”
|
||||
- code-formatter:“已修复缩进并添加类型提示”
|
||||
- security-scanner:“⚠️ 第 12 行存在 SQL 注入漏洞”
|
||||
- test-coverage:“覆盖率为 45%,缺少错误情况测试”
|
||||
- docs-checker:“函数 `process_data` 缺少文档字符串”
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="示例 2:多语言支持">
|
||||
@ -432,7 +434,7 @@ x-i18n:
|
||||
|
||||
## API 参考
|
||||
|
||||
### 配置架构
|
||||
### 配置模式
|
||||
|
||||
```typescript
|
||||
interface OpenClawConfig {
|
||||
@ -449,24 +451,24 @@ interface OpenClawConfig {
|
||||
如何处理智能体。`parallel` 会同时运行所有智能体;`sequential` 会按数组顺序运行它们。
|
||||
</ParamField>
|
||||
<ParamField path="[peerId]" type="string[]">
|
||||
WhatsApp 群组 JID、E.164 号码或其他 peer ID。值是应处理消息的智能体 ID 数组。
|
||||
WhatsApp 群组 JID、E.164 号码或其他对端 ID。值是应处理消息的智能体 ID 数组。
|
||||
</ParamField>
|
||||
|
||||
## 限制
|
||||
|
||||
1. **最大智能体数:** 没有硬性限制,但 10 个以上智能体可能较慢。
|
||||
2. **共享上下文:** 智能体看不到彼此的响应(有意设计)。
|
||||
3. **消息顺序:** 并行响应可能以任意顺序到达。
|
||||
1. **最大智能体数:** 没有硬性限制,但 10 个以上智能体可能会变慢。
|
||||
2. **共享上下文:** 智能体看不到彼此的回复(设计如此)。
|
||||
3. **消息顺序:** 并行回复可能以任意顺序到达。
|
||||
4. **速率限制:** 所有智能体都会计入 WhatsApp 速率限制。
|
||||
|
||||
## 未来增强
|
||||
|
||||
计划功能:
|
||||
|
||||
- [ ] 共享上下文模式(智能体会看到彼此的响应)
|
||||
- [ ] 智能体协调(智能体可以互相发送信号)
|
||||
- [ ] 共享上下文模式(智能体看到彼此的回复)
|
||||
- [ ] 智能体协调(智能体可以互相发信号)
|
||||
- [ ] 动态智能体选择(根据消息内容选择智能体)
|
||||
- [ ] 智能体优先级(部分智能体先于其他智能体响应)
|
||||
- [ ] 智能体优先级(某些智能体先于其他智能体回复)
|
||||
|
||||
## 相关
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user