群聊使用
概述
xacpx 支持在群聊中运行 agent 会话。编排系统允许你将相关的 agent 子任务分发到任务组中并行执行,并统一跟踪进度。本页涵盖群聊配置(机器人成员与 @ 提及)、权限模型、普通会话在群聊中的行为,以及如何停止和清理群聊任务。
以下是运行和收尾群聊任务时最常用的命令快速参考:
| 命令 | 效果 | 是否影响运行中的任务? |
|---|---|---|
/group cancel <groupId> | 取消组内所有未完成的任务 | 是 |
/tasks clean | 移除当前协调者下已完成的任务和失效的绑定 | 否 |
没有
/group delete,也没有/groups clean。停止组内未完成的任务请用/group cancel <groupId>;清理已完成的任务请用/tasks clean。完整命令列表参见命令参考。
配置
在群聊中使用需满足以下条件:
@ 提及与命令行为
在群聊中,xacpx 根据频道的 requireMention 设置路由消息:
requireMention: true(飞书/元宝的默认值): 只处理 @ 提及机器人的消息,忽略普通消息。requireMention: false: 处理群组中的所有消息。
权限模型: 群聊中的控制类命令——包括任务组管理、/later(创建/取消)及其他管理操作——仅限群主使用。帮助类命令(如 /help、不带参数的 /later)对所有成员开放。
群聊中的会话管理
群聊中的会话与私信中的工作方式相同:xacpx 将别名映射到 agent 和工作区,并将普通消息路由到当前活跃会话。
Agent 会话命令在群聊中的行为与私信完全一致——/ss、/use、/status、/cancel、/stop——受 requireMention 设置和控制命令群主限制的约束。
任务组
任务组允许你从协调者会话中并行分发多个独立子任务,并统一跟踪。每个组都有一个 groupId。组命令需要当前有活跃会话充当协调者。
核心的组生命周期命令如下:
| 命令 | 说明 |
|---|---|
/group new <title> | 创建任务组 |
/groups | 列出任务组(支持 --status、--stuck、--sort、--order 过滤) |
/group <id> | 查看单个组的详情 |
/group add <groupId> <agent> <task> | 向组内添加子任务 |
/group cancel <groupId> | 取消组内所有未完成的任务 |
停止组的工作——/group cancel <groupId>
取消组内所有未完成的任务。已完成的任务保持不变,组本身也会保留,方便你继续查看结果和部分输出。
/group cancel review-batch适用场景:
- 组的方向出现偏差,需要停止执行。
- 希望停止执行但保留上下文以供后续审查。
清理已完成的工作——/tasks clean
没有按组删除的命令。整理完成后的组,请使用 /tasks clean——它会移除当前协调者下已完成的任务(已完成、失败、已取消)和失效的 worker 绑定。它的作用范围是任务级别,而非组级别——扫描的是协调者下的已完成任务,而不是删除特定的组外壳。
/tasks clean/tasks clean 不会取消任何仍在运行的任务。若组内还有未完成的任务,请先用 /group cancel <groupId> 取消,再运行 /tasks clean 清理已完成的记录。
在清理前,可用 /tasks(支持 --status、--stuck、--sort、--order 过滤)查看任务列表,用 /task <id> 查看单个任务的详情。
最佳实践
收尾一个组:
- 组内是否还有你不再需要的运行中任务?
- 是 → 用
/group cancel <groupId>停止未完成的任务。 - 否 → 进入第 2 步。
- 是 → 用
- 想清理已完成的任务记录?
- 运行
/tasks clean,移除当前协调者下的已完成任务和失效绑定。
- 运行
典型操作:
/group cancel review-batch # 停止 review-batch 组内的未完成任务(组本身保留)
/tasks clean # 移除此协调者下的已完成任务和失效绑定/tasks clean 只操作已完成的任务。若组内仍有运行中的任务需要停止,请先运行 /group cancel <groupId>,再用 /tasks clean 清理已完成的记录。
行动前先检查: 用 /groups 查看各组及其状态,用 /group <id> 查看单个组的详情,用 /tasks(可选 /task <id>)在清理前审查各个任务。
/tasks clean 的作用范围是当前协调者。 它只清理你当前所在协调者会话下的已完成任务,不跨其他协调者操作。若需清理多个协调者会话的已完成任务,请分别在各自的协调者会话中执行。