Skip to content

管理渠道会话

渠道会话保存飞书、QQ 等消息入口中的对话上下文。渠道用户不需要填写 Invoke API 的 session_id;平台根据渠道账号、用户或群聊选择当前会话。

平台处理一条渠道消息时,需要分别确定两件事:由哪个智能体实例回复,以及本次回复接着哪段对话历史。用户绑定确定智能体实例,渠道会话确定对话历史。切换会话不会更换智能体实例。

如果不同用户只需要各自的对话历史,可以让渠道绑定一个共享智能体实例,并为用户保留不同渠道会话。只有需要分别管理实例参数、能力资源或生命周期时,才需要通过模板绑定为用户创建专属实例。

通过一个例子理解渠道会话

假设小王第一次在飞书中使用“报销助手”:

  1. 小王发送 /init。平台为小王创建或选择智能体实例 A,并保存用户绑定。
  2. 小王询问差旅报销,消息和回复保存在会话 1。
  3. 小王发送 /session new 发票问题,再询问发票。用户绑定仍指向实例 A,但当前对话历史变成会话 2。
  4. 小王发送 /session use 1 后,实例 A 会再次使用会话 1 的历史继续回答。

一条消息同时使用用户绑定和当前渠道会话:

图表预览

因此,/init 解决“这位用户使用哪个智能体实例”,/session 解决“这位用户当前继续哪段对话”。删除或切换渠道会话不会删除用户绑定或智能体实例。

理解默认会话

渠道账号处理一位单聊用户的第一条消息时,会为该用户准备默认会话。后续消息继续当前会话,直到用户创建或切换到另一段会话。

不要把离开聊天或长时间没有发送消息当作新会话。开始新的主题或业务任务时,使用 /session new;需要移除当前会话历史时,使用 /session clear。群聊不支持创建多段会话,需要清理当前群聊上下文时使用 /session clear

使用模板绑定时,用户仍需先发送 /init 创建并绑定专属智能体实例。/init 管理用户与智能体实例的关系;/session 管理该实例中的对话上下文。

管理单聊会话

在支持渠道指令的单聊中,可以发送:

命令结果
/session new [名称]创建一段新会话并切换到该会话;不填写名称时,平台自动生成名称
/session list列出该用户的会话并标记当前会话
/session use <序号>按列表中的序号切换当前会话
/session clear清空当前会话的对话历史,后续消息仍使用当前会话
/session fix清除当前会话卡住的处理状态,然后重新发送消息

需要从干净的上下文开始且保留原会话时,使用 /session new。需要保留当前会话但移除其中的对话历史时,使用 /session clear。不要等待会话因空闲自动切换或清空。只有消息一直停留在处理中且无法继续时才使用 /session fix

/session fix 用于恢复当前会话接收和处理新消息。执行后,先发送一条无副作用消息确认会话可以继续。旧审批卡片由原审批流程管理;卡片仍然显示时,请停止操作该卡片,并在 Trace、MCP 服务或实际写入的业务系统中核对工具结果。

管理群聊会话

群聊按渠道账号和群聊选择对话上下文,不提供单聊中的多会话切换。群聊只支持:

  • /session clear:清空当前群聊会话的对话历史。
  • /session fix:清除卡住的处理状态。

在群聊中使用 newlistuse 不会创建或切换单聊会话。

使用系统斜杠命令

发送 /help 可查看当前渠道公开的命令清单。当前系统命令包括:

命令用途和边界
/help查看命令及用法;无需先完成模板绑定初始化
/init [KEY=VALUE ...]为模板绑定用户创建并绑定智能体实例;实例绑定不使用此命令
/cancel请求取消当前会话中正在处理的消息;不会回滚已经提交给外部系统的副作用
/rewind回退到最近一次完成的对话节点,并取消当前未完成操作;不会撤销已经完成的外部写入
/session ...创建、查看、切换、清空或修复渠道会话;子命令见本页前文
/trust <工具名>/trust <工具名> <参数名> <正则>为当前渠道用户增加工具自动审批允许规则;/trust list 查看规则,/trust clear 清空规则

/trust 管理渠道用户的补充工具权限规则;使用 /trust <工具名> [参数名] [正则] 只会增加自动批准规则。补充规则不能覆盖智能体模板已经命中的拒绝结果,也不能代替工具服务授权。不要在生产中使用 /trust * 或无条件信任高风险工具;这会让所有匹配工具绕过人工审批。需要长期的统一策略时,在智能体模板中配置范围明确的工具权限规则,并保留服务端最小权限。

