Claude Sonnet 4.6 是目前 Anthropic 性价比最高的旗舰模型,在 OpenClaw 社区中使用率排名第一。它的 100 万 Token 超长上下文窗口(Beta)是最受关注的特性之一——这意味着你的 AI 助手可以在一次会话中处理整个代码库、数千页文档,或连续数小时的多轮对话而不丢失任何记忆。然而,这个特性的配置方式有一些容易被忽视的细节,且 /status 命令在旧版本中存在显示错误(显示 200K 而非 1M)。本文将带你从头到尾搞清楚所有问题。更多资源请访问 OpenClaw 中文版官网

一、Claude Sonnet 4.6 在 OpenClaw 中的基础配置

正确的模型 ID 格式

Claude Sonnet 4.6 于 2026 年 2 月 18 日发布,OpenClaw 在 v2026.2.17 中同日跟进支持。在 OpenClaw 中引用该模型时,使用以下格式:

# 标准格式(推荐)
anthropic/claude-sonnet-4-6

# 带版本日期的精确格式
anthropic/claude-sonnet-4-6-20260218

~/.openclaw/openclaw.json 中将 Sonnet 4.6 设为默认模型:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6"
      }
    }
  }
}

或者通过命令行快速设置:

openclaw config set agents.defaults.model.primary "anthropic/claude-sonnet-4-6"
openclaw daemon restart

# 验证模型已生效
/status

前向兼容:供应商尚未支持时的降级处理

如果你使用的是第三方 API 代理,而该代理的模型目录尚未更新 Sonnet 4.6,OpenClaw 会自动降级到上一个可用的 Sonnet 版本,不会报错。你可以在日志中看到类似 model fallback: claude-sonnet-4-6 → claude-sonnet-4-5 的提示。要强制使用 Sonnet 4.6,确保你直接连接 Anthropic 官方 API 或已支持该模型的代理。

二、100 万 Token 上下文窗口:正确开启方式

为什么默认是 200K 而非 1M?

Claude Sonnet 4.6 的 1M Token 上下文窗口是 Anthropic 的 Beta 功能,需要通过一个特定的请求头(anthropic-beta: context-1m-2025-08-07)显式激活。OpenClaw 将这一机制封装为配置参数——出于成本考量,默认不开启

  • 标准上下文(≤200K Token):按正常 API 定价计费
  • 超长上下文(200K~1M Token):按 长上下文溢价定价计费,费用更高
  • 如果你的 API 账户不满足 Tier 4 要求,启用后请求会报错

开启 100 万 Token 上下文的配置方法

openclaw.json 中,对 Sonnet 4.6 单独启用 1M 上下文参数:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6"
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {
          "params": {
            "context1m": true
          }
        }
      }
    }
  }
}

设置 params.context1m: true 后,OpenClaw 在每次向 Anthropic API 发送请求时,会自动在请求头中附加:

anthropic-beta: context-1m-2025-08-07

你无需手动处理任何 API 头部,这一切由 OpenClaw 在底层透明完成。

验证 1M 上下文是否生效

配置完成后,在聊天中发送 /status,观察返回的上下文窗口信息:

# 未开启 context1m 时的 /status 显示
Context: 12,450 / 200,000 tokens (6.2%)

# 正确开启 context1m 后的 /status 显示
Context: 12,450 / 1,000,000 tokens (1.2%)

如果 /status 仍然显示 200K,请参考下一节的修复方案。

三、/status 显示 200K 的问题根因与修复历程

这是一个困扰了大量用户的显示 Bug,从 v2026.2.14 就有人报告,直到 v2026.4.1 才得到完整修复。

Bug 的根因

问题出在 OpenClaw 内部的模型上下文窗口查找机制(lookupContextTokens())上。具体来说:

模型缓存(MODEL_CACHE)使用裸模型 ID作为键(如 claude-sonnet-4-6),但 lookupContextTokens() 在查找时使用带供应商前缀的完整模型引用(如 anthropic/claude-sonnet-4-6)。键名不匹配导致缓存查找失败,最终回落到模型目录中硬编码的旧默认值(200K),忽略了用户通过 context1m: truecontextTokens: 1000000 配置的正确值。

