智能体嵌入

嵌入的限制与错误

嵌入智能体的各项上限、错误码,以及目前不支持的能力。

本页列出嵌入时会碰到的上限和错误码。标注「策略」的值由你为智能体配置的嵌入策略决定,其余是平台固定值。

上限

签发令牌

项目限制
令牌有效期 ttl_seconds60 到 3600 秒。不传时用策略的默认值,且不能超过策略的有效期上限(ttl_max_seconds,同样在 60 到 3600 之间)。
external_user_id1 到 128 个字符,只能包含字母、数字和 _ . : @ -。
system_message文本块总计不超过 8192 字节(UTF-8)。
metadata最多 16 个键;键 1 到 64 个字符,值为不超过 512 个字符的字符串。
会话预算 budget_cents0 到策略的会话预算上限;不传时用策略的默认值。
allowed_origins必须是策略 allowed_origins 的子集。

策略

项目限制
来源白名单 allowed_origins最多 50 条。只接受 https 来源;通配写法 https://*.example.com 只匹配一级子域名,不含端口。开启 allow_localhost 后额外允许 http://localhost 和 http://127.0.0.1。
每个终端用户的活跃会话数 max_active_sessions_per_user1 到 100。只计运行中的会话,不计空闲的历史会话。
每个终端用户每分钟请求数 per_user_rate_per_min1 到 600。
被封禁的终端用户 blocked_end_users最多 1000 个。
月度上限 monthly_cap_cents以分计;null 表示不设上限。
触顶动作 on_capstop_new_sessions:拒绝新建会话,返回 EMBED_MONTHLY_CAP_REACHED;alert_only:只告警,不拦截。

月度花费按 UTC 自然月统计。

会话与消息

项目限制
附件每条消息最多 5 个,单个不超过 10 MB。只支持内联:PNG、JPEG、GIF、WebP 作为图片,PDF、TXT、MD 作为文档,不会上传为会话文件。
推荐问题 startScreen.prompts最多显示 4 个。
会话标题不超过 500 个字符。
创建会话时的初始事件最多 50 条,只能是纯文本的用户消息。
会话预算达到令牌上的 budget_cents 后,会话不再接受新的工作,只接受工具确认和中断。

错误

错误从两处到达页面:接口返回的错误体,以及 Kit 自身产生的错误。传输错误通过 praxis.error 事件的 detail 交给你,字段为 code、status、retryable 和 message;会话加载或发送失败可能只有 message,按错误码分支前先检查 code 是否存在。

EMBED_* 错误码

错误码HTTP含义可重试建议处理
EMBED_TOKEN_EXPIRED401令牌已过期。否Kit 会自动调用 getToken 换新令牌并重试一次;持续出现说明你的令牌服务返回了已过期的令牌。
EMBED_TOKEN_REVOKED401令牌已被吊销。否Kit 不再刷新,对话进入终止状态。让用户重新进入页面,由你的服务重新签发。
EMBED_ORIGIN_NOT_ALLOWED403页面来源不在白名单内。否把页面来源加入策略的 allowed_origins,并确认签发令牌时的 allowed_origins 包含它。
EMBED_USER_BLOCKED403该终端用户被封禁。否在策略的 blocked_end_users 中确认并移除,或提示用户联系你。
EMBED_RATE_LIMITED429每分钟请求数或同时运行的会话数超限,或达到匿名每日会话上限。是请求限流时稍后重试;并发超限时等待运行结束或中断运行,或调高 max_active_sessions_per_user。归档空闲历史不会释放运行名额;每日上限在下个 UTC 日恢复。
EMBED_BUDGET_EXHAUSTED402会话预算耗尽,或达到匿名每日花费上限。否会话预算耗尽时开始新会话,或调高签发时的 budget_cents;匿名每日上限需等待额度恢复。
EMBED_MONTHLY_CAP_REACHED402月度上限已到,且触顶动作为 stop_new_sessions。否调高 monthly_cap_cents,或把 on_cap 改为 alert_only;下个 UTC 月自动恢复。
EMBED_FIELD_NOT_ALLOWED400创建会话时带了嵌入令牌不允许的字段,或初始事件格式不被允许;也用于策略不允许的 agent_override。否只传标题、时区和纯文本的初始用户消息。

相关的通用错误码

错误码HTTP含义可重试
INVALID_PARAMS400请求参数不合法,信息会指出是哪个字段,例如 Invalid external_user_id、system_message exceeds 8192 bytes。否
NOT_FOUND404授权、策略或请求的资源不存在或不可访问;Hosted 凭证无效、过期或已使用也返回此码。否
UNAUTHENTICATED401凭证缺失或无效,包括已停用的可公开 key。否
AGENT_NOT_FOUND / SESSION_NOT_FOUND404找不到智能体或会话。否
SESSION_FORBIDDEN / PERMISSION_DENIED / READ_ONLY403调用方无权执行此操作;终端用户的资源隔离也可能以 404 隐藏资源。否
INVALID_STATE / SESSION_CONFLICT / AGENT_ARCHIVED / SESSION_ARCHIVED409智能体或会话当前状态不允许此操作。否
INVALID_PAGE_TOKEN400分页或事件游标无效。否
EVENT_CONTENT_UNAVAILABLE404事件内容不可用。否
EVENT_CONTENT_CORRUPT500存储的事件内容无法正确读取。否
UPSTREAM_UNAVAILABLE502上游服务不可用。是
INTERNAL500未分类的服务端错误。否

Kit 自身产生的错误码

这些错误没有对应的接口响应,status 为 0 或接口状态码。

错误码含义可重试
network_error网络请求失败。是
http_error响应不是已知的错误体。status 为 429 或 5xx 时可重试。视状态码
invalid_tokengetToken 返回了空令牌。是
invalid_response响应不是合法 JSON,或历史分页没有前进。否
invalid_stream事件流不是 SSE,或某条数据不是合法 JSON。否
stream_disconnected事件流在没有取消的情况下中断。Kit 最多重连 5 次。是
event_cursor_not_found历史中找不到续传位置。否
callback_error事件回调抛出了异常。否
aborted / disposed操作被取消,或元素已移除。否

getToken 失败时,Kit 按 1、2、4 秒的间隔最多重试 3 次,之后令牌状态变为过期并发出 praxis.error。

暂不支持

以下能力在嵌入里尚未提供:

  • 按消息切换模型
  • 工具模式
  • 语音输入
  • entities、commands、widgets
  • 按终端用户的记忆
导出

本页内容