第七部分,Pi SDK

ModelRuntime、认证与模型解析

使用 ModelRuntime 查询 Providers、检查认证、设置运行时 Key 并解析 CLI 模型范围。

统一模型运行时

ModelRuntime 读取 auth.json、models.json 和环境变量,维护动态 Provider 目录。getProviders 与 checkAuth 可用于自定义设置页。

运行时密钥覆盖不会持久化,适合请求级凭据。自定义路径可以把不同租户或测试环境完全隔离。

typescript
import { ModelRuntime } from "@earendil-works/pi-coding-agent";

const runtime = await ModelRuntime.create({
  authPath: "/app/private/auth.json",
  modelsPath: "/app/config/models.json",
});

for (const provider of runtime.getProviders()) {
  console.log(provider.name, await runtime.checkAuth(provider.id));
}

解析与回退

resolveCliModel 和 resolveModelScopeWithDiagnostics 可以复用 CLI 的模型匹配与 thinking 语法。处理 warning 和 error,不要静默回退到意外模型。

持久记录实际选择的 Provider、model id 和 thinking level,便于成本与质量分析。

官方资料

本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。

Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License