Skip to content

消息路由

当微信消息到达时,ClawCenter 使用优先级路由系统决定由哪个 Agent 处理。

路由优先级

消息按以下顺序匹配(第一个命中即停止):

1. 系统命令(/help、/agents 等)
   → 内部处理,不发给任何 Agent

2. 消息中的 #话题标签
   → 路由到指定 Agent

3. 引用回复某个 Agent 的消息
   → 路由到发送被引用消息的同一个 Agent

4. 粘性路由
   → 路由到该用户上次使用的 Agent

5. 默认 Agent
   → 路由到该微信账号配置的默认 Agent

话题标签语法

消息开头加 #agent-id 加一个空格:

#claude 修复 main.ts 里的 bug
#助手 帮我写一段代码
#backend 检查数据库 schema

标签在发给 Agent 前会被去掉——Agent 只看到消息正文。

Agent ID 支持的字符:任何语言的字母、数字、连字符、下划线。

引用回复接续

在微信里引用(回复)Agent 的消息时,ClawCenter 会自动将新消息路由到同一个 Agent,延续同一个会话。

操作流程:

  1. 发送 #claude 解释一下这段代码
  2. 收到回复 [🤖 Claude] 这段代码的作用是...
  3. 引用这条回复写 第三步展开讲讲
  4. 自动发给 Claude,保持完整的对话上下文

如果引用消息的同时带了标签,标签优先。这让你可以把对话转给另一个 Agent。

粘性路由

发送普通消息(无标签、无引用)时,会发给你上次使用的 Agent。每个用户、每个微信账号分别跟踪。

/switch <agent> 可以手动切换粘性 Agent。

权限控制

访问规则定义了哪些用户可以使用哪些 Agent。在 Web 管理面板 → Routing 中配置。

每条规则包含:

  • 微信账号:规则适用于哪个微信连接
  • User Pattern* 表示所有用户,或指定特定用户 ID
  • Agent:可访问的 Agent
  • Default:是否为默认 Agent

如果用户尝试访问没有权限的 Agent,会收到错误提示,列出可用的 Agent。

回复前缀

每条 Agent 回复都带有显示名称前缀:

[🤖 Claude] 我找到了以下内容...
[🧠 助手] 答案是...

格式可在 Web 管理面板 → Settings → Reply Prefix Format 中配置。默认值为 [{displayName}],其中 {displayName} 会替换为 Agent 的显示名称。

Released under the Apache 2.0 License.