Skip to content

群聊使用

概述

xacpx 支持在群聊中运行 agent 会话。编排系统允许你将相关的 agent 子任务分发到任务组中并行执行,并统一跟踪进度。本页涵盖群聊配置(机器人成员与 @ 提及)、权限模型、普通会话在群聊中的行为,以及如何停止和清理群聊任务。

以下是运行和收尾群聊任务时最常用的命令快速参考:

命令效果是否影响运行中的任务?
/group cancel <groupId>取消组内所有未完成的任务
/tasks clean移除当前协调者下已完成的任务和失效的绑定

没有 /group delete,也没有 /groups clean。停止组内未完成的任务请用 /group cancel <groupId>;清理已完成的任务请用 /tasks clean。完整命令列表参见命令参考

配置

在群聊中使用需满足以下条件:

  1. 机器人已被添加到群组。
  2. 已按照你的偏好配置 requireMention(参见频道管理)。
  3. 你具有控制命令所需的群主权限(参见下方@ 提及与命令行为)。

@ 提及与命令行为

在群聊中,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>

取消组内所有未完成的任务。已完成的任务保持不变,组本身也会保留,方便你继续查看结果和部分输出。

text
/group cancel review-batch

适用场景:

  • 组的方向出现偏差,需要停止执行。
  • 希望停止执行但保留上下文以供后续审查。

清理已完成的工作——/tasks clean

没有按组删除的命令。整理完成后的组,请使用 /tasks clean——它会移除当前协调者下已完成的任务(已完成、失败、已取消)和失效的 worker 绑定。它的作用范围是任务级别,而非组级别——扫描的是协调者下的已完成任务,而不是删除特定的组外壳。

text
/tasks clean

/tasks clean 不会取消任何仍在运行的任务。若组内还有未完成的任务,请先用 /group cancel <groupId> 取消,再运行 /tasks clean 清理已完成的记录。

在清理前,可用 /tasks(支持 --status--stuck--sort--order 过滤)查看任务列表,用 /task <id> 查看单个任务的详情。

最佳实践

收尾一个组:

  1. 组内是否还有你不再需要的运行中任务?
    • 是 → 用 /group cancel <groupId> 停止未完成的任务。
    • 否 → 进入第 2 步。
  2. 想清理已完成的任务记录?
    • 运行 /tasks clean,移除当前协调者下的已完成任务和失效绑定。

典型操作:

text
/group cancel review-batch   # 停止 review-batch 组内的未完成任务(组本身保留)
/tasks clean                 # 移除此协调者下的已完成任务和失效绑定

/tasks clean 只操作已完成的任务。若组内仍有运行中的任务需要停止,请先运行 /group cancel <groupId>,再用 /tasks clean 清理已完成的记录。

行动前先检查:/groups 查看各组及其状态,用 /group <id> 查看单个组的详情,用 /tasks(可选 /task <id>)在清理前审查各个任务。

/tasks clean 的作用范围是当前协调者。 它只清理你当前所在协调者会话下的已完成任务,不跨其他协调者操作。若需清理多个协调者会话的已完成任务,请分别在各自的协调者会话中执行。

基于 MIT 许可证发布。