diff --git a/rfc/0029-web-console.md b/rfc/0029-web-console.md index defbb364e..362ea817d 100644 --- a/rfc/0029-web-console.md +++ b/rfc/0029-web-console.md @@ -226,7 +226,7 @@ POST /api/calls 2. **Settings 已存该 provider 的 key**(KeyStore,含启动时从磁盘加载的); 3. `None` —— provider 读自己注册的默认 env var。 - 请求自带 `base_url`(Replay 时为录制里的地址)且不是该 provider 的默认地址时,只用请求内直接给的 key(明文,仅回环):第 2、3 级不适用,`env:` 引用被拒绝,不给 key 则不带 key 发出。否则任何客户端都能把服务端的 key 发往自己指定的主机。 + 请求自带 `base_url`(Replay 时为录制里的地址)且不是该 provider 的默认地址时,只用请求内直接给的 key(明文,仅回环):第 2、3 级不适用,`env:` 引用被拒绝,不给 key 则以空 key 发出(与 AI SDK 显式传 `apiKey: ''` 相同,不回落到 Settings key 或环境变量;OpenAI 等 provider 因此发一个空凭据头,如 `Authorization: Bearer`)。否则任何客户端都能把服务端的 key 发往自己指定的主机。 **威胁模型**:信任边界 = 本机回环客户端。回环下浏览器 ↔ 后端信道视为可信,故允许网页内明文录入与请求内明文直传;非回环(如 `--host 0.0.0.0` LAN 共享)下任何局域网客户端都能 POST,故全部明文入口关闭。明文 key 永不进日志、永不回传前端、永不进 Recording(录制层脱敏复用 RFC-0023 规则)。 diff --git a/tools/aimux-web/README.md b/tools/aimux-web/README.md index 6104b90f8..a14bdba6a 100644 --- a/tools/aimux-web/README.md +++ b/tools/aimux-web/README.md @@ -73,7 +73,8 @@ env var。非回环绑定(`--host 0.0.0.0` 等)时网页内 key 管理自动禁 自填 `base_url`(不是该 provider 的默认地址)时只用请求里直接给的 key(仅回环 绑定可填明文):Settings 已存 key 和环境变量都不会发往该地址,`env:` 引用被拒绝; -key 留空则不带 key 调用。Replay 一条指向非默认地址的录制时同样如此。 +key 留空则以空 key 调用(与 AI SDK 显式传 `apiKey: ''` 相同,不回落到任何已存或环境 key; +OpenAI 等 provider 因此发一个空凭据头,如 `Authorization: Bearer`)。Replay 一条指向非默认地址的录制时同样如此。 打开后使用 Playground / Agent 页跑一次调用,Traces 页即可看到完整录制。