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 权限。
WASM computes versioned fingerprint digest ↓ POST
/api/v1/device/init ↓ server HMAC → stable fingerprint key →
device_id + device_token ↓ POST /api/v1/auth/init ↓ server verifies
device_token → session_key + JWT ↓ WASM signs chat request with
session_key
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 交互链路。