这意味着:即使 1M 上下文实际上已经在 API 层面生效(请求头正确发送),/status 显示的仍然是错误的 200K。这造成了极大的混乱——用户以为配置没有生效,实际上配置是正确的,只是显示出了问题。

受影响的版本与修复版本

版本 /status 显示 实际 API 上下文 状态
v2026.2.14 ~ v2026.3.x 200K(错误) 1M(正确,如已配置) ❌ Bug 存在
v2026.4.1 1M(正确) 1M(正确) ✅ 已修复(#54796)

v2026.4.1 的修复方案是引入感知供应商的上下文窗口查找(provider-aware context window lookup)——lookupContextTokens() 现在能正确处理带供应商前缀的模型引用,确保 Anthropic 4.6 系列模型的 1M 窗口覆盖能被正确识别和显示。

如果你还在旧版本上,如何确认 1M 是否实际生效?

在旧版本中,即使 /status 显示 200K,你也可以通过以下方式确认 1M 上下文是否实际生效:

# 查看最近一次请求的详细日志,确认 beta 头部已发送
openclaw logs --follow | grep "anthropic-beta"

# 正常应看到类似:
# [anthropic] request headers: { "anthropic-beta": "context-1m-2025-08-07", ... }

如果日志中有 context-1m-2025-08-07,说明 1M 上下文已在 API 层面生效,/status 的 200K 是纯粹的显示 Bug,不影响实际功能。升级到 v2026.4.1 可以修复显示问题。

四、API 访问限制:哪些账户可以使用 1M 上下文?

以下是 2026 年 4 月当前的访问限制,不同账户类型有不同的限制:

账户类型 是否支持 1M 上下文 说明
Anthropic API Key(Tier 4,按量付费) ✅ 支持 需要账户达到 Tier 4,200K 以上按长上下文定价计费
Anthropic API Key(Tier 1~3) ⚠️ 可能受限 部分 Tier 可能无法访问 Beta 功能,请求会返回错误
Claude Max 订阅(OAuth) ❌ 不支持 OAuth 路径不支持 1M 上下文 Beta;选择 200K 上下文的模型版本可继续使用 OAuth
Claude Pro/Free 订阅(OAuth) ❌ 不支持 同上
Amazon Bedrock ✅ 支持 需要手动设置 contextWindow: 1000000,地区版本 ID 格式有所不同

OAuth 用户注意:如果你通过 Claude Max/Pro 订阅的 OAuth 令牌使用 OpenClaw,启用 context1m: true 后请求会失败。解决方案是去掉 context1m 参数,使用标准 200K 上下文,或切换到 Anthropic API Key(按量付费)方式接入。

1M 上下文报错时的处理方式

# 如果开启 context1m 后出现报错,禁用该参数
openclaw config set agents.defaults.models "anthropic/claude-sonnet-4-6" '{}'

# 或在配置文件中删除 params.context1m: true,改为:
{
  "agents": {
    "defaults": {
      "models": {
        "anthropic/claude-sonnet-4-6": {}
      }
    }
  }
}

# 重启 Gateway
openclaw daemon restart

五、完整配置示例:根据场景选择最佳配置

场景一:日常使用(标准 200K 上下文,成本最优)

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6",
        "fallbacks": ["anthropic/claude-opus-4-6"]
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {
          "params": {
            "cacheRetention": "short"
          }
        }
      }
    }
  }
}

场景二:代码库分析 / 大文档处理(开启 1M 上下文)

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6"
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {
          "params": {
            "context1m": true,
            "cacheRetention": "long"
          }
        }
      }
    }
  }
}

场景三:多模型混合(日常用 Sonnet,复杂任务用 Opus)

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6"
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {
          "alias": "sonnet",
          "params": {
            "cacheRetention": "short"
          }
        },
        "anthropic/claude-opus-4-6": {
          "alias": "opus",
          "params": {
            "context1m": true,
            "cacheRetention": "long"
          }
        }
      }
    }
  }
}

配置完成后,可以通过 /model opus/model sonnet 在对话中随时切换模型(v2026.4.1 已修复切换时打断进行中任务的 Bug)。

六、100 万 Token 的成本控制:用好这把双刃剑

