QoderSDKClient——它维护长连接,可以根据模型回复决定下一句。一次性、无状态查询用 query(),见 快速开始。
多消息会话
每次调用client.query(...) 追加一轮输入,再用 client.receive_response() 消费到本轮回复结束:
运行中插话
在消费当前回复时再次调用client.query(...),即可把新消息发送到同一个长连接会话:
priority 决定消息何时交给会话:
相同优先级的消息按发送顺序处理。
priority="now" 适合立即改变当前方向;如果只想停止当前回复、不发送新消息,应使用 client.interrupt()。
添加上下文但不触发回复
should_query=False 会把消息加入对话,但不会仅凭这条消息触发回复。消息的处理时机仍由 priority 决定。
中断当前回复
只有QoderSDKClient 提供运行时中断能力,一次性 query() 迭代器不提供。调用 await client.interrupt() 可以停止当前回复,但不会断开 client,之后仍可继续对话。
interrupt() 不会清空后续消息队列或断开 client,之后仍可发送下一轮输入。
取消排队消息
给需要跟踪的消息设置会话内唯一的message_uuid,再使用 client.cancel_async_message(message_uuid) 取消尚未开始执行的消息:
True;消息不存在或已无法取消时返回 False。未设置 UUID 的消息无法通过该方法取消。不要在同一会话内复用 UUID。
管理会话生命周期
QoderSDKClient 的连接生命周期由调用方掌握。两种管理方式: