Gateway 导读

设置说明书uration — 工具小帮手s and custom providers:总控室这一层在盯什么

设置说明书uration — 工具小帮手s and custom providers 属于网关总控室里的一角。先看它卡在哪个位置、会拨动哪些客户端和工具、旋钮一拧会影响哪片区域,然后再看命令细节。原文最响的一记鼓点,其实是:工具小帮手s.* 设置说明书 keys and custom provider / base-URL setup. For 机器人朋友s, 消息通道s, and other…。

先听这页的人话版

Configuration — tools and custom providers

这一页不是在堆术语,它像把“设置说明书uration — 工具小帮手s and custom providers”这台小机器搬到桌上,当着你的面拆开给你看。你先不用全记住,先抓住它到底在忙什么:工具小帮手s.* 设置说明书 keys and custom provider / base-URL setup. For 机器人朋友s, 消息通道s, and other top-leve…。

如果把这页当成“给普通人看的版本”,你最应该带走的是:它到底在教你一件什么事、什么时候要这样做、以及哪里最容易踩坑。

原始路径:/gateway/config-tools 章节数量:21 查看原文

第 1 站

Start Here

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

这段在解决什么

这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。

为什么值得看

很多文档看起来长,其实是在防你漏掉前置条件。

真要动手时

真正照做时,先找前置条件,再找必填项,最后看验证方法。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:工具小帮手s.* 设置说明书 keys and custom provider / base-URL setup. For 机器人朋友s, 消息通道s, and other top-level 设置说明书 keys, see 设置说明书u…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:工具小帮手s.* 设置说明书 keys and custom provider / base-URL setup. For 机器人朋友s, 消息通道s, and other top-level 设置说明书 keys, see 设置说明书u…。

原文小纸条

tools.* config keys and custom provider / base-URL setup. For agents, channels, and other top-level config keys, see Configuration reference.

第 2 站

工具小帮手 profiles

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:工具小帮手s.profile sets a base allowlist before 工具小帮手s.allow/工具小帮手s.deny: Note Local onboarding defaults new local 设置说明书s t…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:工具小帮手s.profile sets a base allowlist before 工具小帮手s.allow/工具小帮手s.deny:。

原文小纸条

tools.profile sets a base allowlist before tools.allow/tools.deny:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Note。

原文小纸条

