
1. 从 v2026.3.12 升到 v2026.3.13-1 后我的长对话终于不「断片」了OpenClaw 是一个开源的 AI 智能体网关你可以把它理解成一个「消息路由器 会话管家」它把 Telegram、Discord、飞书、Slack、Signal 这些聊天平台接进来再把请求转发给背后的模型 Provider同时负责会话压缩、记忆注入、权限审批这些脏活累活。适合谁适合想把 AI 智能体跑在自己服务器上、又不想从零写网关的开发者尤其是用 Docker 部署、习惯 CLI 操作的那批人。这次 v2026.3.13-1 一共 63 项改动版本号带-1后缀的原因很实在GitHub 的不可变 Release 机制不允许在 v2026.3.13 发布后重用同一个标签所以团队用-1做恢复发布。要注意的是 npm 上的版本号仍然是2026.3.13不带后缀-1只出现在 Git Tag 和 GitHub Release 里。这个细节在升级时很容易踩坑后面排障章节会专门讲。我自己的使用场景是一个跑在 Docker 里的 OpenClaw 实例接了飞书和 Telegram 两个渠道背后挂自定义 Provider。升级前最烦的问题是长对话触发压缩后AI 的人设会「变个人」——本来设定成技术专家全程中文压缩一次之后突然开始飙英文。这次 PR #10456 专门修了这个压缩摘要会保留原始人设和语言设定。实测下来连续聊了四十多轮触发两次压缩回复风格没有漂移。除了会话压缩这次还有几个改动对部署党很关键Docker 新增OPENCLAW_TZ环境变量PR #34119终于能在容器里设时区了之前默认 UTC 导致定时任务时间全错Docker 构建上下文里的 Gateway Token 泄漏被堵上PR #44956飞书上传非 ASCII 文件名丢失的问题也修了PR #34262中文文件名终于正常。下面我会按「先讲清楚改了什么 → 再讲怎么把 endpoint 接到 TaoToken 统一通道 → 然后给可复制的 Docker 和 CLI 配置 → 最后验证连通性和排错」的顺序展开。如果你只想快速升级可以直接跳到第 3 节的配置片段。2. 63 项改动里真正影响网关接入的只有这几类63 项听起来多但按「会不会影响你的接入配置」来分其实就四类。我把和网关、Docker、CLI 强相关的挑出来讲其余的 UI 微调、移动端导航优化就不展开了。2.1 会话压缩与上下文管理长对话稳定性的根压缩compaction是 OpenClaw 管理长对话上下文的核心机制。当对话历史超过阈值它会把早期内容压成摘要腾出 Token 空间。这次三个修复都围绕压缩PR #28347 把压缩后的合理性检查从「局部 Token 计数」改成「全会话 Token 计数」。之前用局部计数会导致校验不准压缩后偶尔异常中断。这个改动对长对话用户是刚需。PR #10456 保留压缩摘要里的人设和语言连续性前面已经说过是体验影响最大的一个。PR #44773 修复会话重置时lastAccountId和lastThreadId被意外清除的问题。重置会话后系统仍能正确关联之前的账户和线程不会丢上下文。2.2 多平台适配飞书中文文件名是重点飞书这边 PR #34262 修复文件上传时非 ASCII 文件名丢失中文文件名可以正常用了PR #43762 加了事件级去重防止飞书重复回复。Telegram 修了媒体传输策略传递到 SSRF 安全检查#44639和媒体下载失败回退 IPv4 重试#45327。Discord 修了 Gateway 元数据获取失败的处理#44397。Signal 补全了 groups 配置的 Zod Schema#27199。2.3 Agent 与 Provider自定义 Provider 的空白 Key 不再被清PR #45631 修复了 onboarding 之后本地自定义 Provider 的空白 API Key 被意外清除的问题。这条对「用自建模型或本地推理」的人很关键——如果你把 endpoint 指向自己的网关Key 字段留空是常见做法之前会被清掉导致请求 401。PR #44843 在 Agent 回放会话时丢弃 Anthropic 的 thinking blocks这些块通常很大回放时既费 Token 又拖速度。PR #26054 在大小写不敏感文件系统macOS/Windows上避免记忆文件重复注入。PR #40176 修复跨 Agent 子 Agent 的工作空间解析。2.4 Docker 与安全时区 Token 泄漏PR #34119 新增OPENCLAW_TZ环境变量容器里可以设时区。PR #44956 防止 Docker 构建上下文中的 Gateway Token 泄漏。PR #45384 让所有 Dockerfile 包含apt-get upgrade及时打安全补丁。PR #45628 让插件系统在频道或绑定冲突时快速失败而不是静默运行。类别数量代表 PRBug 修复~45#28347 压缩计数、#34262 飞书中文名新功能/增强~8#34119 Docker 时区、#44607 Slack 交互回复文档改进~5CLI xhigh thinking 帮助文本对齐 #44819安全修复3#44956 Token 泄漏、#45384 apt upgrade性能优化2#45426 构建产物去重、#44843 丢弃 thinking blocks注意npm 版本号是2026.3.13Docker 镜像 tag 是v2026.3.13-1两者不一致是正常的别以为是装错了。3. 把 OpenClaw 的 endpoint 接到 TaoToken 网关这一节是重点。OpenClaw 支持自定义 Provider你可以把它的模型 endpoint 指向 TaoToken 的统一 API 通道用一个 Key 管理多个模型。TaoToken 的 API 地址是https://taotoken.net/api官网是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end。3.1 先拿 Key再改配置去 TaoToken 控制台创建 API Key路径是console下的api-keys页面。拿到 Key 之后OpenClaw 这边有两种配置方式环境变量和配置文件。我推荐配置文件因为 Docker 重启后环境变量容易丢。OpenClaw 的 Provider 配置一般放在~/.openclaw/config.json宿主机或容器内/root/.openclaw/config.json。下面是一个可复制的 JSON 片段把自定义 Provider 指向 TaoToken{ providers: { taotoken: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, models: { default: { id: claude-sonnet-4-5, maxTokens: 8192 } } } }, agent: { defaultProvider: taotoken, defaultModel: default } }三个关键字段必须写全baseUrl是https://taotoken.net/apiapiKey是你的 TaoToken Keyid是 Model ID。这三件套Base URL Key Model ID缺一个都会报错后面排障会讲具体报错长什么样。3.2 Docker 部署配置片段如果你用 Docker 跑docker-compose.yml可以这样写。注意OPENCLAW_TZ是这次新增的设成Asia/Shanghai让定时任务时间正确version: 3.8 services: openclaw: image: openclaw/openclaw:v2026.3.13-1 container_name: openclaw restart: unless-stopped environment: - OPENCLAW_TZAsia/Shanghai - OPENCLAW_CONFIG/root/.openclaw/config.json volumes: - ./openclaw-data:/root/.openclaw ports: - 3000:3000对应的docker run命令docker run -d \ --name openclaw \ --restart unless-stopped \ -e OPENCLAW_TZAsia/Shanghai \ -e OPENCLAW_CONFIG/root/.openclaw/config.json \ -v $(pwd)/openclaw-data:/root/.openclaw \ -p 3000:3000 \ openclaw/openclaw:v2026.3.13-13.3 CLI 侧配置CLI 用户可以用openclaw config set直接写配置避免手改 JSON 出错openclaw config set providers.taotoken.type openai-compatible openclaw config set providers.taotoken.baseUrl https://taotoken.net/api openclaw config set providers.taotoken.apiKey sk-你的TaoToken密钥 openclaw config set providers.taotoken.models.default.id claude-sonnet-4-5 openclaw config set agent.defaultProvider taotoken openclaw config set agent.defaultModel default写完用openclaw config get providers.taotoken确认一下别让 Key 里的特殊字符被 shell 吃掉。提示如果你同时用 Claude Code 或 Cline 这类工具TaoToken 的接入文档在doc页面有各工具的完整配置示例Base URL 和 Key 是通用的Model ID 按工具要求填。4. 验证网关连通性与版本行为差异配置写完不代表通了得实际发一次请求验证。OpenClaw 提供了 CLI 的测试命令也可以直接 curl 打 TaoToken 的 endpoint。4.1 用 CLI 验证openclaw provider test taotoken正常输出会显示模型返回的响应片段和耗时。如果返回choices数组里有内容说明通道通了。4.2 直接 curl 验证curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 回复 OK 两个字母}] }返回里能看到choices[0].message.content就是成功。这一步能排除是 OpenClaw 配置问题还是 Key/网络问题。4.3 验证版本行为差异升级后重点验证两个行为一是长对话压缩后人设是否保持二是 Docker 时区是否生效。压缩验证连续发 40 轮以上对话触发压缩后观察回复语言和风格。如果还是中文技术专家口吻说明 PR #10456 生效了。时区验证docker exec openclaw date如果输出是 CST 时间而不是 UTC说明OPENCLAW_TZ生效。之前默认 UTC 时定时任务会差 8 小时。4.4 验证会话重置状态保留重置会话后检查lastAccountId和lastThreadId是否还在openclaw session reset openclaw session info输出里应该还能看到关联的账户和线程 ID这是 PR #44773 的修复效果。5. 升级后常见的四类报错与排查升级到 v2026.3.13-1 后我踩过的坑集中在四类报错上逐个说。5.1 401 Unauthorized最常见。原因通常是 Key 没写对或者自定义 Provider 的空白 Key 被清。虽然 PR #45631 修了空白 Key 被清除的问题但如果你是从旧版本升级且配置没迁移Key 字段可能是空的。检查openclaw config get providers.taotoken.apiKey如果输出为空重新 set 一次。另外确认baseUrl结尾没有多余的斜杠https://taotoken.net/api和https://taotoken.net/api/在某些实现里行为不同。5.2 local proxy failed这个报错一般出现在 Docker 网络配置上。容器内访问外部 API 需要正确的 DNS 和出网权限。先测容器内能不能解析docker exec openclaw curl -sI https://taotoken.net/api如果这里就失败说明是容器网络问题不是 OpenClaw 的问题。检查docker-compose.yml有没有误设network_mode: none或自定义网络没配 DNS。5.3 reading choices 相关报错报错里出现reading choices通常是响应结构不符合预期比如返回了错误对象而不是正常的 chat completion 结构。原因可能是 Model ID 写错了Provider 返回了错误 JSON。确认 Model ID 和 TaoToken 支持的模型列表一致别把claude-sonnet-4-5写成claude-sonnet-4.5。5.4 OAuth 相关报错如果你用的是需要 OAuth 的 Provider比如某些 Codex 场景报错可能和 token 刷新有关。OpenClaw 的 Codex 配置里auth.json需要包含正确的凭据。检查~/.openclaw/auth.json是否存在且格式正确。如果是自定义 Provider 走 API Key就不该走 OAuth 流程确认type字段设成了openai-compatible而不是 OAuth 类型。报错大概率原因排查命令401 UnauthorizedKey 为空或错误openclaw config get providers.taotoken.apiKeylocal proxy failed容器网络/DNSdocker exec openclaw curl -sI https://taotoken.net/apireading choicesModel ID 错误核对 TaoToken 模型列表OAuth 报错Provider 类型设错检查type是否为openai-compatible注意升级 Docker 镜像时docker pull openclaw/openclaw:v2026.3.13-1之后记得docker compose up -d重建容器光 pull 不重建还是跑旧镜像。6. 升级与接入的收尾操作升级命令两条npm 和 Docker 各一条npm install -g openclaw2026.3.13 docker pull openclaw/openclaw:v2026.3.13-1升级完先别急着接渠道按这个顺序走一遍先openclaw provider test taotoken确认通道通再docker exec openclaw date确认时区对然后发几轮长对话确认压缩不漂移。三步都过了再开飞书和 Telegram 渠道能省掉很多「到底是渠道问题还是 Provider 问题」的扯皮。如果你还没配 TaoToken 的 Key去api-keys页面建一个接入细节看doc页面。长期跑编码类 Agent 任务的话coding-plan页面有更省额度的方案。模型对话想先试试效果模型对话页面可以直接测。