正在统计访客…
浏览全部文档
开始 · 9找到适合你的 Runifold 学习路径45 分钟掌握 Runifold理解完整的 Runifold 平台第一次可信运行选择正确的执行 API选择 Crate 与 Cargo Feature构建常见 Runifold 应用Runifold 常见问题排查 Runifold 应用故障
执行内核 · 7理解 RunContext安全协调外部副作用使用预算与取消限制工作安全地处理错误与重试事件、Journal 与执行证据设计 Capability 安全执行从 Checkpoint 安全恢复
模型与服务商 · 7在避免重复输出的前提下路由模型选择并配置模型服务商使用服务商中立的模型协议基于 Provider Runtime 契约构建使用 OpenAI 控制面与 Realtime API测试与 Benchmark Provider Adapter配置 OpenAI、Anthropic、Gemini 与 Ollama
Agent · 7构建并配置 Agent为 Agent 添加类型化工具加入会话与语义记忆安全地委派给子 Agent返回结构化 Rust 值在不丢失语义的前提下流式输出使用检索为 Agent 提供事实依据
持久工作流 · 7组合确定性工作流让工作流持久化运行持久工作流 Worker协调 Timer、Signal 与持久等待运行多租户工作流基础设施运行并行 Branch 与安全 Race对持久 Workflow 进行版本管理
集成 · 7通过 MCP 连接外部能力选择存储与持久化边界通过 MCP Tasks 暴露持久工作构建并评估检索流水线使用 MCP Resources、Prompts 与 Sampling在不跨越权限的前提下缓存 MCP 响应在 Rust Web Service 中部署 Runifold
质量与运维 · 10在没有网络的情况下测试评估质量并阻止回归观测完整运行树在浏览器与边缘环境安全运行准确理解可靠性声明在 CI 中运行可复现评测使用 SLO 运维 Runifold治理 Task 保留与删除把审计证据归档到 S3-Compatible WORM 存储管理兼容性与可信发布
文档/生产实践
第一次使用?通过 45 分钟核心课程建立完整心智模型
生产实践

在浏览器与边缘环境安全运行

将服务商无关代码编译到 WASM,同时把长期凭证保留在应用网关之后。

实践指南·14 min

支持范围

Runifold 的服务商无关模型协议与部分 Runtime 组件可以面向 WASM。实际支持仍取决于 启用的 Feature,以及宿主提供的 Executor、时钟、随机数、持久化和网络能力。

从最小 Feature 集合开始。原生数据库 Driver、基于进程的 MCP 传输与部分 Observability Exporter 不适合浏览器 Bundle。

编译最小 Kernel

先安装 Target 并编译 Provider-neutral Core,再添加 Browser 或 Edge Adapter:

rustup target add wasm32-unknown-unknown
cargo check --target wasm32-unknown-unknown \
  --no-default-features

应用 Crate 只添加明确支持目标 Runtime 的 runifold-providers Adapter。运行 cargo tree -e features,排除意外引入的进程启动、Native TLS 或数据库 Driver。 编译只是第一道门禁,不等于平台兼容性已经得到证明。

凭证边界

永远不要把长期服务商 API Key 打包进浏览器。通过应用 Gateway 访问服务商,由它验证 用户、执行租户策略、附加预算,并限制模型与能力。

短期且限权的 Token 可以减少暴露,但不能替代服务端授权与用量控制。

浏览器传输

浏览器请求受 CORS、代理缓冲、连接生命周期与 Tab 暂停影响。使用 Streaming Fetch 或 SSE 前,应验证目标 Runtime 能保持事件边界并传播取消。

断开连接后的行为必须明确:取消运行、持久化后恢复,或让有界后台任务完成。

验证行为

“可以编译为 WASM”不等于“可以在这个 Edge 平台运行”。针对准确 Target 与部署 Runtime 测试定时器、流式、Abort 传播、Payload 限制与冷启动。

可靠性声明应同时记录平台、Runtime 版本、启用 Feature 和测试日期。

推荐的 Browser 架构

Browser/WASM → 你的认证 Gateway → Runifold Service → Model Provider
             ↘ 短期应用 Session    ↘ Budget、Policy、Audit

Browser 只发送用户输入并接收应用事件。Gateway 持有 Provider 凭证,把用户身份转换成 Capability,创建根 Budget / Deadline,并决定断连时取消还是 Detach。不要把长期 Provider Key、数据库凭证、MCP Stdio Process 或无限制 Model Choice 打进 WASM。

平台验证清单

必须在准确部署 Runtime 上测试,而不只是本地浏览器:

  1. Release 优化后的 Cold Start 与模块大小;
  2. DNS / TLS / Fetch 行为与所需 CORS Header;
  3. 所有 Proxy 后的 Stream Event 边界;
  4. AbortSignal 到 Run Cancellation 的传播;
  5. Timer 精度与最大 Request Lifetime;
  6. Random Source 与 UUID 行为;
  7. Payload、Memory、CPU 与 Subrequest 限制;
  8. Tab Suspend、Reconnect、重复提交与 Offline Transition。

如果 Stream 只能在完成后一次性显示,先检查 Proxy Buffering 与 Content Encoding。 如果本地取消有效、远端无效,确认 Gateway 是否真正关闭或 Abort Upstream Request, 并确认后台策略没有故意把 Run Detach。