Note

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Local onboarding defaults new local 设置说明书s to 工具小帮手s.profile: "coding" when unset (existing explicit profiles are prese…。

原文小纸条

Local onboarding defaults new local configs to tools.profile: "coding" when unset (existing explicit profiles are preserved).

像整理表格

这段是在把几种选项排成表格,左边像标签,右边像说明。手机上可以横向滑动原文表格。

原文表格
ProfileIncludes
minimalsession_status only
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
fullNo restriction (same as unset)

第 3 站

工具小帮手 大家一起的房间s

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

这一小段像旁白,在提醒我们镜头已经切到下一站。

像整理表格

这段是在把几种选项排成表格,左边像标签,右边像说明。手机上可以横向滑动原文表格。

原文表格
GroupTools
group:runtimeexec, process, code_execution (bash is accepted as an alias for exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationheartbeat_respond, cron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list, update_plan
group:mediaimage, image_generate, music_generate, video_generate, tts
group:openclawAll built-in tools (excludes provider plugins)
group:pluginsTools owned by loaded plugins, including configured MCP servers exposed through bundle-mcp

第 4 站

MCP and 新本领插件 工具小帮手s inside sandbox 工具小帮手 policy

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ured MCP 大房子服务器s are exposed as 新本领插件-owned 工具小帮手s under the bundle-mcp 新本领插件 id. Normal 工具小帮手 profiles can allow…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ured MCP 大房子服务器s are exposed as 新本领插件-owned 工具小帮手s under the bundle-mcp 新本领插件 id. Normal 工具小帮手 profiles can allow…。

原文小纸条

Configured MCP servers are exposed as plugin-owned tools under the bundle-mcp plugin id. Normal tool profiles can allow them, but tools.sandbox.tools is an additional gate for sandboxed sessions. If sandbox mode is "all" or "non-main", include one of these entries in the sandbox tool allowlist when MCP/plugin tools should be visible:

像准备清单

这一串条目别硬背,把它当成“MCP and plugin tools inside sandbox tool policy”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:bundle-mcp for OpenClaw-managed MCP 大房子服务…、the 新本领插件 id for a specific native 新本领插件、大家一起的房间:新本领插件s for all loaded 新本领插件-owned…、exact MCP 大房子服务器 工具小帮手 names or 大房子服务器 gl…。

原文小纸条
  • bundle-mcp for OpenClaw-managed MCP servers from mcp.servers
  • the plugin id for a specific native plugin
  • group:plugins for all loaded plugin-owned tools
  • exact MCP server tool names or server globs such as outlook__send_mail or outlook__* when you only want one server
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:大房子服务器 globs use the provider-safe MCP 大房子服务器 prefix, not necessarily the raw mcp.大房子服务器s key. Non-[A-Za-z0-9_-] charac…。

原文小纸条

Server globs use the provider-safe MCP server prefix, not necessarily the raw mcp.servers key. Non-[A-Za-z0-9_-] characters become -, names that do not start with a letter get an mcp- prefix, and long or duplicate prefixes may be truncated or suffixed; for example, mcp.servers["Outlook Graph"] uses a glob like outlook-graph__*.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“agents”挂牌子,告诉系统它该指向“{ defaults: { sandbox: { mode: all } } }”。
  • 这里在给“mcp”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  agents: { defaults: { sandbox: { mode: "all" } } },
  mcp: {
    servers: {
      outlook: { command: "node", args: ["./outlook-mcp.js"] },
    },
  },
  tools: {
    sandbox: {
      tools: {
        alsoAllow: ["web_search", "web_fetch", "memory_search", "memory_get", "bundle-mcp"],
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Without that sandbox-layer entry, the MCP 大房子服务器 can still load successfully while its 工具小帮手s are filtered before the p…。

原文小纸条

Without that sandbox-layer entry, the MCP server can still load successfully while its tools are filtered before the provider request. Use openclaw doctor to catch this shape for OpenClaw-managed servers in mcp.servers. MCP servers loaded from bundled plugin manifests or Claude .mcp.json use the same sandbox gate, but this diagnostic does not enumerate those sources yet; use the same allowlist entries if their tools disappear in sandboxed turns.

第 5 站

`工具小帮手s.allow` / `工具小帮手s.deny`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Global 工具小帮手 allow/deny policy (deny wins). Case-insensitive, supports * wildcards. Applied even when Docker sandbox is…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Global 工具小帮手 allow/deny policy (deny wins). Case-insensitive, supports * wildcards. Applied even when Docker sandbox is…。

原文小纸条

Global tool allow/deny policy (deny wins). Case-insensitive, supports * wildcards. Applied even when Docker sandbox is off.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{ deny: [browser canvas] }”。
  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
原文代码块
{
  tools: { deny: ["browser", "canvas"] },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:write and apply_patch are separate 工具小帮手 ids. allow: ["write"] also enables apply_patch for compatible 聪明脑袋模型s, but den…。

原文小纸条

write and apply_patch are separate tool ids. allow: ["write"] also enables apply_patch for compatible models, but deny: ["write"] does not deny apply_patch. To block all file mutation, deny group:fs or list each mutating tool explicitly:

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{ deny: [write edit apply_patch] }”。
  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
原文代码块
{
  tools: { deny: ["write", "edit", "apply_patch"] },
}

第 6 站

`工具小帮手s.byProvider`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Further restrict 工具小帮手s for specific providers or 聪明脑袋模型s. Order: base profile → provider profile → allow/deny.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Further restrict 工具小帮手s for specific providers or 聪明脑袋模型s. Order: base profile → provider profile → allow/deny.

原文小纸条

Further restrict tools for specific providers or models. Order: base profile → provider profile → allow/deny.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“profile”挂牌子,告诉系统它该指向“coding”。
原文代码块
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
      "openai/gpt-5.4": { allow: ["group:fs", "sessions_list"] },
    },
  },
}

第 7 站

`工具小帮手s.工具小帮手sBySender`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Restricts 工具小帮手s for a specific requester identity. This is defense-in-depth on top of 消息通道 access control; sender valu…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Restricts 工具小帮手s for a specific requester identity. This is defense-in-depth on top of 消息通道 access control; sender valu…。

原文小纸条

Restricts tools for a specific requester identity. This is defense-in-depth on top of channel access control; sender values must come from the channel adapter, not message text.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“toolsBySender”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    toolsBySender: {
      "channel:discord:1234567890123": { alsoAllow: ["group:fs"] },
      "id:guest-user-id": { deny: ["group:runtime", "group:fs"] },
      "*": { deny: ["exec", "process", "write", "edit", "apply_patch"] },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Keys use explicit prefixes: 消息通道:<消息通道Id>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName…。

原文小纸条

Keys use explicit prefixes: channel:<channelId>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName>, or "*". Channel ids are canonical OpenClaw ids; aliases such as teams normalize to msteams. Legacy unprefixed keys are accepted as id: only. Matching order is channel+id, id, e164, username, name, then wildcard.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Per-机器人朋友 机器人朋友s.list[].工具小帮手s.工具小帮手sBySender overrides the global sender match when it matches, even with an empty {}…。

原文小纸条

Per-agent agents.list[].tools.toolsBySender overrides the global sender match when it matches, even with an empty {} policy.

第 8 站

`工具小帮手s.elevated`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Controls elevated exec access outside the sandbox:。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Controls elevated exec access outside the sandbox:。

原文小纸条

Controls elevated exec access outside the sandbox:

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“elevated”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        whatsapp: ["+15555550123"],
        discord: ["1234567890123", "987654321098765432"],
      },
    },
  },
}
像准备清单

这一串条目别硬背,把它当成“`tools.elevated`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Per-机器人朋友 override (机器人朋友s.list[].工具小帮手s.…、/elevated on off ask full stores state pe…、Elevated exec bypasses sandboxing and use…。

原文小纸条
  • Per-agent override (agents.list[].tools.elevated) can only further restrict.
  • /elevated on|off|ask|full stores state per session; inline directives apply to single message.
  • Elevated exec bypasses sandboxing and uses the configured escape path (gateway by default, or node when the exec target is node).

第 9 站

`工具小帮手s.exec`

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

这一小段像旁白,在提醒我们镜头已经切到下一站。

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“exec”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    exec: {
      backgroundMs: 10000,
      timeoutSec: 1800,
      cleanupMs: 1800000,
      notifyOnExit: true,
      notifyOnExitEmptySuccess: false,
      commandHighlighting: false,
      applyPatch: {
        enabled: false,
        allowModels: ["gpt-5.5"],
      },
    },
  },
}

第 10 站

`工具小帮手s.loopDetection`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:工具小帮手-loop safety checks are **disabled by default**. Set enabled: true to activate detection. Settings can be defined…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:工具小帮手-loop safety checks are **disabled by default**. Set enabled: true to activate detection. Settings can be defined…。

原文小纸条

Tool-loop safety checks are **disabled by default**. Set enabled: true to activate detection. Settings can be defined globally in tools.loopDetection and overridden per-agent at agents.list[].tools.loopDetection.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“loopDetection”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    loopDetection: {
      enabled: true,
      historySize: 30,
      warningThreshold: 10,
      criticalThreshold: 20,
      globalCircuitBreakerThreshold: 30,
      detectors: {
        genericRepeat: true,
        knownPollNoProgress: true,
        pingPong: true,
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Max 工具小帮手-call history retained for loop analysis.

原文小纸条

Max tool-call history retained for loop analysis.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Repeating no-progress pattern threshold for warnings.

原文小纸条

Repeating no-progress pattern threshold for warnings.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Higher repeating threshold for blocking critical loops.

原文小纸条

Higher repeating threshold for blocking critical loops.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Hard stop threshold for any no-progress run.

原文小纸条

Hard stop threshold for any no-progress run.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Warn on repeated same-工具小帮手/same-args calls.

原文小纸条

Warn on repeated same-tool/same-args calls.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Warn/block on known poll 工具小帮手s (process.poll, 魔法口令_status, etc.).

原文小纸条

Warn/block on known poll tools (process.poll, command_status, etc.).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ParamField。

原文小纸条

ParamField

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Warn/block on alternating no-progress pair patterns.

原文小纸条

Warn/block on alternating no-progress pair patterns.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Warning。

原文小纸条

Warning

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If warningThreshold >= criticalThreshold or criticalThreshold >= globalCircuitBreakerThreshold, validation fails.

原文小纸条

If warningThreshold >= criticalThreshold or criticalThreshold >= globalCircuitBreakerThreshold, validation fails.

第 11 站

`工具小帮手s.web`

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

这一小段像旁白,在提醒我们镜头已经切到下一站。

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“web”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    web: {
      search: {
        enabled: true,
        apiKey: "brave_api_key", // or BRAVE_API_KEY env
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
      },
      fetch: {
        enabled: true,
        provider: "firecrawl", // optional; omit for auto-detect
        maxChars: 50000,
        maxCharsCap: 50000,
        maxResponseBytes: 2000000,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
        maxRedirects: 3,
        readability: true,
        userAgent: "custom-ua",
      },
    },
  },
}

第 12 站

`工具小帮手s.media`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ures inbound media understanding (image/audio/video): Accordion大家一起的房间 Media 聪明脑袋模型 entry fields **Provider entry*…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ures inbound media understanding (image/audio/video):。

原文小纸条