100 万 Token 的上下文窗口是强大的特性,但更大的上下文不等于更低的成本。每次 API 调用的费用与实际发送的 Token 数量成正比,而 OpenClaw 的智能体模式会在每次工具调用时携带完整的会话历史。

按 Claude Sonnet 4.6 的定价($3/百万输入 Token)简单估算:

  • 使用 200K Token 上下文(满载):约 $0.6/次调用
  • 使用 1M Token 上下文(满载):约 $3/次调用
  • 每天 10 次心跳(携带大量上下文):从 $6 跳到 $30

四条成本控制原则:

  1. 按需启用,不要全局开启context1m 应该按具体使用场景针对性启用,而不是对所有模型全局设置。日常对话和心跳任务不需要 1M 上下文
  2. SOUL.md 和 AGENTS.md 保持精简:这两个文件会注入到每次会话,如果积累到数千词,会在 1M 上下文下迅速消耗预算
  3. 监控会话 Token 用量/status 可以实时查看当前会话的 Token 消耗,修改任何上下文文件后都应检查
  4. 心跳任务使用独立会话:将 isolatedSession: truelightContext: true 配合,防止心跳触发时携带巨型历史上下文

七、Prompt Cache 配合 1M 上下文:最优组合

Anthropic 的 Prompt Caching 功能与 1M 上下文配合使用时,可以显著降低长上下文场景的实际成本。OpenClaw 通过 cacheRetention 参数控制缓存策略:

{
  "agents": {
    "defaults": {
      "models": {
        "anthropic/claude-sonnet-4-6": {
          "params": {
            "context1m": true,
            "cacheRetention": "long"
          }
        }
      }
    }
  }
}
  • cacheRetention: "short":5 分钟缓存(API Key 默认,适合频繁短对话)
  • cacheRetention: "long":1 小时缓存(适合长文档分析,显著降低重复内容的 Token 成本)

注意:Prompt Cache 仅对 Anthropic API Key 方式有效,OAuth 订阅认证不支持缓存设置。

八、常见问题解答

问:升级到 v2026.4.1 后,/status 还是显示 200K,怎么办?

确认配置文件中 params.context1m: true 已正确写入对应模型下,而非写在顶层。执行 openclaw config get agents.defaults.models 检查配置是否正确应用,然后重启 Gateway:openclaw daemon restart

问:开启 context1m 后报错 “long context not available for your subscription”?

你的 Anthropic API 账户不满足 1M 上下文的访问要求(通常需要 Tier 4 或专属企业协议)。解决方案:移除 context1m: true 继续使用 200K 上下文,或联系 Anthropic 申请升级账户等级。

问:使用 Claude Max 订阅可以用 1M 上下文吗?

暂时不支持。1M 上下文 Beta 功能目前仅适用于通过 API Key 方式接入的账户。Claude Max 订阅通过 OAuth 令牌接入时,无法激活该 Beta 功能。如果你同时持有 Claude Max 订阅和 API Key,可以将 OpenClaw 的认证方式切换为 API Key 来使用 1M 上下文。

问:Sonnet 4.6 和 Opus 4.6,1M 上下文场景下哪个更值?

两者的 1M 上下文支持相同,主要区别是价格和能力:

  • Sonnet 4.6:$3/$15 每百万 Token(输入/输出),OSWorld 得分 72.5%,SWE-bench 得分 79.6%
  • Opus 4.6:$5/$25 每百万 Token(输入/输出),更强的复杂推理能力

社区普遍建议:先用 Sonnet 4.6,只在 Sonnet 无法满足时才切换 Opus。对于长文档摘要、代码分析等大多数 1M 上下文使用场景,Sonnet 4.6 的质量完全够用,成本只有 Opus 的约 60%。

总结

OpenClaw 接入 Claude Sonnet 4.6 的完整配置要点:

  • 模型 ID 使用 anthropic/claude-sonnet-4-6
  • 开启 1M 上下文:在对应模型配置下添加 params.context1m: true
  • /status 显示 200K 的问题:升级到 v2026.4.1 完整修复(#54796)
  • OAuth 用户无法使用 1M 上下文,需要切换到 API Key 方式
  • 1M 上下文按需开启,配合 cacheRetention: "long" 控制成本

想了解更多 OpenClaw 与 Claude 模型的深度集成技巧,欢迎访问 OpenClaw 中文版官网