使用参数约束时,必须同时提供参数名和正则,例如 /trust exec command ^ls.*。只提供工具名会为该工具增加无条件允许规则;只在工具名后多写一个参数名也不会形成参数约束,而会产生同样的无条件允许结果。

需要清空渠道用户的补充规则时,先确认有权恢复列表中的每条拒绝规则。/trust 只能增加允许规则,不能重新创建拒绝规则;拒绝规则需要通过最初创建它们的渠道用户权限管理路径恢复。无法确认恢复路径或没有相应权限时,停止操作,不要执行 /trust clear

  1. 先发送 /trust list,在受控位置分别记录仍需保留的允许和拒绝规则,以及每条规则的工具名、参数名、正则约束和恢复路径。
  2. 发送 /trust clear。该命令会一次清空当前渠道用户的全部补充工具权限规则,包括列表中显示的允许和拒绝规则;智能体模板中的工具权限不受影响。
  3. 再次发送 /trust list。预期结果是当前用户没有补充工具权限规则。后续工具调用仍按智能体模板的拒绝、允许和默认行为处理,不保证一定进入人工确认。
  4. 如需恢复允许规则,只按第 1 步的记录逐条使用 /trust <工具名>/trust <工具名> <参数名> <正则> 添加最小范围的规则。拒绝规则通过原管理路径恢复。最后使用 /trust list 核对允许和拒绝规则;与记录不一致时停止使用相关工具,并由管理员修正规则。

/trust clear 没有自动撤销操作。如果误清空且没有可用记录,不要使用 /trust * 快速恢复;先核对智能体模板的默认行为,再确认实际需要自动批准或拒绝的工具和参数范围。允许规则逐条添加,拒绝规则通过原管理路径恢复。

渠道账号默认关闭 未命中的斜杠指令透传给 Agent。关闭时,未知命令返回 /help;开启时,平台把命令名和参数组成一条斜杠指令,作为普通消息交给智能体,可能触发模型和工具。参数之间使用单个空格,原输入中的引号、转义和连续空白不会保留。只有明确需要自定义 Agent 命令,并已完成提示注入、工具权限和副作用测试时才开启;自定义命令请按单个空格分隔参数。保存后发送一条无副作用的虚构命令,确认同时收到 Agent 回复,并在 Trace 中看到新的运行记录。缺少任一结果时,请恢复为关闭并联系平台支持。

在控制台检查渠道会话

  1. 打开 渠道账号,进入目标账号详情页。
  2. 选择 会话管理
  3. 按渠道用户检查会话数量、当前会话和更新时间。
  4. 需要核对消息路由到哪个智能体实例时,再打开 用户绑定

会话管理 用于查看和调整渠道会话选择。需要清空用户当前对话历史时,让该用户在对应聊天中发送 /session clear

渠道会话只区分对话上下文,不会把同一个记忆库按渠道用户分开。多个用户的智能体实例连接同一个现有记忆库时,应把其中的记忆视为共享数据。需要保存个人信息时,为每个隔离范围使用独立记忆库,并按选择记忆库的使用范围完成验证。

区分会话、绑定、实例和记忆

渠道会话、用户绑定、智能体实例和记忆库分别管理对话、路由、运行和跨会话信息。

对象作用改变它会发生什么
渠道会话选择当前对话上下文新建或切换会话不会创建新的智能体实例
用户绑定把渠道用户路由到专属智能体实例删除绑定不会删除原智能体实例
智能体实例运行模型、提示词和已配置能力一个实例可以依次处理多段渠道会话
记忆库保存可供后续交互检索的记忆条目新建或清空渠道会话不会自动创建或清空记忆库

需要管理渠道绑定和实例生命周期时,参见管理渠道账号与用户绑定。需要验证跨会话记忆时,参见验证记忆行为

处理常见问题

  • 用户没有专属智能体实例:先按模板绑定流程发送 /init,不要用 /session new 代替初始化。
  • 回复沿用了不需要的上下文:使用 /session new 开始另一段会话,或使用 /session clear 清空当前历史。
  • 消息一直停留在处理中:先等待当前回复;确认无法继续后使用 /session fix,再重新发送消息。
  • 切换后回复不符合预期:使用 /session list 确认当前会话,并在 用户绑定 中核对目标智能体实例。

渠道账号、绑定模式和 /init 流程参见通过渠道提供智能体。API 调用使用另一套会话管理方式,参见管理 API 会话、调用任务和中断