Configures inbound media understanding (image/audio/video):

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“media”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    media: {
      concurrency: 2,
      asyncCompletion: {
        directSend: false, // deprecated: completions stay agent-mediated
      },
      audio: {
        enabled: true,
        maxBytes: 20971520,
        scope: {
          default: "deny",
          rules: [{ action: "allow", match: { chatType: "direct" } }],
        },
        models: [
          { provider: "openai", model: "gpt-4o-mini-transcribe" },
          { type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] },
        ],
      },
      image: {
        enabled: true,
        timeoutSeconds: 180,
        models: [{ provider: "ollama", model: "gemma4:26b", timeoutSeconds: 300 }],
      },
      video: {
        enabled: true,
        maxBytes: 52428800,
        models: [{ provider: "google", model: "gemini-3-flash-preview" }],
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间。

原文小纸条

AccordionGroup

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Media 聪明脑袋模型 entry fields。

原文小纸条

Media model entry fields

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:**Provider entry** (type: "provider" or omitted):。

原文小纸条

**Provider entry** (type: "provider" or omitted):

像准备清单

这一串条目别硬背,把它当成“`tools.media`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:provider: 对话接口 provider id (openai, anthr…、聪明脑袋模型: 聪明脑袋模型 id override、profile / preferredProfile: auth-profiles…。

原文小纸条
  • provider: API provider id (openai, anthropic, google/gemini, groq, etc.)
  • model: model id override
  • profile / preferredProfile: auth-profiles.json profile selection
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:**CLI entry** (type: "cli"):。

原文小纸条

**CLI entry** (type: "cli"):

像准备清单

这一串条目别硬背,把它当成“`tools.media`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:魔法口令: executable to run、args: templated args (supports {{MediaPat…。

原文小纸条
  • command: executable to run
  • args: templated args (supports {{MediaPath}}, {{Prompt}}, {{MaxChars}}, etc.; openclaw doctor --fix migrates deprecated {input} placeholders to {{MediaPath}})
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:**Common fields:**。

原文小纸条

**Common fields:**

像准备清单

这一串条目别硬背,把它当成“`tools.media`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:capabilities: optional list (image, audio…、prompt, maxChars, maxBytes, timeoutSecond…、工具小帮手s.media.image.timeoutSeconds and mat…、Failures fall back to the next entry.

原文小纸条
  • capabilities: optional list (image, audio, video). Defaults: openai/anthropic/minimax → image, google → image+audio+video, groq → audio.
  • prompt, maxChars, maxBytes, timeoutSeconds, language: per-entry overrides.
  • tools.media.image.timeoutSeconds and matching image model timeoutSeconds entries also apply when the agent calls the explicit image tool.
  • Failures fall back to the next entry.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Provider auth follows standard order: auth-profiles.json → env vars → 聪明脑袋模型s.providers.*.对话接口Key.

原文小纸条

Provider auth follows standard order: auth-profiles.json → env vars → models.providers.*.apiKey.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:**Async completion fields:**。

原文小纸条

**Async completion fields:**

像准备清单

这一串条目别硬背,把它当成“`tools.media`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:asyncCompletion.directSend: deprecated co…。

原文小纸条
  • asyncCompletion.directSend: deprecated compatibility flag. Completed async media tasks stay requester-session mediated so the agent receives the result, decides how to tell the user, and uses the message tool when source delivery requires it.

第 13 站

`工具小帮手s.机器人朋友To机器人朋友`

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

这一小段像旁白,在提醒我们镜头已经切到下一站。

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“agentToAgent”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    agentToAgent: {
      enabled: false,
      allow: ["home", "work"],
    },
  },
}

第 14 站

`工具小帮手s.sessions`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Controls which sessions can be targeted by the session 工具小帮手s (sessions_list, sessions_history, sessions_send). Default…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Controls which sessions can be targeted by the session 工具小帮手s (sessions_list, sessions_history, sessions_send).

原文小纸条

Controls which sessions can be targeted by the session tools (sessions_list, sessions_history, sessions_send).

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Default: tree (current session + sessions spawned by it, such as sub机器人朋友s).

原文小纸条

Default: tree (current session + sessions spawned by it, such as subagents).

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“sessions”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    sessions: {
      // "self" | "tree" | "agent" | "all"
      visibility: "tree",
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间。

原文小纸条

AccordionGroup

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Visibility scopes。

原文小纸条

Visibility scopes

像准备清单

这一串条目别硬背,把它当成“`tools.sessions`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:self: only the current session key.、tree: current session + sessions spawned…、机器人朋友: any session belonging to the curre…、all: any session. Cross-机器人朋友 targeting s…。

原文小纸条
  • self: only the current session key.
  • tree: current session + sessions spawned by the current session (subagents).
  • agent: any session belonging to the current agent id (can include other users if you run per-sender sessions under the same agent id).
  • all: any session. Cross-agent targeting still requires tools.agentToAgent.
  • Sandbox clamp: when the current session is sandboxed and agents.defaults.sandbox.sessionToolsVisibility="spawned", visibility is forced to tree even if tools.sessions.visibility="all".

第 15 站

`工具小帮手s.sessions_spawn`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Controls inline attachment support for sessions_spawn. Accordion大家一起的房间 Attachment notes <a id="工具小帮手sexperimental"></a>。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Controls inline attachment support for sessions_spawn.

原文小纸条

Controls inline attachment support for sessions_spawn.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“sessions_spawn”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    sessions_spawn: {
      attachments: {
        enabled: false, // opt-in: set true to allow inline file attachments
        maxTotalBytes: 5242880, // 5 MB total across all files
        maxFiles: 50,
        maxFileBytes: 1048576, // 1 MB per file
        retainOnSessionKeep: false, // keep attachments when cleanup="keep"
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间。

原文小纸条

AccordionGroup

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Attachment notes。

原文小纸条

Attachment notes

像准备清单

这一串条目别硬背,把它当成“`tools.sessions_spawn`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Attachments are only supported for runtim…、Files are materialized into the child wor…、Attachment content is automatically redac…、Base64 inputs are validated with strict a…。

原文小纸条
  • Attachments are only supported for runtime: "subagent". ACP runtime rejects them.
  • Files are materialized into the child workspace at .openclaw/attachments/<uuid>/ with a .manifest.json.
  • Attachment content is automatically redacted from transcript persistence.
  • Base64 inputs are validated with strict alphabet/padding checks and a pre-decode size guard.
  • File permissions are 0700 for directories and 0600 for files.
  • Cleanup follows the cleanup policy: delete always removes attachments; keep retains them only when retainOnSessionKeep: true.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:<a id="工具小帮手sexperimental"></a>。

原文小纸条

<a id="toolsexperimental"></a>

第 16 站

`工具小帮手s.experimental`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Experimental built-in 工具小帮手 flags. Default off unless a strict-机器人朋友ic GPT-5 auto-enable rule applies.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Experimental built-in 工具小帮手 flags. Default off unless a strict-机器人朋友ic GPT-5 auto-enable rule applies.

原文小纸条

Experimental built-in tool flags. Default off unless a strict-agentic GPT-5 auto-enable rule applies.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“tools”挂牌子,告诉系统它该指向“{”。
  • 这里在给“experimental”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  tools: {
    experimental: {
      planTool: true, // enable experimental update_plan
    },
  },
}
像准备清单

这一串条目别硬背,把它当成“`tools.experimental`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:plan工具小帮手: enables the structured update_…、Default: false unless 机器人朋友s.defaults.emb…、When enabled, the system prompt also adds…。

原文小纸条
  • planTool: enables the structured update_plan tool for non-trivial multi-step work tracking.
  • Default: false unless agents.defaults.embeddedPi.executionContract (or a per-agent override) is set to "strict-agentic" for an OpenAI or OpenAI Codex GPT-5-family run. Set true to force the tool on outside that scope, or false to keep it off even for strict-agentic GPT-5 runs.
  • When enabled, the system prompt also adds usage guidance so the model only uses it for substantial work and keeps at most one step in_progress.

第 17 站

`机器人朋友s.defaults.sub机器人朋友s`

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“agents”挂牌子,告诉系统它该指向“{”。
  • 这里在给“defaults”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  agents: {
    defaults: {
      subagents: {
        allowAgents: ["research"],
        model: "minimax/MiniMax-M2.7",
        maxConcurrent: 8,
        runTimeoutSeconds: 900,
        announceTimeoutMs: 120000,
        archiveAfterMinutes: 60,
      },
    },
  },
}
像准备清单

这一串条目别硬背,把它当成“`agents.defaults.subagents`”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:聪明脑袋模型: default 聪明脑袋模型 for spawned sub-机器…、allow机器人朋友s: default allowlist of 设置说明书ur…、runTimeoutSeconds: default timeout (secon…、announceTimeoutMs: per-call timeout (mill…。

原文小纸条
  • model: default model for spawned sub-agents. If omitted, sub-agents inherit the caller's model.
  • allowAgents: default allowlist of configured target agent ids for sessions_spawn when the requester agent does not set its own subagents.allowAgents (["*"] = any configured target; default: same agent only). Stale entries whose agent config was deleted are rejected by sessions_spawn and omitted from agents_list; run openclaw doctor --fix to clean them up.
  • runTimeoutSeconds: default timeout (seconds) for sessions_spawn when the tool call omits runTimeoutSeconds. 0 means no timeout.
  • announceTimeoutMs: per-call timeout (milliseconds) for gateway agent announce delivery attempts. Default: 120000. Transient retries can make the total announce wait longer than one configured timeout.
  • Per-subagent tool policy: tools.subagents.tools.allow / tools.subagents.tools.deny.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

原文小纸条

---

第 18 站

Custom providers and base URLs

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OpenClaw uses the built-in 聪明脑袋模型 catalog. Add custom providers via 聪明脑袋模型s.providers in 设置说明书 or ~/.openclaw/机器人朋友s/<机…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OpenClaw uses the built-in 聪明脑袋模型 catalog. Add custom providers via 聪明脑袋模型s.providers in 设置说明书 or ~/.openclaw/机器人朋友s/<机…。

原文小纸条

OpenClaw uses the built-in model catalog. Add custom providers via models.providers in config or ~/.openclaw/agents/<agentId>/agent/models.json.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书uring a custom/local provider baseUrl is also the narrow network trust decision for 聪明脑袋模型 HTTP requests: OpenClaw…。

原文小纸条

Configuring a custom/local provider baseUrl is also the narrow network trust decision for model HTTP requests: OpenClaw allows that exact scheme://host:port origin through the guarded fetch path, without adding a separate config option or trusting other private origins.

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“models”挂牌子,告诉系统它该指向“{”。
  • 这里在给“mode”挂牌子,告诉系统它该指向“merge // merge (default) | replace”。
原文代码块
{
  models: {
    mode: "merge", // merge (default) | replace
    providers: {
      "custom-proxy": {
        baseUrl: "http://localhost:4000/v1",
        apiKey: "LITELLM_KEY",
        api: "openai-completions", // openai-completions | openai-responses | anthropic-messages | google-generative-ai
        models: [
          {
            id: "llama-3.1-8b",
            name: "Llama 3.1 8B",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            contextTokens: 96000,
            maxTokens: 32000,
          },
        ],
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间。

原文小纸条

AccordionGroup

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Auth and merge precedence。

原文小纸条

Auth and merge precedence

像准备清单

这一串条目别硬背,把它当成“Custom providers and base URLs”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Use authHeader: true + headers for custom…、Override 机器人朋友 设置说明书 root with OPENCLAW_机…、Merge precedence for matching provider ID…、Non-empty 机器人朋友 聪明脑袋模型s.json baseUrl valu…。

原文小纸条
  • Use authHeader: true + headers for custom auth needs.
  • Override agent config root with OPENCLAW_AGENT_DIR (or PI_CODING_AGENT_DIR, a legacy environment variable alias).
  • Merge precedence for matching provider IDs:
  • Non-empty agent models.json baseUrl values win.
  • Non-empty agent apiKey values win only when that provider is not SecretRef-managed in current config/auth-profile context.
  • SecretRef-managed provider apiKey values are refreshed from source markers (ENV_VAR_NAME for env refs, secretref-managed for file/exec refs) instead of persisting resolved secrets.
  • SecretRef-managed provider header values are refreshed from source markers (secretref-env:ENV_VAR_NAME for env refs, secretref-managed for file/exec refs).
  • Empty or missing agent apiKey/baseUrl fall back to models.providers in config.
  • Matching model contextWindow/maxTokens use the higher value between explicit config and implicit catalog values.
  • Matching model contextTokens preserves an explicit runtime cap when present; use it to limit effective context without changing native model metadata.
  • Use models.mode: "replace" when you want config to fully rewrite models.json.
  • Marker persistence is source-authoritative: markers are written from the active source config snapshot (pre-resolution), not from resolved runtime secret values.

第 19 站

Provider field details

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间 Top-level catalog Provider connection and auth Request transport overrides 聪明脑袋模型s.providers.*.request…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间。

原文小纸条

AccordionGroup

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Top-level catalog。

原文小纸条

Top-level catalog

像准备清单

这一串条目别硬背,把它当成“Provider field details”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:聪明脑袋模型s.mode: provider catalog behavior (…、聪明脑袋模型s.providers: custom provider map ke…、Safe edits: use openclaw 设置说明书 set 聪明脑袋模型…。

原文小纸条
  • models.mode: provider catalog behavior (merge or replace).
  • models.providers: custom provider map keyed by provider id.
  • Safe edits: use openclaw config set models.providers.<id> '<json>' --strict-json --merge or openclaw config set models.providers.<id>.models '<json-array>' --strict-json --merge for additive updates. config set refuses destructive replacements unless you pass --replace.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Provider connection and auth。

原文小纸条

Provider connection and auth

像准备清单

这一串条目别硬背,把它当成“Provider field details”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:聪明脑袋模型s.providers.*.对话接口: request adapter…、聪明脑袋模型s.providers.*.对话接口Key: provider cre…、聪明脑袋模型s.providers.*.auth: auth strategy (…、聪明脑袋模型s.providers.*.contextWindow: defaul…。

原文小纸条
  • models.providers.*.api: request adapter (openai-completions, openai-responses, anthropic-messages, google-generative-ai, etc). For self-hosted /v1/chat/completions backends such as MLX, vLLM, SGLang, and most OpenAI-compatible local servers, use openai-completions. A custom provider with baseUrl but no api defaults to openai-completions; set openai-responses only when the backend supports /v1/responses.
  • models.providers.*.apiKey: provider credential (prefer SecretRef/env substitution).
  • models.providers.*.auth: auth strategy (api-key, token, oauth, aws-sdk).
  • models.providers.*.contextWindow: default native context window for models under this provider when the model entry does not set contextWindow.
  • models.providers.*.contextTokens: default effective runtime context cap for models under this provider when the model entry does not set contextTokens.
  • models.providers.*.maxTokens: default output-token cap for models under this provider when the model entry does not set maxTokens.
  • models.providers.*.timeoutSeconds: optional per-provider model HTTP request timeout in seconds, including connect, headers, body, and total request abort handling.
  • models.providers.*.injectNumCtxForOpenAICompat: for Ollama + openai-completions, inject options.num_ctx into requests (default: true).
  • models.providers.*.authHeader: force credential transport in the Authorization header when required.
  • models.providers.*.baseUrl: upstream API base URL.
  • models.providers.*.headers: extra static headers for proxy/tenant routing.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Request transport overrides。

原文小纸条

Request transport overrides

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:聪明脑袋模型s.providers.*.request: transport overrides for 聪明脑袋模型-provider HTTP requests.

原文小纸条

models.providers.*.request: transport overrides for model-provider HTTP requests.

像准备清单

这一串条目别硬背,把它当成“Provider field details”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:request.headers: extra headers (merged wi…、request.auth: auth strategy override. Mod…、request.proxy: HTTP proxy override. Modes…、request.tls: TLS override for direct conn…。

原文小纸条
  • request.headers: extra headers (merged with provider defaults). Values accept SecretRef.
  • request.auth: auth strategy override. Modes: "provider-default" (use provider's built-in auth), "authorization-bearer" (with token), "header" (with headerName, value, optional prefix).
  • request.proxy: HTTP proxy override. Modes: "env-proxy" (use HTTP_PROXY/HTTPS_PROXY env vars), "explicit-proxy" (with url). Both modes accept an optional tls sub-object.
  • request.tls: TLS override for direct connections. Fields: ca, cert, key, passphrase (all accept SecretRef), serverName, insecureSkipVerify.
  • request.allowPrivateNetwork: when true, allow model-provider HTTP requests to private, CGNAT, or similar ranges through the provider HTTP fetch guard. Custom/local provider base URLs already trust the exact configured origin, except metadata/link-local origins, which remain blocked without explicit opt-in. Set this to false to opt out of exact-origin trust. WebSocket uses the same request for headers/TLS but not that fetch SSRF gate. Default false.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:聪明脑袋模型 catalog entries。

原文小纸条

Model catalog entries

像准备清单

这一串条目别硬背,把它当成“Provider field details”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:聪明脑袋模型s.providers.*.聪明脑袋模型s: explicit pro…、聪明脑袋模型s.providers.*.聪明脑袋模型s.*.input: 聪明脑袋…、聪明脑袋模型s.providers.*.聪明脑袋模型s.*.contextWind…、聪明脑袋模型s.providers.*.聪明脑袋模型s.*.contextToke…。

原文小纸条
  • models.providers.*.models: explicit provider model catalog entries.
  • models.providers.*.models.*.input: model input modalities. Use ["text"] for text-only models and ["text", "image"] for native image/vision models. Image attachments are only injected into agent turns when the selected model is marked image-capable.
  • models.providers.*.models.*.contextWindow: native model context window metadata. This overrides provider-level contextWindow for that model.
  • models.providers.*.models.*.contextTokens: optional runtime context cap. This overrides provider-level contextTokens; use it when you want a smaller effective context budget than the model's native contextWindow; openclaw models list shows both values when they differ.
  • models.providers.*.models.*.compat.supportsDeveloperRole: optional compatibility hint. For api: "openai-completions" with a non-empty non-native baseUrl (host not api.openai.com), OpenClaw forces this to false at runtime. Empty/omitted baseUrl keeps default OpenAI behavior.
  • models.providers.*.models.*.compat.requiresStringContent: optional compatibility hint for string-only OpenAI-compatible chat endpoints. When true, OpenClaw flattens pure text messages[].content arrays into plain strings before sending the request.
  • models.providers.*.models.*.compat.strictMessageKeys: optional compatibility hint for strict OpenAI-compatible chat endpoints. When true, OpenClaw strips outgoing Chat Completions message objects to role and content before sending the request.
  • models.providers.*.models.*.compat.thinkingFormat: optional thinking payload hint. Use "together" for Together-style reasoning.enabled, "qwen" for top-level enable_thinking, or "qwen-chat-template" for chat_template_kwargs.enable_thinking on Qwen-family OpenAI-compatible servers that support request-level chat-template kwargs, such as vLLM.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Amazon Bedrock discovery。

原文小纸条

Amazon Bedrock discovery

像准备清单

这一串条目别硬背,把它当成“Provider field details”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:新本领插件s.entries.amazon-bedrock.设置说明书.disco…、新本领插件s.entries.amazon-bedrock.设置说明书.disco…、新本领插件s.entries.amazon-bedrock.设置说明书.disco…、新本领插件s.entries.amazon-bedrock.设置说明书.disco…。

原文小纸条
  • plugins.entries.amazon-bedrock.config.discovery: Bedrock auto-discovery settings root.
  • plugins.entries.amazon-bedrock.config.discovery.enabled: turn implicit discovery on/off.
  • plugins.entries.amazon-bedrock.config.discovery.region: AWS region for discovery.
  • plugins.entries.amazon-bedrock.config.discovery.providerFilter: optional provider-id filter for targeted discovery.
  • plugins.entries.amazon-bedrock.config.discovery.refreshInterval: polling interval for discovery refresh.
  • plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: fallback context window for discovered models.
  • plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: fallback max output tokens for discovered models.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Interactive custom-provider onboarding infers image input for common vision 聪明脑袋模型 IDs such as GPT-4o, Claude, Gemini,…。

原文小纸条

Interactive custom-provider onboarding infers image input for common vision model IDs such as GPT-4o, Claude, Gemini, Qwen-VL, LLaVA, Pixtral, InternVL, Mllama, MiniCPM-V, and GLM-4V, and skips the extra question for known text-only families. Unknown model IDs still prompt for image support. Non-interactive onboarding uses the same inference; pass --custom-image-input to force image-capable metadata or --custom-text-input to force text-only metadata.

第 20 站

Provider examples

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间 Cerebras (GLM 4.7 / GPT OSS) The bundled cerebras provider 新本领插件 can 设置说明书ure this via openclaw onboar…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Accordion大家一起的房间。

原文小纸条

AccordionGroup

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Cerebras (GLM 4.7 / GPT OSS)。

原文小纸条

Cerebras (GLM 4.7 / GPT OSS)

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:The bundled cerebras provider 新本领插件 can 设置说明书ure this via openclaw onboard --auth-choice cerebras-对话接口-key. Use explici…。

原文小纸条

The bundled cerebras provider plugin can configure this via openclaw onboard --auth-choice cerebras-api-key. Use explicit provider config only when overriding defaults.

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { env: { CEREBRAS_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "cerebras/zai-glm-4.7", fallbacks: ["cerebras/gpt-oss-120b"], }, models: { "cerebras/zai-glm-4.7": { alias: "GLM 4.7 (Cerebras)" }, "cerebras/gpt-oss-120b": { alias: "GPT OSS 120B (Cerebras)" }, }, }, }, models: { mode: "merge", providers: { cerebras: { baseUrl: "https://api.cerebras.ai/v1", apiKey: "${CEREBRAS_API_KEY}", api: "openai-completions", models: [ { id: "zai-glm-4.7", name: "GLM 4.7 (Cerebras)" }, { id: "gpt-oss-120b", name: "GPT OSS 120B (Cerebras)" }, ], }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use cerebras/zai-glm-4.7 for Cerebras; zai/glm-4.7 for Z.AI direct.

原文小纸条

Use cerebras/zai-glm-4.7 for Cerebras; zai/glm-4.7 for Z.AI direct.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Kimi Coding。

原文小纸条

Kimi Coding

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { env: { KIMI_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "kimi/kimi-for-coding" }, models: { "kimi/kimi-for-coding": { alias: "Kimi Code" } }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Anthropic-compatible, built-in provider. Shortcut: openclaw onboard --auth-choice kimi-code-对话接口-key.

原文小纸条

Anthropic-compatible, built-in provider. Shortcut: openclaw onboard --auth-choice kimi-code-api-key.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Local 聪明脑袋模型s (LM Studio)。

原文小纸条

Local models (LM Studio)

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:See Local 聪明脑袋模型s. TL;DR: run a large local 聪明脑袋模型 via LM Studio Responses 对话接口 on serious hardware; keep hosted 聪明脑袋模型…。

原文小纸条

See Local Models. TL;DR: run a large local model via LM Studio Responses API on serious hardware; keep hosted models merged for fallback.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:MiniMax M2.7 (direct)。

原文小纸条

MiniMax M2.7 (direct)

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { agents: { defaults: { model: { primary: "minimax/MiniMax-M2.7" }, models: { "minimax/MiniMax-M2.7": { alias: "Minimax" }, }, }, }, models: { mode: "merge", providers: { minimax: { baseUrl: "https://api.minimax.io/anthropic", apiKey: "${MINIMAX_API_KEY}", api: "anthropic-messages", models: [ { id: "MiniMax-M2.7", name: "MiniMax M2.7", reasoning: true, input: ["text"], cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 }, contextWindow: 204800, maxTokens: 131072, }, ], }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Set MINIMAX_对话接口_KEY. Shortcuts: openclaw onboard --auth-choice minimax-global-对话接口 or openclaw onboard --auth-choice m…。

原文小纸条

Set MINIMAX_API_KEY. Shortcuts: openclaw onboard --auth-choice minimax-global-api or openclaw onboard --auth-choice minimax-cn-api. The model catalog defaults to M2.7 only. On the Anthropic-compatible streaming path, OpenClaw disables MiniMax thinking by default unless you explicitly set thinking yourself. /fast on or params.fastMode: true rewrites MiniMax-M2.7 to MiniMax-M2.7-highspeed.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Moonshot AI (Kimi)。

原文小纸条

Moonshot AI (Kimi)

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { env: { MOONSHOT_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "moonshot/kimi-k2.6" }, models: { "moonshot/kimi-k2.6": { alias: "Kimi K2.6" } }, }, }, models: { mode: "merge", providers: { moonshot: { baseUrl: "https://api.moonshot.ai/v1", apiKey: "${MOONSHOT_API_KEY}", api: "openai-completions", models: [ { id: "kimi-k2.6", name: "Kimi K2.6", reasoning: false, input: ["text", "image"], cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 262144, }, ], }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:For the China endpoint: baseUrl: "https://对话接口.moonshot.cn/v1" or openclaw onboard --auth-choice moonshot-对话接口-key-cn.

原文小纸条

For the China endpoint: baseUrl: "https://api.moonshot.cn/v1" or openclaw onboard --auth-choice moonshot-api-key-cn.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Native Moonshot endpoints advertise 一边说一边送ing usage compatibility on the shared openai-completions transport, and OpenC…。

原文小纸条

Native Moonshot endpoints advertise streaming usage compatibility on the shared openai-completions transport, and OpenClaw keys that off endpoint capabilities rather than the built-in provider id alone.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OpenCode。

原文小纸条

OpenCode

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" }, models: { "opencode/claude-opus-4-6": { alias: "Opus" } }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Set OPENCODE_对话接口_KEY (or OPENCODE_ZEN_对话接口_KEY). Use opencode/... refs for the Zen catalog or opencode-go/... refs for…。

原文小纸条

Set OPENCODE_API_KEY (or OPENCODE_ZEN_API_KEY). Use opencode/... refs for the Zen catalog or opencode-go/... refs for the Go catalog. Shortcut: openclaw onboard --auth-choice opencode-zen or openclaw onboard --auth-choice opencode-go.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Synthetic (Anthropic-compatible)。

原文小纸条

Synthetic (Anthropic-compatible)

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { env: { SYNTHETIC_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" }, models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.5": { alias: "MiniMax M2.5" } }, }, }, models: { mode: "merge", providers: { synthetic: { baseUrl: "https://api.synthetic.new/anthropic", apiKey: "${SYNTHETIC_API_KEY}", api: "anthropic-messages", models: [ { id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 192000, maxTokens: 65536, }, ], }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Base URL should omit /v1 (Anthropic 来帮忙的小伙伴 appends it). Shortcut: openclaw onboard --auth-choice synthetic-对话接口-key.

原文小纸条

Base URL should omit /v1 (Anthropic client appends it). Shortcut: openclaw onboard --auth-choice synthetic-api-key.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Z.AI (GLM-4.7)。

原文小纸条

Z.AI (GLM-4.7)

像讲绘本

这一小段像旁白,在提醒我们镜头已经切到下一站。

原文小纸条

``json5 { agents: { defaults: { model: { primary: "zai/glm-4.7" }, models: { "zai/glm-4.7": {} }, }, }, } ``

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Set ZAI_对话接口_KEY. z.ai/* and z-ai/* are accepted aliases. Shortcut: openclaw onboard --auth-choice zai-对话接口-key.

原文小纸条

Set ZAI_API_KEY. z.ai/* and z-ai/* are accepted aliases. Shortcut: openclaw onboard --auth-choice zai-api-key.

像准备清单

这一串条目别硬背,把它当成“Provider examples”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:General endpoint: https://对话接口.z.ai/对话接口/…、Coding endpoint (default): https://对话接口.z…、For the general endpoint, define a custom…。

原文小纸条
  • General endpoint: https://api.z.ai/api/paas/v4
  • Coding endpoint (default): https://api.z.ai/api/coding/paas/v4
  • For the general endpoint, define a custom provider with the base URL override.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

原文小纸条

---

第 21 站

Related

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

这段在解决什么

这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。

为什么值得看

你理解的是能力边界,不只是功能名字。

真要动手时

如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

像准备清单

这一串条目别硬背,把它当成“Related”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:设置说明书uration — 机器人朋友s、设置说明书uration — 消息通道s、设置说明书uration reference — other top-level…、工具小帮手s and 新本领插件s。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

原文小纸条

---

AdSense 连接验证已经放在页面头部;广告单元等站点审批通过后再启用。

google-adsense-account: ca-pub-3833673520933536