PYPYLAB
LIVE DEMO

P03 · AI Application Infrastructure

AI Web Chat SDK

安全的嵌入式 AI 对话层:覆盖浏览器运行时、Web Component、设备身份、请求签名、anti-replay、短生命周期 session、quota 与服务端控制。

工程笔记 ↗返回作品页
Rust/WASMTypeScriptFastAPIRedisWeb ComponentsHMACAnti-ReplayTDD
ARCHITECTURE

安全敏感逻辑保持在明确的工程边界之后。

Web pageHost application embeds the SDK
Web ComponentUI + conversation continuity
Rust / WASMFingerprint digest, signing, anti-replay data
FastAPIDevice, auth, session and chat endpoints
RedisStable mapping, quota, session and rate-limit state
AUTH FLOW

服务端签发身份,再授予短生命周期 session 权限。

  1. CLIENT · WASM浏览器

    生成版本化的设备指纹摘要

    WASM 计算版本化设备指纹摘要。浏览器仅提供身份输入,不自行签发由服务端持有的 device_id。

  2. SERVER · DEVICEPOST /api/v1/device/init

    解析稳定的设备身份

    服务端使用 HMAC 派生稳定的指纹键,解析 device_id,并签发与设备身份关联的 device_token。

    响应:device_id + device_token
  3. SERVER · AUTHPOST /api/v1/auth/init

    验证设备令牌并签发会话

    服务端校验 device_token,再授予短生命周期的会话权限。

    响应:session_key + JWT
  4. CLIENT → SERVER已签名聊天请求

    请求签名、服务端验证与计量

    WASM 使用 session_key 对聊天请求签名;服务端在计入有效用量前校验签名与重放保护,设备配额和 IP 限流分别执行。

Identity

Server-issued device_id

浏览器不自行生成设备身份;身份映射由服务端边界生成并持有。

Integrity

Signed + replay-aware requests

先验证请求签名,再计入有效用量,避免重复签名重复消耗 quota。

Abuse control

Quota and rate layers

设备日 quota、短生命周期 session 与 IP 分钟级限流分别处理不同的运行风险。

20accepted user requests per device per Asia/Shanghai day
40recent user/assistant messages retained as conversation context
5mshort-lived session lifetime in the current implementation

当前实现快照。

同一套 SDK 也驱动 Ask Portfolio AI。

浏览器 SDK、服务端安全控制与 MCP 驱动的 Portfolio Knowledge 共同构成一条端到端 AI 交互链路。