正在统计访客…
浏览全部文档
开始 · 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 分钟核心课程建立完整心智模型
教程

第一次可信运行

创建 Rust 项目、调用模型、理解执行路径,并处理最常见的环境问题。

实践指南·10 min

你将构建什么

你将创建一个由 OpenAI 驱动的小型 Agent,执行一次 Prompt,并理解其中涉及的 执行层。示例是完整的:可以直接复制到新项目运行,不需要补充被省略的应用代码。

前置条件

  • Rust 1.88 或更新版本
  • 服务端进程能够读取 OpenAI API Key
  • OpenAI 项目有权访问的模型

Runifold 目前处于预览阶段。需要可复现构建的应用应固定 crate 版本,并在升级 前阅读 Changelog。

创建项目

创建二进制 crate,并且只启用需要的模型服务商:

cargo new hello-runifold
cd hello-runifold
cargo add runifold@0.9.0
cargo add runifold-providers@0.9.0 --features openai
cargo add tokio --features macros,rt-multi-thread

Runifold 0.9 把运行时门面与具体 Provider Adapter 分开:runifold 提供 Agent、 Tool 与 Workflow,runifold-providers 只编译通过 Feature 选中的协议适配器。

在进程环境中设置凭证:

export OPENAI_API_KEY="your-api-key"

长期有效的模型凭证应该留在服务端。浏览器或边缘应用应该调用自己控制的应用网关, 而不是把 API Key 写入 WASM 或 JavaScript。

运行 Agent

用下面的完整程序替换 src/main.rs

use runifold::ProviderModelExt;
use runifold_providers::openai::OpenAiClient;
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let runtime = OpenAiClient::from_api_key(
        std::env::var("OPENAI_API_KEY")?
    )?
    .runtime("gpt-5")?;
 
    let answer = runtime
        .agent("assistant")
        .system("Answer precisely and expose uncertainty.")
        .prompt_text("Why is durable execution useful?")
        .await?;
 
    println!("{answer}");
    Ok(())
}

运行:

cargo run

具体回答会随模型变化,但程序应该正常退出并输出一段文本。如果当前项目使用其他 模型,只需修改传给 runtime 的字符串。

理解执行路径

这段简洁程序仍然建立了一条完整执行路径:

  1. OpenAiClient 负责认证与传输协议。
  2. runtime("gpt-5") 加入安全重试路由与熔断器。
  3. agent("assistant") 创建模型与工具的执行边界。
  4. prompt_text 创建便捷的根 Run,并返回可见文本。

便捷 API 并不是第二套简化引擎。之后可以向同一个 Agent 提供显式 RunContext, 逐步加入预算、Capability、截止时间、元数据与 Journal。

常见问题

现象可能原因处理方式
找不到 OPENAI_API_KEY当前 Shell 没有导出变量在运行 Cargo 的终端重新 export
HTTP 401凭证无效或已撤销创建新 Key 并更新环境变量
model not found项目无权访问 gpt-5改用当前项目可用的模型
找不到 runifold_providersopenai未添加 Provider Crate 或 Feature执行 cargo add runifold-providers@0.9.0 --features openai
请求超时网络、服务商或应用截止时间先检查错误类型,再决定是否重试

不要无条件重试所有失败。Runifold 只重试适配器明确标记为安全的错误;不确定失败 可能已经消耗 Token,甚至已经产生外部副作用。

遇到编译、凭证、Capability、流式输出或恢复问题,请使用完整的 故障排查指南