本页内容

本页内容

节点和媒体

讨论会话所有权

会话所有权

talk.client.create 和实时 talk.session.create 在加载配置文件上下文或启动提供程序之前解析其会话。代理前缀 sessionKey 选择该代理。否则,Talk 使用 talk.agentId,然后是配置的系统代理或明确的默认代理。如果多代理网关中没有所有者,请设置 talk.agentId 或发送代理前缀密钥。

talk.catalog 还需要一个明确的 Talk 所有者,并在发现提供商之前对其进行检查,因此缺少所有权会立即返回其设置错误。

省略 sessionKey 会选择与裸 main 密钥相同的主会话;两者都强制执行共享、隐身和操作员角色限制。主要别名遵循 session.scope 和配置的 主会话 密钥。共享固定存储保留其记录的不合格密钥的所有者,并且即使主别名变为 global,冲突的显式所有权也会被拒绝。如果在启动过程中路由或访问发生变化,则创建失败而不是切换会话;重试该请求。

客户端工具调用、网关拥有的提供商咨询和指导保留准备好的代理、解析的会话密钥和存储。代理回复与语音记录保持在同一会话中,包括在全局范围内,而原始密钥继续识别语音呼叫。提供商附加的控件和 talk.session.steer 仅选择与该逻辑语音呼叫绑定的工作。重用 voiceSessionId 来替换浏览器传输可以保留对其已接受工作的控制。旧版 talk.client.steer RPC 仍然是会话范围的:它选择 sessionKey 拥有的工作,而不是语音呼叫 ID 拥有的工作。

本机引导使用当前调用者的工具策略和会话权限。主机在策略准备后捕获实际后端尝试的权限,并在交付控制之前再次检查确切的所有者。更改调用者权限、工具白名单、权限模式或 closed/replaced 尝试可能会产生 tool_authority_mismatch;运行 ID 或复制指纹不会授权转向。直接语音输入不会获取跟踪或客户端工具功能。聊天支持的 Talk 保留经过身份验证的呼叫者的正常聊天权限,包括其审阅者和客户端功能,但禁用任务建议,因为 Talk 无法接受它们。状态和取消不需要工具政策预测。控制在队列或转录等待之前捕获目标;他们永远不会转移到稍后开始的任务。在后端注册之前接收到的控件返回可见的非活动运行响应,而不是等待不相关的未来任务。

当源绑定本机控件路由到待处理问题时,在注册、输入持久性和连接准备之后,在网关调度之前立即再次检查其答案或图像触发的取消。在该检查之前关闭或重新分配源会拒绝过时的输入,而不取消独立的支持问题或运行;稍后的有效答案仍然可以使用相同的问题。如果源在其响应返回时关闭,则已被问题消耗的答案仍会被接受。延迟确认使用问题的现有截止日期。如果确认完全丢失,Talk 会报告它无法确认输入,并且不会再次将其作为转向发送;重试之前请检查对话。这适用于通过待决问题输入路由的控制,而不是每个语音提供者对口头答案的普遍拦截。

受管理的房间切换尚不提供当前发言人的工具权限。仅房间附件无法授权转向;状态和取消仍然可用。

保留原始 sessionKey 用于客户端记录、工具调用和关闭请求。 talk.client.close 需要该确切的密钥和返回的 voiceSessionId;等效的存储别名不能替代。 talk.client.toolCall 确认返回 agentId、agentSessionKey 和 runId;使用该确切目标进行聊天取消、历史记录和完成事件,包括当解析的密钥为 global 时。没有密钥的仅转录会话保持无会话状态,并且不选择默认聊天。

本页有帮助吗?