跳转至

原生清单

harness 向 OpenClaw 控制面暴露的只读目录:带有就绪状态的原生模型行,以及在进程内 MCP 运行时之外拥有的 MCP 工具清单。这是 Agent harness 插件 参考的一部分。

原生模型清单

loadModelCatalog(params) 列出所提供代理、工作区和配置快照对应的模型。由原生模型选择拥有的行会将 nativeRuntime 设置为 harness ID,并省略宿主 api 和 baseUrl 声明。Core 不会使用宿主路由中的传输或能力来补充这些行。

返回 { entries, outcomes },以在行旁边报告无密钥的发现结果。结果使用提供商目录状态 ready、auth-rejected 和 unavailable;仅目录层面的身份验证拒绝会设置 rejectionScope: "catalog"。不要包含原始原生错误或凭据数据。失败的提供商保留其先前行,而成功的同级项会更新。空的成功结果(包括已禁用或缺失的应用)会清除该运行时先前的结果。Core 会独立于 API 提供商身份验证,将这些事实与原生运行时一起保留。针对 2026.9.5 SDK 构建的插件仍支持纯行数组。

意外抛出的发现错误会保持宿主的通用部分失败行为。宿主不会根据运行时名称或任意异常文本推断提供商或身份验证拒绝;harness 必须提供其自身的已知提供商结果。

可选的同步 readModelCatalogReadiness(params) 仅针对覆盖该确切范围和模型的当前原生账户观察返回 { accountType: string }。保留原生账户类型;它并不意味着宿主凭据或 OAuth 刷新生命周期。对于缺失、失败、被取代或已释放的观察,返回 undefined。就绪状态必须保留在物理原生所有者处,并在使用时重新验证;切勿将其序列化到目录行上、在此回调中执行 I/O,或从先前成功的回合中推断。Gateway 使用此元数据用于原生拥有的选择器行;编写的宿主路由、凭据和配置文件锁仍使用宿主就绪状态。这不是执行授权,所有运行时兼容性和权限检查仍然适用。

原生 MCP 清单

在 OpenClaw 进程内 MCP 运行时之外拥有 MCP 连接的 harness 可以实现 loadMcpToolCatalog(params)。该回调由只读控制面使用,例如 composer 的 Tool 访问视图。它会接收权威的会话身份、运行时配置、工作区以及稀疏的会话 MCP 覆盖。mcpServerNames 是有界的 OpenClaw 配置服务器集合,harness 可以表示其会话策略。仅针对该集合返回 OpenClaw 的 McpToolCatalog 结构。

仅使用已绑定的原生进程和线程。返回 undefined 表示没有可用的实时目录;不要仅为回答清单而启动新的 harness 进程。保留原始服务器/工具名称,使用 assignMcpCatalogSafeServerNames(...) 分配冲突安全的服务器名称,并在 sessionDeniedTools 中保留仅因会话拒绝而隐藏的工具。Core 在公开这些行之前仍会应用最终的 OpenClaw 工具策略和模式兼容性检查。

用于物化工具视图的 SessionMcpRuntime 实现应提供 joinCleanup()。它会等待已从该确切运行时请求的清理,包括未发布或正在退役的服务器,如果任何拥有的清理失败或无法确认,则拒绝。它必须为后续调用者保留该失败,同时不关闭仍被另一个运行租用的传输。仅一个已完成的尽力而为 dispose() 本身不是清理证据。

对于现有 SDK 实现,该方法是可选的;自动一次性恢复会将缺失的方法视为不确定的清理。不拥有传输的原生外观可以在其封闭运行时单独拥有并验证进程生命周期时立即完成。

转发嵌入式尝试参数的 harness 应透传 skillWorkshopProposalOnly。仅提案的 skill-workshop 运行是刻意狭窄的单工具运行,运行时会将它们保留在原始工具表面上,而不是启用代码模式或工具搜索目录。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw