You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
在非安全来源(如 dsh web 以纯 HTTP 部署在局域网)或 2023 年前的浏览器上,每次 unary RPC 都在载体内部失败:crypto.randomUUID is not a function / AbortSignal.any is not a function,受影响功能包括提供方目录、Agent 预设等。
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
问题
浏览器 fetch 载体(
packages/host/apiproxy/src/fetch/client.ts,所有浏览器 RPC 走的 ./client 通道)硬依赖三个非普遍可用的平台 API:crypto.randomUUID只在安全上下文(HTTPS 或回环)存在AbortSignal.timeout(2022)与AbortSignal.any(2023)在旧引擎缺失在非安全来源(如
dsh web以纯 HTTP 部署在局域网)或 2023 年前的浏览器上,每次 unary RPC 都在载体内部失败:crypto.randomUUID is not a function/AbortSignal.any is not a function,受影响功能包括提供方目录、Agent 预设等。修复(可直接合并)
完整补丁已通过全部检查,单 commit 位于:
https://github.com/PJieei/deepseek-harness/tree/fix/apiproxy-legacy-browser-primitives
randomUuid()— 用crypto.getRandomValues(所有来源均可用)构造 v4 UUIDtimeoutSignal(ms)— 一次性定时器 abort controlleranySignal(signals)— AbortController 组合,采纳首个 abort 来源的 reason(与原生AbortSignal.any语义一致)验证
packages/host/apiproxy/tests/fetch-carrier.spec.ts)在运行时移除全部三个原语,证明 unary 往返仍然成功.agents/notes/implemented/architecture/2026-08-14-apiproxy-legacy-browser-primitives.{md,zh.md}请 cherry-pick 该分支 commit 或按团队偏好的流程合入,如需要调整随时说。
All reactions