OpenClaw 版本历史全览

jxq
93
2026-04-24

OpenClaw 版本历史全览:从诞生到最新版本

本文记录 OpenClaw 从诞生至今的所有版本更新历史,包括每个版本的主要特性、修复和改进。


版本历史表

版本 发布日期 类型 主要特性 关键更新
v2026.5.31 正式版 Agents and 命令行-backe、Channe… Agents/TUI、Agents/media
v2026.5.28 正式版 代理 and Codex runtime recove… Agents、Tighten phone-contro
v2026.5.27 正式版 Safer local/runtime boundar… Security/命令行/runtime、Doctor
v2026.5.26 正式版 Faster 网关 and replies、Trans… 记忆/security、网关/security
v2026.5.22 正式版 网关/perf、网关/perf WebChat、网关
v2026.5.20 2026-05-21 正式版 Discord、Discord/voice WhatsApp、Build
v2026.5.3 2026-05-03 正式版 - Plugins/security
v2026.5.2 2026-05-02 正式版 External 插件 inst、网关 startup… 命令行/message、Codex/app-server
v2026.5.19 2026-05-18 正式版 代理规范、依赖升级、技能增强 记忆搜索优化、Codex 认证
v2026.5.17 2026-05-17 正式版 控制界面优化、定时任务简化、安全审计 网关安全、代理跟进路由
v2026.5.14 2026-05-14 正式版 渠道 SDK、代理配置覆盖、依赖优化 模型提供者信任、绑定脚本
v2026.5.12 2026-05-12 正式版 Amazon Bedrock 外置、插件外置 工作区目录、微信渠道升级
v2026.5.7 2026-05-07 正式版 插件发布重试、OpenAI chat-latest 定时任务状态输出
v2026.5.6 2026-05-06 正式版 Doctor 修复、插件请求头 调试代理规范化
v2026.5.5 2026-05-06 正式版 Telegram 优化、Codex 修复 消息投递改进
v2026.5.4 2026-05-04 正式版 网关/Windows 改进、浏览器增强 Chrome MCP 修复

详细版本说明

v2026.5.31 ()

🎉 新特性

  • Agents and 命令行-backed runtimes recover more cleanly from interrupted 工具 calls, stale 会话 bindings, compaction handoffs, and media delivery retries. (#88129, #88136, #88141, #88162, #88182)
  • Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Slack, Discord, Microsoft Teams, Google Chat, Google Meet, and iOS realtime Talk. (#88096, #88105, #88183, #88231)
  • 提供者 and 插件 requests now bound more timers, retries, OAuth/device-code lifetimes, media downloads, local service probes, and generated-content polling paths before they can hang a run.
  • Skills, 会话 metadata, 网关 runtime state, 插件 metadata, and store writes do less repeated work on hot paths while keeping 配置 and dispatch behavior stable.
  • Skills and 插件 loading now handle stale disabled snapshots and loader failures more clearly, so 渠道 turns avoid disabled SecretRefs and operators get better recovery guidance. (#79072, #79173) Thanks @zeus1959.
  • Workboard, SecretRef 插件 manifests, hosted iOS push relay, and external Copilot/Tokenjuice packaging 新增 broader orchestration, integration, and 插件 delivery surfaces. (#82326, #87469, #87796, #88107, #88117)
  • 发布, CI, Docker, E2E, and diagnostics lanes now cap more logs, response bodies, readiness probes, artifact checks, and status polling so failures report bounded proof instead of stalling.

🐛 修复

  • Agents/TUI:keep local custom 提供者 runs from loading 插件 runtime and auth alias metadata when plugins are disabled.
  • Agents/media:keep async image, music, and video generation starts from ending the Codex turn, so mixed requests can continue with summaries or other work while media renders in the background.
  • Agents/Codex:keep public OpenAI API-key profiles from being treated as native Codex app-server auth while preserving persisted Codex OAuth sessions.
  • Control 界面:keep collapsed 工具 cards labeled with the 工具 name and action instead of generic output text. Thanks @shakkernerd.
  • Agents/Codex:surface 技能 Workshop guidance in Codex app-server prompts when skill_workshop is available. Thanks @shakkernerd.
  • Agents/auth:write auth profiles atomically, 新增 force re-login recovery, preserve workspaces during state-only uninstall, and compact before oversized turns so recovery paths avoid partial state.
  • Skills:skip disabled 技能 env overrides from stale persisted snapshots so disabled 技能 apiKey SecretRefs cannot abort embedded or 渠道 turns. (#79072, #79173) Thanks @zeus1959.
  • 命令行:avoid live catalog validation during openclaw agents 新增, so adding a secondary 代理 no longer depends on 提供者 catalog availability. (#76284, #88314) Thanks @zhangguiping-xydt.
  • 命令行:keep plugins list --json on the snapshot-only path so 插件 sweeps avoid loading the full runtime status graph.
  • Plugins:make PixVerse external-插件 ClawHub metadata explicit and keep it out of bundled dist builds.

查看完整更新日志


v2026.5.28 ()

🎉 新特性

  • 代理 and Codex runtime recovery is steadier:subagents keep cwd/workspace separation, hook context stays prompt-local, 会话 locks 发布 on timeout abort while live OpenClaw locks survive cleanup, stale restart continuations are avoided, and Codex app-server/helper failures no longer tear down shared runtime state. (#87218, #86875, #87409, #87399, #87375, #88129)
  • 渠道 delivery and 会话 identity got safer across outbound 插件 hooks, Matrix room ids, iMessage reactions/approvals, Slack final replies, Discord recovered 工具 warnings, runtime-配置 message actions, WhatsApp profile auth roots, Telegram polling, and Microsoft Teams service URL trust checks. (#73706, #75670, #87366, #87451, #87334, #84535, #82492, #83304, #87160)
  • Mobile and chat surfaces got a broader refresh:the iOS Pro 界面, hosted push relay 默认, realtime Talk tab playback, 网关 chat transport, onboarding, Talk permissions, WebChat reconnect delivery, and 会话 picker behavior now preserve more state across reconnects and empty searches. (#87367, #87531, #87682, #88096, #88105) Thanks @ngutman and @BunsDev.
  • Browser, 渠道, and automation inputs are stricter:Browser 工具 timeouts, viewport/tab indices, 网关 ports, cron retry handling, Discord component ids, schema array refs, Telegram callback pages, and 渠道 progress callbacks now reject malformed values earlier and preserve the intended delivery context. (#82887)
  • 提供者, media, and document coverage expands with Claude Opus 4.8, Fal Krea image schemas, NVIDIA featured models, MiniMax streaming music responses, encrypted PDF extraction, voice 模型 catalogs, GitHub Copilot 代理 runtime 支持, and a Codex Supervisor 插件 path for delegated Codex workflows. (#87845, #87890, #80775, #84764, #87751, #87794)
  • 命令行, auth, Doctor, and 提供者 paths fail faster and recover more clearly:malformed numeric/version options are rejected, workspace dotenv 提供者 credentials are ignored, heartbeat defaults, OAuth/token lifetimes, and local service startup requests are bounded, 代理 auth health labels are clearer, legacy api_key auth profiles migrate to canonical form, and restart guidance is actionable. (#87398, #86281, #87361, #88133, #83655, #87559, #88088, #85924) Thanks @vincentkoc and @giodl73-repo.
  • 插件 and 网关 hot paths do less repeated work while preserving cache correctness for install records, 配置 JSON parsing, 工具 search catalogs, 会话 stores, manifest 模型 rows, auto-enabled 插件 配置, browser tokens, viewer assets, and 发布-split external 插件 packages. (#86699)
  • 发布, QA, and E2E validation now bound more log, artifact, harness, and cross-OS waits so failing lanes produce proof instead of hanging or false-greening.

🐛 修复

  • Agents:fall back to local 配置 pruning when the optional agents delete 网关 probe cannot authenticate, so offline installs can still delete agents without removing shared workspaces.
  • Tighten phone-control mutation authorization [AI]. (#87150) Thanks @pgondhi987.
  • Clarify directive persistence authorization policy [AI]. (#86369) Thanks @pgondhi987.
  • Agents/Codex:keep spawned 代理 cwd/workspace state separated, forward ACP spawn attachments, keep hook context prompt-local, 发布 会话 locks on timeout abort and runtime teardown without deleting live OpenClaw-owned locks during cleanup, avoid 会话 event queue self-wait, clean up exec abort listeners, stream assistant deltas incrementally, recover raw missing-thread compaction failures, preserve rotated compaction 会话 identity, keep compaction-timeout snapshots continuable, preserve shared app-server state across startup or helper failures, keep native hook relay alive across restarts and prune stale bridge files, close native hook relay replacement races, keep Claude live 工具 progress visible for watchdog recovery, suppress abandoned requester completion handoff, route workspace 记忆 through tools, resolve Codex runtime models first, report quarantined dynamic tools, format skills command output, bind node auto-review to prepared plans, retry Claude 命令行 transcript probes, and bound compaction/steering retries. (#87218, #86875, #86123, #88129, #87399, #87375, #72574, #87383, #87400, #83022, #87671, #87738, #87747, #87706, #87546, #87541, #81048) Thanks @mbelinky, @Alix-007, @luoyanglang, @yetval, @sjf, @joshavant, @benjamin1492, @c19354837, @fuller-stack-dev, @pfrederiksen, and @dodge1218.
  • Codex Supervisor:keep real-home app-server MCP 会话 listing on the loaded state path, bound stored history scans, and close WebSocket probes cleanly.
  • Channels:thread canonical 会话 keys into outbound hooks, preserve Matrix room-id case, keep fallback 工具 warnings mention-inert, retain delivered Slack final replies during late cleanup, continue iMessage polling after denied reactions, suppress duplicate native exec approvals, resolve 网关 message actions against the active runtime 配置, preserve Telegram SecretRef prompt 配置 and polling keepalives, preserve WhatsApp profile auth roots, QR display, document filenames, and 插件 hook 配置, suppress Discord recovered 工具 warnings, preserve the Discord voice outbound helper, cap Discord/Signal/Zalo 渠道 request and container timeouts, and block untrusted Teams service URLs while keeping TeamsSDK patterns aligned. (#73706, #75670, #87366, #87451, #87465, #87334, #84535, #76262, #83304, #82492, #87581, #77114, #86426, #85529, #87160) Thanks @zeroaltitude, @lukeboyett, @jarvis-mns1, @xiaotian, @funmerlin, @joshavant, @eleqtrizit, @heyitsaamir, @amittell, @lidge-jun, @liorb-mountapps, @masatohoshino, @bladin, and @giodl73-repo.
  • 命令行/auth/Doctor/providers:reject malformed numeric/timeout/subcommand-version inputs, ignore workspace dotenv 提供者 credentials, wait for respawn child shutdown, bound heartbeat defaults plus Codex, GitHub Copilot, OpenAI, Anthropic, Google, 飞书, LM Studio, MiniMax, Xiaomi TTS, and local-提供者 OAuth/token/模型 requests, harden Codex auth probes, label auth health by 代理, preserve explicit agentRuntime pins during Codex 模型 migration, warm 提供者 auth off the main thread, honor Codex response timeouts, stop migrating current Claude Haiku 4.5 profiles to Sonnet, bound local service startup, resolve GPT-5.5 without cached catalog, migrate legacy 记忆 auto-提供者 配置, rewrite non-canonical api_key auth profiles, and make Doctor restart follow-ups actionable. (#87398, #86281, #87361, #88133, #83655, #87559, #87719, #88088, #85924, #84362) Thanks @Patrick-Erichsen, @samzong, @giodl73-repo, @alkor2000, @mmaps, @nxmxbbd, and @vincentkoc.
  • 网关/security/会话 state:expire browser tokens after auth rotation, scope assistant idempotency dedupe, drain probe client closes, avoid stale restart continuation reuse, preserve retry-after fallbacks and stale rate-limit cooldown probes, bound webchat image and artifact transcript scans, include seconds in inbound metadata timestamps, clear completed 会话 active runs, clear stale chat stream buffers, and evict current 插件-state namespaces at row caps. (#87810, #87833, #75089) Thanks @joshavant and @litang9.
  • 配置/parsing/network:reject partial numeric parsing, parse 提供者/Discord retry headers and dates strictly, honor IPv6 and bare IPv6 no_proxy entries, preserve empty 插件 allowlists, canonicalize secret target array indexes, and reject malformed media content lengths, inspected TCP ports, marketplace content lengths, cron epochs, sandbox stat fields, unsafe duration values, empty 配置 path segments, noncanonical schema array refs, unsafe Telegram callback pages, and invalid Teams attachment-fetch DNS targets. (#87883) Thanks @zhangguiping-xydt.
  • Browser/input hardening:reject invalid tab indexes, excessive viewport resizes, explicit zero CDP ports, malformed geolocation options, unsafe screenshot or permission-grant timeouts, loose response-body limits, invalid cookie expiries, and non-finite Browser 工具 delays/timeouts.

查看完整更新日志


v2026.5.27 ()

🎉 新特性

  • Safer local/runtime boundaries:OpenClaw now rejects unsafe command wrappers, malformed 命令行 numeric options, unsafe Node runtime env overrides, no-auth Tailscale exposure, and non-admin device-role pairing approvals before they can affect live runs. (#87308, #87305, #87292, #87146)
  • Matrix and auto-reply delivery are steadier:mention previews stay inert, final mention replies deliver normally, shared-DM notices are awaited, MXID parsing ignores filenames, and reasoning-prefixed NO_REPLY responses stay suppressed.
  • 提供者 and 代理 reliability improved across OpenAI-compatible embeddings, cached token usage, Anthropic/Codex/Claude runtime state, unsupported 工具-schema quarantine, heartbeat templates, and 会话 fallback errors. (#85269, #82062, #85416, #86855)
  • 插件 and package 发布 paths got tighter:Pixverse ships as an external video 插件 with region selection, package exclusions and shrinkwrap inventory match the published npm shape, and 发布/package smoke commands fail bounded instead of hanging.
  • 网关 hot paths do less rediscovery by reusing current 插件 metadata fingerprints, stable 插件 index fingerprints, read-only 会话 metadata, active working stores, status fast paths, and auth/env snapshots. (#86439)

🐛 修复

  • Security/命令行/runtime:harden hostname normalization for repeated trailing dots, block side-effecting command wrappers, reject unsafe Node runtime env overrides, reject loose numeric 命令行 and 网关 options, require admin approval for node device-role pairing, and reject no-auth Tailscale exposure. (#87305, #87292, #87308, #87146) Thanks @pgondhi987.
  • Doctor:validate runtime 工具 schemas for every configured embedded 代理 while skipping ACP-only profiles, so bad non-默认 插件 or MCP tools are reported before assistant turns.
  • Telegram:route sendMessage action replies through durable outbound delivery so completed 代理 responses remain retryable when the 网关 send path times out. (#87261) Thanks @mbelinky.
  • Matrix/auto-reply:keep draft previews mention-inert, preserve final mention delivery, send mention finals normally, await shared DM notices, ignore filename-embedded MXIDs, and suppress reasoning-prefixed NO_REPLY responses.
  • Agents/providers:新增 OpenAI-compatible cache retention, forward cached token usage in chat completions, preserve runtime context before active user turns, strip stale Anthropic thinking, load Claude 命令行 OAuth for Pi auth profiles, avoid false Codex runtime live switches, and quarantine unsupported 工具 schemas. (#82062, #87167, #86855)
  • 网关/performance:cache 插件 metadata fingerprints and stable 插件 index fingerprints, borrow read-only 会话 metadata safely, keep the active 会话 working store hot, keep status on a bounded fast path, and preserve 模型 auth profile suffixes. (#86439)
  • Package/install/发布:align npm package exclusions and inventory, omit unpacked test helpers, skip Homebrew until macOS packages need it, cap tsdown heap in containers, bound install/发布 smoke waits, and harden post-publish verification.
  • Codex/Auth:bound ChatGPT OAuth token exchange and refresh requests, and honor cancellation across Codex and Anthropic OAuth login flows.
  • QA/E2E/CI:bound Telegram, kitchen-sink, Open WebUI, ClawHub, MCP, Discord, realtime, labeler, and GitHub API waits; fail empty explicit test, live-media, 网关 CPU, startup benchmark, 插件 gauntlet, and beta-smoke runs instead of false-greening.
  • Agents/Codex:keep spawned 代理 bootstrap files rooted in the 代理 workspace while running task commands, transcripts, and compaction from the requested cwd. (#87218) Thanks @mbelinky.

查看完整更新日志


v2026.5.26 ()

🎉 新特性

  • Faster 网关 and replies:startup avoids repeated 插件, 渠道, 会话, usage-cost, warning, scheduled-service, and filesystem scans; visible replies separate user-facing sends from slower follow-up work; 网关 runtime/会话 caches churn less under load.
  • Transcripts are core:transcript-backed meeting summaries, source-提供者 chunks, cleaned user turns, media provenance, Codex mirrors, WebChat replies, and 命令行/TUI replay now use one more reliable transcript path.
  • More channels are production-ready:Telegram keeps typing/progress context and forum topics, iMessage handles attachment roots, remote media staging, and duplicate local Messages sources, WhatsApp restores group/media behavior, Discord improves voice playback and 模型 picking, and Signal/iMessage/WhatsApp get reaction approvals.
  • Better voice and Talk:realtime Talk runs can be inspected, steered, cancelled, or followed up from Web 界面 and Discord voice; wake-name handling is more tolerant without letting ambient speech trigger agents.
  • Safer content boundaries:Browser snapshot reads honor SSRF policy, system-event text cannot spoof nested prompt markers, fetched file text is wrapped as external content, ClickClack inbound sender allowlists run before 代理 dispatch, stale device tokens are rejected, and serialized 工具-call text is scrubbed from replies.
  • Providers, Codex, and local models are steadier:named auth profiles, OpenAI sampling params, Codex app-server resume/timeout/usage-limit recovery, dynamic 工具-schema guards, xAI usage-limit surfacing, Ollama top-p normalization, and local approval resolution reduce 提供者-specific dead ends.
  • More reliable install/更新/发布 paths:Alpine installs, trusted runtime fallback roots, stable 更新 channels, Docker/package timeouts, Windows Scheduled Tasks, Windows/macOS proof lanes, Testbox/Crabbox delegation, 插件 publish checks, and macOS runner bootstraps all got hardened.
  • Better observability:Activity tab, 网关 secret-prep traces, 工具/模型 stream progress, explicit fast-mode status, systemd 网关 hygiene, OpenTelemetry LLM spans, 发布 performance evidence, and richer telemetry signals make failures easier to inspect.

🐛 修复

  • 记忆/security:reject prompt-like text submitted through the explicit memory_store 工具 before embedding or storage, matching the existing auto-capture prompt-injection filter. (#87142)
  • 网关/security:启用 the 默认 auth rate limiter for remote non-browser and HTTP 网关 auth failures when 网关.auth.rateLimit is unset, while preserving the loopback exemption. (#87148)
  • Prompt hardening:route untrusted group prompt metadata through sanitized untrusted structured context while preserving trusted operator-configured group system prompts and aligning the 插件 SDK docs/test helpers. (#87144)
  • Security/content boundaries:validate Browser snapshot tab URLs against SSRF policy before ChromeMCP or direct CDP reads, sanitize queued system-event text so untrusted 插件/渠道 labels cannot spoof nested prompt markers, wrap fetched file text and metadata as external content, apply ClickClack allowFrom sender allowlists before 代理 dispatch, reject RPCs from invalidated device-token clients during rotation, require staged sandbox media refs, and scrub serialized 工具-call text from replies. (#78526, #87094, #87062, #83741, #70707, #86924) Thanks @zsxsoft, @ttzero25, and @mmaps.
  • Transcripts/user turns:persist 命令行, WebChat, media, follow-up, hook, and Codex-mirror user turns to the admitted 会话 target; keep cleaned transcript text, inline image routing, provenance metadata, replay hooks, and fallback paths idempotent when runtimes fail or restart.
  • TUI/status/onboarding/界面:queue busy TUI prompts instead of dropping them, preserve the configured 默认 模型 during onboarding, show failed 工具 results as errors, show 配置-open failures in Control 界面, keep status JSON 插件 scans healthy, preserve xAI usage-limit errors locally, and expose explicit fast-mode/systemd state. (#86722, #87000, #85786, #87108, #87001, #86614, #87115, #86976)
  • 插件 commands/SDK:preserve 插件 LLM command auth, bind native 插件 command dispatch to the host 代理’s LLM auth, keep onDiagnosticEvent exports discoverable through Function.name, stabilize diagnostic event root aliases, correlate pathless read diagnostics, suppress transient runner failures in 渠道 command paths, and repair local approval resolution. (#85936, #87084, #86977, #87069, #86771)
  • Codex/providers:keep WebChat delivery hints out of user prompts, avoid false queued-terminal idle timeouts, share the native hook relay registry, quarantine unsupported dynamic 工具 schemas, preserve Claude resumed-会话 system prompts, normalize greedy Ollama top_p, preserve per-代理 thinking defaults for ingress runs, and avoid native compaction takeover on budget-triggered Codex turns. (#87096, #73950, #87049, #86689, #86772)
  • 网关/perf/发布:reuse startup-warning metadata and prepared auth stores, avoid cloning live-switch and lifecycle 会话 caches on read paths, defer warning and scheduled-service fallback imports, trim 网关 会话/startup/runtime CPU churn, skip duplicate turn 会话 touches, stop chat timeout fallback cascades, drop stale subagent announce history, bound benchmark/watch/kitchen-sink teardown waits, bound macOS/package/onboarding/插件 smoke commands, bound install finalization probes, resolve Parallels npm-更新 commands from guest PATH, and bootstrap raw AWS macOS Node/pnpm commands through /usr/bin/env. (#86997)
  • Reply/perf:reduce visible reply delivery latency by preserving Telegram typing/progress context, lazy-loading slash-command startup metadata, avoiding hot-path 模型 hydration, flag-gating Codex profiler timing, deferring context compaction maintenance, and tracking delivery timing. (#86989, #86990, #86991, #86992, #86993, #86994) Thanks @keshavbotagent.

查看完整更新日志


v2026.5.22 ()

🎉 新特性

  • 网关/perf:reuse process-stable 渠道 catalog reads, avoid repeated bundled-渠道 boundary checks, and rotate 网关 watch CPU profiles so benchmark runs do not accumulate unbounded artifacts.
  • 网关/perf:reuse immutable 插件 metadata snapshots across startup, 配置, 模型, 渠道, setup, and secret metadata readers so hot paths avoid repeated 插件 file stats and manifest registry reloads.
  • 网关/perf:lazy-load startup-idle 插件 work, core 网关 method handlers, and the embedded ACPX runtime so 网关 health and ready signals no longer wait on unused handler trees or ACPX probes.
  • 网关/perf:cache 插件 SDK public-surface alias maps and skip irrelevant macOS Linuxbrew PATH probes so 网关 startup avoids repeated filesystem walks and slow missing-directory stats.
  • Transcripts:新增 the initial transcript capture and source-提供者 foundation, including auto-start capture 配置, manual transcript imports, read-only transcript access, and Discord voice as the first live source.
  • Docs/channels/配置:新增 Signal configPath, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini 命令行/Antigravity media guidance, and macOS VM auto-login guidance. Thanks @NorseGaud, @yudistiraashadi, @huangqian8, @VibhorGautam, @maweibin, @tianxingleo, @IgnacioPro, and @xzcxzcyy-claw.
  • Docs:clarify 模型-usage portability, Codex migration prerequisites, status bootstrap wording, thread-bound subagent limits, hook ownership, and 配置-preserving safety guidance. Thanks @aniruddhaadak80, @leno23, @TomDjerry, @matthewxmurphy, @vincentkoc, and @stablegenius49.
  • Docs:clarify README onboarding and 网关 startup paths, WhatsApp QR/408 recovery, cron output language prompts, 技能 advanced features, 网关 upstream 403 troubleshooting, and 插件 fallback override guidance. Thanks @deepujain, @Zacxxx, @Jah-yee, @neyric, @usimic, @Renu-Cybe, @BigUncle, and @SeashoreShi.
  • Docs:clarify context-pruning ratio bounds, local dashboard recovery, 命令行 env markers, remote onboarding token behavior, and Peekaboo Bridge permissions for subprocess agents. Thanks @ayesha-aziz123, @dishraters, @hougangdev, and @brandonlipman.
  • Docs:clarify browser CDP diagnostics, 插件 SDK allowlist imports, status-reaction timing defaults, queue steering behavior, limited-工具 troubleshooting, cron HEARTBEAT handling, Telegram multi-代理 groups, Bitwarden SecretRef setup, and EasyRunner deployments. Thanks @Quratulain-bilal, @mbelinky, @Mickey-, @vancece, @xenouzik, @posigit, @surlymochan, @janaka, and @choiking.

🐛 修复

  • WebChat:summarize internal message-工具 source replies so 工具 cards no longer duplicate the visible reply body. (#84773) Thanks @jason-allen-oneal.
  • 网关:preserve deferred lifecycle-error cleanup across later non-terminal events so 提供者 timeouts can persist failed 会话 state instead of leaving sessions stuck running. (#85256, fixes #63819) Thanks @samzong.
  • Agents/subagents:report 工具-only child progress during timeout summaries instead of showing no visible output.
  • Telegram/ACP:preserve explicit :topic: conversation suffixes when inbound ACP targets do not carry a separate thread id.
  • Browser/proxy:bypass the managed proxy for the exact local managed Chrome CDP readiness and DevTools WebSocket endpoints, so openclaw browser start works when the operator proxy blocks loopback egress. (#83255) Thanks @lightcap.
  • Ollama:bypass the managed proxy for configured local embedding origins while keeping SSRF guardrails on unconfigured targets. Thanks @Kaspre.
  • OpenAI/images:route Codex API-key image generation through the native OpenAI Images API instead of the Codex OAuth streaming backend, avoiding 401s from valid API keys.
  • Agents/OpenAI completions:omit empty 工具 payload fields for proxy-like OpenAI-compatible endpoints so strict vLLM-style servers accept 工具-free turns. (#85835) Thanks @rendrag-git.
  • Checks/Windows:route full pnpm check stage commands through the managed child runner so Windows avoids Node shell-argv deprecation warnings there too.
  • Checks/Windows:run managed child commands through explicit cmd.exe wrapping instead of Node shell mode with argv, avoiding Node 24 subprocess deprecation warnings during changed checks.

查看完整更新日志


v2026.5.20 (2026-05-21)

🎉 新特性

  • Discord:let voice sessions follow configured Discord users into voice channels, with allowed-渠道 checks, multi-user handoff, bounded reconciliation, and DAVE recovery preservation. (#84264) Thanks @fuller-stack-dev.
  • Discord/voice:include bounded IDENTITY.md, USER.md, and SOUL.md profile context in realtime voice 会话 instructions by 默认, with voice.realtime.bootstrapContextFiles: [] available to 禁用 it. (#84499) Thanks @fuller-stack-dev.
  • 依赖:bump the bundled Codex harness to @OpenAI/Codex 0.132.0 and refresh the app-server 模型-list docs for the new catalog.
  • 命令行/policy:新增 the bundled Policy 插件 for policy-backed 渠道 conformance checks, Doctor lint findings, and opt-in workspace repair. (#80407) Thanks @giodl73-repo.
  • Agents/配置:allow agents.list[].experimental.localModelLean so lean local-模型 mode can be enabled for one configured 代理 instead of globally.
  • Providers/xAI:新增 device-code OAuth login so remote and headless setups can authorize xAI without a localhost browser callback. (#84005) Thanks @fuller-stack-dev.
  • Providers/OpenRouter:honor 提供者-level params.提供者 routing policy for OpenRouter requests, with 模型 and 代理 params overriding the defaults. Thanks @amknight.

🐛 修复

  • WhatsApp:更新 Baileys to 7.0.0-rc12.
  • Build:suppress per-locale rolldown-插件-dts:fake-js CommonJS dts warnings emitted while bundling the intentionally-inlined zod/v4/locales/*.d.cts files, so pnpm build output stays readable after the 0.25.1 插件 bump. Thanks @romneyda.
  • 命令行/nodes:route lazy 插件-registration logs to stderr for JSON-mode openclaw nodes commands so stdout stays parseable. (#84684) Thanks @TurboTheTurtle.
  • Approvals:route manual /approve decisions through the trusted approval runtime so active exec and 插件 approvals no longer look unknown or expired.
  • Mac app:更新 the About settings copyright year to 2026. (#84385) Thanks @pejmanjohn.
  • 依赖:更新 @openclaw/fs-safe to 0.2.7 so OpenClaw’s 默认 Python-helper-off policy keeps best-effort Node write fallbacks for private stores, secret writes, run logs, and media attachments on Linux/macOS.
  • Infra/secrets:restore the fail-closed contract for tryReadSecretFileSync so credential loaders that pass rejectSymlink: true (Telegram, LINE, Zalo, IRC, Nextcloud Talk tokens) refuse symlinked credential files instead of silently accepting them, and the infra-state CI shard’s secret-file symlink test passes again. Thanks @romneyda.
  • Browser:honor the configured image sanitization limit for screenshots and labeled snapshots so browser-captured images follow the same resize policy as other image results. (#84595)
  • Doctor:移除 unrecognized models.providers.*.models[*].compat.thinkingFormat values during Doctor --修复 so stale 提供者 模型 配置 can validate after upgrade. Fixes #77803.
  • Status:show the configured 默认, 会话-selected 模型, reason, clear hint, and docs link when a 会话 remains pinned to a 模型 that differs from agents.defaults.模型.primary.

查看完整更新日志


v2026.5.3 (2026-05-03)

🐛 修复

  • Plugins/security:stop the install scanner from blocking official bundled 插件 packages when process.env access and normal API sends only appear in distant parts of the same compiled bundle. Thanks @vincentkoc.

查看完整更新日志


v2026.5.2 (2026-05-02)

🎉 新特性

  • External 插件 installation now covers diagnostics, onboarding, Doctor repair, 渠道 setup, install/更新 records, and artifact metadata while keeping bare package installs on npm for the first cutover. Thanks @vincentkoc.
  • 网关 startup, 会话 listing, task maintenance, prompt prep, 插件 loading, and filesystem hot paths get targeted cache and fanout reductions for large or 插件-heavy installs.
  • Control 界面 and WebChat reliability improves across Sessions, Cron, long-running 网关 WebSockets, grouped-message width, slash-command feedback, iOS PWA bounds, selection contrast, and Talk diagnostics.
  • 渠道 and 提供者 fixes cover Telegram topic commands and networking, Discord delivery and startup edge cases, OpenAI-compatible TTS/Realtime, OpenRouter/DeepSeek replay, Anthropic-compatible streaming, Brave/SearXNG/Firecrawl web search, and voice-call routing.

🐛 修复

  • 命令行/message:skip eager 模型 context warmup and preserve 渠道-declared 网关 execution for Discord and Telegram message actions, avoiding Codex app-server/模型 discovery during simple send/read commands. Thanks @fuller-stack-dev.
  • Codex/app-server:resolve managed binaries from bundled dist chunks and from the @OpenAI/Codex package bin when installs do not provide a nearby .bin/Codex shim, avoiding false missing-binary startup failures.
  • Plugins/ClawHub:use the ClawHub artifact resolver response as the install decision before downloading, keeping legacy ZIP fallback and future ClawPack npm-pack installs on the same explicit resolver path. Thanks @vincentkoc.
  • Plugins/ClawHub:keep bare 插件 package specs on npm for the launch cutover and reserve ClawHub resolution for explicit clawhub: specs until ClawHub pack readiness is deployed. Thanks @vincentkoc.
  • Plugins/source checkout:discover source-only plugins such as Codex from the extensions/* workspace while using npm package excludes as the packaged-core boundary, removing the stale core-bundle metadata path.
  • Plugins/ClawHub:install ClawPack artifacts from the explicit npm-pack .tgz resolver path and persist artifact kind, npm integrity, shasum, and tarball metadata for 更新 and diagnostics flows. Thanks @vincentkoc.
  • Control 界面:allow deployments to configure grouped chat message max-width with a validated 网关.controlUi.chatMessageMaxWidth setting instead of patching bundled CSS after upgrades. Fixes #67935. Thanks @xiew4589-lang.
  • Control 界面/Cron:ignore malformed persisted cron rows without valid payloads before they enter 界面 state and guard stale cron render paths, preventing blank Control 界面 sections after a bad cron snapshot. Fixes #55047 and #54439; supersedes #54550 and #54552.
  • Control 界面/sessions:bound the 默认 Sessions tab query to recent activity and fewer rows, avoiding expensive full-history loads while keeping filters editable. Fixes #76050. (#76051) Thanks @Neomail2.
  • Control 界面/sessions:apply reliable sessions.changed snapshots in-place and refetch only for partial events, avoiding redundant sessions.list regeneration during active 会话 updates.

查看完整更新日志


v2026.5.19 (2026-05-18)

🎉 新特性

  • 代理:明确修复应默认采用干净的有限重构、精简内部实现和显式插件 SDK/API 废弃路径。
  • 依赖:更新 @openclaw/proxyline 至 0.3.3。
  • 依赖:更新 Pi 包至 0.75.1,并将最低支持的 Node.js 22 版本提升至 22.19。
  • Docker/Podman:添加 OPENCLAW_IMAGE_APT_PACKAGES 作为运行时中立的镜像构建参数,用于额外的 apt 包,同时保留 OPENCLAW_DOCKER_APT_PACKAGES 作为旧版回退。(#62431) 感谢 @urtabajev。
  • 网关/ACPX:在重启追踪中归因启动探测、配置、运行时和资源计数开销,而不改变就绪行为。(#83300) 感谢 @samzong。
  • 网关:重叠启动日志和插件服务启动与渠道边车,以减少重启就绪延迟,同时保留 /readyz 边车门控。(#83301) 感谢 @samzong。
  • 插件/admin-http-rpc:允许受信的管理 HTTP RPC 客户端启动并等待 Web QR 登录流程。(#83259) 感谢 @liorb-mountapps。
  • Mac 应用:重新设计设置页面,采用一致的卡片布局、缓存导航、更清晰的权限/语音/技能/定时任务/执行/调试面板,以及原生侧边栏周围更稳定的间距。
  • Mac 应用:优化语音和对话识别语言及唤醒词设置,使其使用与其他设置相同的紧凑卡片行。
  • 技能:将仓库本地的 Codex 结束审查技能和助手重命名为 autoreview,同时保留 Codex 优先的回退行为。
  • 技能:添加表情包制作技能,支持精选模板搜索、本地 SVG/PNG 渲染、Imgflip 托管渲染和 Know Your Meme 来源链接。
  • 技能命令行:允许 openclaw skills installopenclaw skills update 使用 --global 目标共享托管技能。(#74466) 感谢 @Marvae。
  • 浏览器:在快照中显示待处理和最近处理的模态对话框,当操作打开模态框时返回 blockedByDialog,并允许 browser dialog --dialog-id 回答待处理对话框。
  • 浏览器命令行:添加 openclaw browser evaluate --timeout-ms,使长时间运行的页面函数可以扩展评估操作和请求超时预算。(#83447) 感谢 @eefreenyc。
  • Codex 应用服务器:按运行时表面限定 OpenClaw 提示引导范围,使原生 Codex 保留 Codex 拥有的基础/个性指令,而 OpenClaw 仅贡献运行时上下文、投递引导和显式限定的命令提示。(#83454) 感谢 @100yenadmin。
  • Docker/Podman:添加 OPENCLAW_IMAGE_PIP_PACKAGES 用于本地镜像构建中的可选 Python 包安装。(#83771) 感谢 @stephenredmond-straiteis。
  • 代理/工具:缩短内置工具描述和模式提示,覆盖媒体、消息、会话、定时任务、网关、Web、图像/PDF、TTS、节点和计划工具,同时保留路由护栏。
  • 技能:添加节点检查器调试、融合图生成和一次性尖峰工作流技能。
  • 命令行/插件:添加 defineToolPlugin 以及 openclaw plugins buildvalidateinit,用于类型化简单工具插件,生成清单元数据、可选工具声明和上下文工厂。
  • 代理/技能:收紧捆绑技能提示和元数据,引用技能描述,刷新当前命令行/API 引导,并更新嵌入式 sherpa-onnx 运行时下载。
  • 技能:更新 Obsidian 技能以目标官方 obsidian 命令行,并要求其注册的二进制文件而非第三方 obsidian-cli
  • 技能:添加 Python 调试技能,支持 pdb、breakpoint()、事后检查和 debugpy 远程附加。
  • 插件/消息:为渠道渲染器添加展示能力限制,在原生渲染前适配富消息控件,并将旧版 interactive/Slack 指令生产者 API 标记为已弃用。
  • 插件/子代理:将渠道投递路由存储为规范会话元数据,并弃用临时子代理钩子投递来源字段,改用核心路由投影。
  • 代理:支持 HTTPS 管理的正向代理端点和限定的 proxy.tls.caFile CA 信任用于代理端点 TLS。(#79171) 感谢 @jesse-merhi。
  • QA 实验室:添加首小时 20 轮和可选 100 轮运行时奇偶校验场景,带有标准和浸泡 QA 门的层级元数据。修复 #80338;参考 #80337。感谢 @100yenadmin。
  • QA 实验室:添加 openclaw qa suite --runtime-parity-tier 并将标准 Codex-vs-Pi 层连接到发布检查,与可选/仅实时/浸泡通道分开。修复 #80337。感谢 @100yenadmin。
  • QA 实验室:添加仅实时的 Codex Pi 形状读取词汇金丝雀,使运行时奇偶校验能捕获原生工作区读取提示兼容性漂移。(#80323) 感谢 @100yenadmin。
  • QA 实验室:添加仅实时的 harness 自健康场景,用于插件钩子崩溃、清单契约错误和 WebChat 直接回复自消息路由。(#80323) 感谢 @100yenadmin。
  • QA 实验室:添加运行时工具固定装置场景和覆盖率报告,用于 Codex 原生工作区工具、OpenClaw 动态工具和可选插件支持的工具。修复 #80173。感谢 @100yenadmin。
  • QA 实验室:通过 openclaw qa coverage --tools 暴露运行时工具固定装置覆盖率,带有奇偶校验门工件的可选套件摘要评估。感谢 @100yenadmin。
  • QA 实验室:在所有通道 QA 工作流中安排实时前沿 Codex-vs-Pi 运行时令牌效率工件通道。修复 #80175。感谢 @100yenadmin。
  • QA 实验室:在标准 Codex-vs-Pi 层中硬门控所需的 OpenClaw 动态运行时工具漂移,使用阻塞发布检查验证器并发布工具覆盖率报告工件。修复 #80339;参考 #80319。感谢 @100yenadmin。
  • QA 实验室:添加个人代理审批拒绝场景,使基准包验证拒绝的本地读取干净停止,无工具进度或固定装置泄漏。(#83150) 感谢 @iFiras-Max1。
  • QA 实验室:扩展个人代理基准包,带有本地任务跟进场景,用于有证明支持的待处理、阻塞和完成状态报告。感谢 @iFiras-Max1。
  • QA 实验室:添加仅报告的梦想影子试验场景,使候选记忆提升可以在不修改 MEMORY.md 的情况下评估。感谢 @iFiras-Max1。
  • 网关/性能:添加 pnpm test:restart:gateway 基准工具,用于重复重启就绪、停机、追踪和资源斜率证据。(#83299) 感谢 @samzong。
  • Android:将对话模式切换为实时网关中继语音会话,带有流式麦克风输入、实时音频播放、工具结果桥接和屏幕上转录。(#83130) 感谢 @sliekens。
  • 网关/配置:暴露配置查找重载元数据,使工具在应用配置编辑前能区分需要重启、可热重载和无操作字段。修复 #81409。(#81612) 感谢 @LLagoon3。
  • Telegram:为瞬态工具进度添加白名单原生 DM 草稿预览,同时在正常持久投递路径上保留最终答案。(#83622) 感谢 @akrimm702。
  • QA 实验室:添加个人代理共享安全诊断工件场景,使支持交接保留有用状态,同时省略原始个人内容。感谢 @iFiras-Max1。
  • QA 实验室:添加个人代理无假进度场景,使完成声明与本地证据绑定,而非无支持的外部进度。(#83824) 感谢 @iFiras-Max1。

🐛 修复

  • Codex 应用服务器:当 Codex 拥有模型传输时,保留插件工具认证配置,使 OpenClaw 动态工具能正确解析提供者凭据。(#83603) 感谢 @rubencu。
  • 记忆/搜索:在 JS 侧回退向量路径(当 sqlite-vec 索引不可用或维度不匹配时使用)中,以有界 rowid 批次扫描并在批次之间让出事件循环,避免大型块表长时间占用 Node.js 主线程。同时将 SQL 预处理语句保持在局部变量中,防止 node:sqlite 在堆内存压力下中途释放。修复 #81172。感谢 @dev23xyz-oss。
  • 记忆 Wiki:当桥接源页面写入因非符号链接的文件系统安全原因失败时,保留文件系统安全的诊断信息,确保目录冲突能报告底层错误代码。(#83776) 感谢 @TurboTheTurtle。
  • Telegram:通过在主题感知通道上路由入站序列化、媒体/文本缓冲区和账户 API 队列,防止论坛主题阻塞同级主题流量。(#83829)
  • Telegram:防止排队的论坛主题后续消息继承被取代的源中止信号,使稍后相同主题的用户轮次在活动轮次被替换后仍能运行和回复。(#83827) 感谢 @VACInc。
  • 命令行/更新:在托管包和插件安装期间一致绕过 npm 新鲜度过滤器,使新发布的发布插件保持可安装。感谢 @jalehman。
  • 命令行/更新:通过在手动包替换前停止托管网关,然后重装并重启服务,引导 root 拥有的 npm 安装 EACCES 恢复。修复 #83747。(#83757) 感谢 @brokemac79。
  • 代理/子代理:保持收集模式通知队列批处理未解析来源项与兼容的同路由消息,并在真正的跨渠道排空后当稍后存在兼容批次时恢复收集。修复 #83577。
  • 技能:当监听的技能根更改时刷新现有会话技能快照,使更改的额外技能目录在无需启动新会话的情况下生效。修复 #83782。(#83800) 感谢 @hclsys。
  • 提供者/Anthropic:当过期本地目录数据将当前 Claude 模型行标记为仅文本时,保留原生图像输入。(#83756) 感谢 @TurboTheTurtle。
  • 提供者/DeepSeek:在正常和压缩请求到达 DeepSeek 之前,用 anyOf/oneOf 联合规范化 MCP 工具模式,防止联合形状参数被拒绝。(#83766) 感谢 @TurboTheTurtle。
  • 控制界面:从会话范围的 session.tool 网关事件渲染实时工具进度,使外部启动的运行在活动会话中显示其工具卡片。(#83734) 感谢 @TurboTheTurtle。
  • 出站:当固定的启动注册表仅有设置元数据时,从活动运行时注册表解析可发送渠道插件。(#83733) 感谢 @TurboTheTurtle。
  • 控制界面:保持聊天删除确认弹出框在小型屏幕上限制在可见视口内。(#83804) 感谢 @ThiagoCAltoe。
  • 浏览器:对 /act 评估/批量操作和 /highlight 路由强制执行当前标签页 URL 白名单检查,同时保持标签页管理操作不阻塞。(#78523)
  • CI:要求真实行为证明裁决标记来自 ClawSweeper GitHub 应用,然后才接受精确头证明。(#83692)
  • 模型:在 /models 提供者头中显示有效的 OpenAI/Codex 认证配置,而非回退到 OpenAI 环境键标签。(#83697) 感谢 @yu-xin-c。
  • 命令行:在命令行系统提示中包含活动捆绑回环 MCP 工具,并在该提示可见工具表面更改时重置提供者侧命令行会话。(#83785) 感谢 @TurboTheTurtle。
  • 浏览器:当配置文件的 cdpUrl 省略端口时保留配置文件 cdpPort,同时仍让显式写入的 URL 端口优先。(#82166) 感谢 @Marvae。
  • 代理/图像生成:允许不同的 image_generate 提示启动单独的会话支持后台任务,而同提示重试仍返回活动任务状态。(#83614) 感谢 @Elarwei001。
  • 网关/WebChat:在分块 WebChat 回复时遵循配置的 channels.webchat.textChunkLimitchunkMode 覆盖。(#83713)
  • 控制界面:防止聊天读取指示器在助手响应完成后粘滞。(#83515) 感谢 @njuboy11。
  • 技能:在快速验证期间拒绝空白或仅空白的技能名称和描述。(#27061)
  • 会话:在检查尾部助手回复时跳过尾部自定义转录条目,使嵌入式命令行填充不重复规范助手输出。(#83635) 感谢 @yaoyi1222。
  • 记忆 Wiki:通过在工具文本和详情中将仓库内部检查报告报告为相对路径,同时为命令行/文件调用者保留绝对报告路径,保持 wiki_lint 工具输出路径安全。(#83439) 感谢 @LLagoon3。
  • Telegram:保持详细工具进度可见,而不将非最终进度镜像到活动会话转录,防止嵌入式提供者回复中途运行中止。(#83631) 感谢 @kurplunkin。
  • Telegram:记录成功的出站文本和媒体投递,带有账户、聊天、消息、操作、线程、回复、静默和分块元数据,同时将消息正文排除在日志之外。修复 #83196。(#83247) 感谢 @jrwrest。
  • 定时任务:将隔离的计划任务运行链接到其稳定的定时任务会话,使任务状态和清理能跟随支持代理运行。(#83606) 感谢 @jai。
  • Codex 应用服务器:当阻塞或失败的生成代理调用以过期初始化子状态到达时,将 Codex 原生子代理任务镜像标记为终止,防止任务注册表条目保持运行。修复 #83852。(#83945) 感谢 @joshavant。
  • 命令行:在源启动器中强制执行文档化的 Node.js 22.19 运行时最低要求。
  • 发布稳定性:修复请求代理完成交接、QA 实验室模拟生成归属、Slack 监视器测试隔离、插件卸载对等固定装置和 Node 最低启动器契约覆盖中的宽门回归。

查看完整更新日志


v2026.5.17 (2026-05-17)

🎉 新特性

  • 控制界面:将仅设置相关的目标移入 Settings 工作区,添加侧栏最近会话快捷方式和一键新建会话操作。
  • 控制界面:通过在 Schema 刷新前加载所需配置、缓存突发 Schema 响应、优先打开较轻量的消息设置来加速设置页面。
  • 定时任务:简化定时任务工作区,使用模态框创建任务、折叠过滤器,并为首次设置提供空状态引导。
  • 安全/审计:添加 security.audit.suppressions 用于有意接受的审计发现,将抑制匹配保持在活动摘要之外,同时将它们保留在 JSON 输出中并带有活动抑制通知。(#76949) 感谢 @100menotu001。
  • 代理/子代理:将委托任务和子代理完成交接标记为准备好供父级审查,并告诉请求者代理在调用完成前审查/验证结果。(#78985) 感谢 @100menotu001。
  • 提供者/媒体:为共享的 music_generate 工具添加 fal 和 OpenRouter 音乐生成提供者,包括 fal MiniMax/ACE/Stable Audio 端点和 OpenRouter Lyria 音频输出。
  • 维护者工具:在原始 Crabbox AWS 机器上运行 JS 包命令前警告,指向维护者使用 Actions 水化或 Blacksmith Testbox 进行类似 CI 的证明。
  • 控制界面:在概览卡片和聊天头中显示提供者配额使用,并在错过终止事件后恢复过期聊天进行中状态。(#82647)
  • Mac 应用远程设置:现在可以从 openclaw-mac configure-remote 预配置,当配置已完成时跳过入职,支持直接 LAN/Tailnet 网关 URL,允许私有同源控制界面加载,并在选择 SSH 时拥有 SSH 隧道进程。
  • 提供者/xAI:为 SuperGrok 订阅者添加 xAI Grok OAuth 登录,让 xai/* 模型和 xAI 媒体/工具提供者无需 XAI_API_KEY 即可认证。
  • 命令行/定时任务:添加 openclaw cron run --wait 带有超时和轮询间隔控制,加上精确的 cron.runs --run-id 过滤,使自动化可以阻塞在一个排队的手动运行上。(#81929) 感谢 @ificator。
  • 维护者工具:通过仓库代理 AWS 配置路由 Crabbox 技能默认值,将 Blacksmith Testbox 保留为显式选择加入,而非广泛证明默认值。
  • 命令行/入职:为英语、简体中文和繁体中文本地化设置向导和捆绑渠道设置流程。(#80645) 感谢 @GaosCode。
  • 代理/技能:在温网关轮次中缓存水化的 resolvedSkills,同时通过修订的有效配置键控重用,减少冗余技能快照重建而不跨越配置门控的技能边界。(#81451) 感谢 @solodmd。
  • 群聊:添加核心入站事件分类,带有可选的 messages.groupChat.unmentionedInbound: "room_event",使始终开启的未提及房间聊天可以作为安静的上下文运行,并仅通过消息工具可见地说话。(#81317) 感谢 @obviyus。
  • Codex/上下文引擎:将线程引导投影纪元绑定到 Codex 应用服务器线程,将修订的工具结果上下文带入新线程,并在投影状态更改时旋转后端线程。(#82351) 感谢 @jalehman。
  • 代理/媒体:在会话支持的聊天中通过共享异步媒体生成任务生命周期运行 image_generate,带有任务状态、重复防护和消息工具完成投递匹配音乐/视频。
  • 网关:为重启信号、活动工作排空、关闭、下次启动、就绪和内存跨度添加可选重启追踪日志。(#82396) 感谢 @samzong。
  • 网关/性能:将启动基准 HTTP 监听计时与完整网关就绪计时分开,并将绑定后插件和边车诊断添加到重启就绪追踪。(#82603) 感谢 @samzong。
  • QA 实验室:添加确定性本地个人代理场景包,覆盖提醒、线程回复、限定记忆召回、修订和安全工具跟进。(#78219) 感谢 @iFiras-Max1。
  • QA 实验室:为 openclaw qa suite 添加 --pack personal-agent,使维护者可以按选择器运行已接受的个人代理场景包。(#82760) 感谢 @iFiras-Max1。
  • QA 实验室:添加私有 Codex-vs-Pi 运行时奇偶校验轴,带有运行时对套件运行、奇偶校验报告和发布检查连线。(#80238) 感谢 @100yenadmin。
  • Slack:添加 Slack 助手线程生命周期支持,带有助手视图清单条目、建议提示、线程范围助手会话和 Slack 提供的助手上下文。修复 #80787。感谢 @mobybot27。

🐛 修复

  • Codex/应用服务器:覆盖 /btw 侧问原生钩子和应用服务器命令审批,不再依赖不支持的 turn 范围钩子配置。(#82559) 感谢 @Kaspre。
  • 网关/Docker:对非回环网关启动(无显式共享密钥或受信代理认证)采取安全失败策略,并阻止镜像默认命令绕过配置验证。修复 #82865。(#82866) 感谢 @coygeek。
  • 代理/跟进:通过命令行运行时后端路由排队的跟进轮次,而非嵌入式 harness 查找,防止 claude-cli/google-gemini-cli 跟进在投递前失败。修复 #82847。(#82857) 感谢 @hclsys。
  • 命令行/会话:让 openclaw sessions cleanup --fix-missing 修剪具有无法解析的转录元数据的畸形行,而非抛出。修复 #80970。(#82745) 感谢 @IWhatsskill。
  • 网关/使用:在后台刷新大型会话使用摘要并重用持久转录元数据,使 sessions.usage 不再在完整转录重新扫描上阻塞网关请求。修复 #82773。(#82778) 感谢 @hclsys。
  • 命令行/MiniMax 媒体:让 openclaw infer image describe --file 接受 HTTP(S) 图像 URL 而不将其视为本地路径,并保持自动 MiniMax 图像理解通过 MiniMax-VL-01 路由,即使旧版 MiniMax M2.x 聊天元数据声称图像输入。修复 #82837。感谢 @mGaolin。
  • TUI:当聊天忙时恢复提交的草稿,而非清除它或排队另一个运行。修复 #45326。(#82774) 感谢 @hyspacex。
  • 定时任务/记忆:将声明的 before_agent_reply 定时任务钩子视为执行进度,使长时间记忆梦想提升作业不被隔离运行预执行看门狗中止。修复 #82811。
  • Discord:当进度模式最终载荷被省略号截断时恢复转录支持完整答案,使长回复回退到正常分块投递而非用缩短消息替换预览。修复 #82807。感谢 @blueberry6401。
  • 浏览器插件:从 Chrome MCP 诊断中修订附加详情,并保持原始 Chrome 启动错误输出足够长以在用户报告中显示而不泄露敏感路径。
  • 系统提示:在嵌入式语音核心/系统提示脚手架中澄清 MEMORY 指导而非通用 TTS 提示,使代理优先使用记忆存储使用而非语音默认值。修复 #81930。感谢 @giodl73-repo。
  • 代理/认证:在缺少 API 密钥错误中包含检查的凭据来源,使用户可以看到要修复哪个环境变量、配置或配置路径。修复 #82785。感谢 @loeclos。
  • 提供者/GitHub Copilot:用 sha256 哈希 Responses 重放项目 ID 而非弱 32 位哈希,并不同地构建同提供者 Copilot 工具调用 ID,使并发工具调用重放不再冲突并拒绝后续轮次。
  • 代理/重放:在传输转换前规范化畸形的助手重放内容,同时保留空停止重放修复,使错误的提供者历史不再因不可迭代内容而崩溃。修复 #43795。(#82748) 感谢 @IWhatsskill。
  • 网关/macOS:在 ~/Library/Logs/openclaw 下写入 LaunchAgent 标准输出,抑制标准错误,并将标准输入附加到 /dev/null,使 launchd 启动避免符号链接状态目录日志失败和静默模块评估挂起。修复 #40207 和 #46153。感谢 @dhruvkelawala 和 @frankr。
  • 命令行/配置:让仅模型部分设置直接进入提供者认证,而非先问网关在哪里,在终端中解锁 OAuth/令牌设置,其中该无关提示无响应。修复 #39223。感谢 @LevityLeads。
  • 提供者/Anthropic-messages:在助手重放期间从 thinking 块提取 reasoning_content,使通过 Anthropic-messages 传输路由的代理提供者在工具调用后续轮次中保留推理上下文。感谢 @Sunnyone2three。
  • 代理/GitHub Copilot:在分派前规范化重放的 Responses 工具调用 ID,使具有历史超长工具 ID 的恢复会话继续而非失败 Coplex 模式验证。(#82750) 感谢 @galiniliev。
  • 命令行/推断:在精确命令凭据表面上解析插件范围 Web 搜索和获取 SecretRef,保持未选择和不相关的插件密钥不活动。修复 #82621。(#82699) 感谢 @leno23。
  • 提供者/Anthropic Vertex:从包本地 dist/ 解析已安装的提供者公共表面,在插件外置后恢复 anthropic-vertex/* 模型调用。修复 #82781。感谢 @0L1v3DaD。
  • 网关/执行审批:将路径形状白名单、安全二进制信任、技能自动允许、始终允许持久化和审批审计元数据绑定到可执行 realpath,使符号链接二进制在重定向后不能保留审批。修复 #45595。感谢 @jasonftl。
  • Mac 应用:围绕分组侧边栏重新组织设置,带有单独的连接和执行审批页面,使日常权限和应用切换更易于扫描。
  • Mac 应用:重绘动画菜单栏生物以匹配带有天线的圆角应用吉祥物、侧臂、两只脚和更平滑的模板渲染。
  • Mac 应用:缓存设置配置模式/草稿并与渠道探测并行加载渠道配置,使重复渠道和配置标签切换在远程隧道上响应。
  • 控制界面:从共享常量协商网关协议,使重建的仪表板连接到当前网关而非报告协议不匹配。
  • Mac 应用:让菜单网关/会话错误文本换行几行,并在菜单打开时停止重建动态上下文/网关菜单行,减少闪烁。
  • QA 实验室:在私有奇偶校验运行期间暴露 Codex 运行时工具,并将完成的结构/工具形状运行时漂移视为建议,同时将真实运行时失败保留为通道阻塞器。
  • Mac 应用:使设备配对审批表更友好,带有简洁的 Mac/设备副本、缩短的标识符、友好的范围标签和批准作为主要操作。
  • 提供者/Qwen:为 qwen-chat-template 载荷遵循会话思考级别,使 /think off 禁用嵌套 llama.cpp 聊天模板思考控制。修复 #82768。感谢 @bfox55。
  • 飞书/wiki:在创建 Lark 客户端前拒绝数字 wiki 空间 ID,并将数字外观 ID 记录为引用的不透明字符串,防止知识库调用中的 JavaScript 精度损失。修复 #45301。(#82769) 感谢 @hyspacex。
  • 控制界面:将对话设置简化为语音、模型和灵敏度默认值,提供者、传输、精确 VAD 和计时控制在高级后面。
  • Telegram:让包罗万象的提及模式匹配无标题群组照片,使仅媒体群组消息在群组有意配置为响应所有消息时到达代理。修复 #44833。(#82756) 感谢 @IWhatsskill。
  • 网关/配对:从非本地代理路径拒绝伪造的回环控制界面来源,并将移动配对设置保持在 Tailscale 绑定模式上,指向用户使用 Tailscale Serve/Funnel 而非明文 tailnet WebSocket。
  • Telegram/网关:仅在主线程分派后持久化隔离轮询偏移,并为 Telegram 消息操作保留网关调用者范围,修复已消耗但未路由的轮询更新和递归命令行发送范围审批。修复 #82277。(#82705) 感谢 @udaymanish6。
  • 记忆核心:中止超时的嵌入提供者调用,使远程嵌入 HTTP 请求在记忆查询或索引超时后不再继续运行。修复 #82732。感谢 @adityarya24。
  • 渠道/流预览:包含被拒绝的后台草稿流刷新,使预览发送失败不作为致命未处理拒绝出现。修复 #82712。(#82713) 感谢 @coygeek。
  • Codex/应用服务器:按代理运行时键保持共享原生应用服务器客户端隔离,使启动一个代理不再关闭另一个代理的活动 Codex 轮次。修复 #82758。感谢 @PashaGanson。
  • 提供者/OpenAI Codex:在捆绑的 Codex 目录中包含基础 gpt-5.5gpt-5.4 推理元数据,使 /think xhigh 对这些模型保持可用。修复 #82744。
  • 提供者/OpenAI Codex:将原生钩子中继保留为最终 Codex 应用服务器线程配置补丁,使钩子支持的审批保持启用,即使较低优先级配置禁用钩子。感谢 @solomonneas。
  • 提供者/MiniMax:在插件清单中声明 CN 端点认证别名,使 minimax-cnminimax-portal-cn 重用正确的基础认证配置而非在 401 后回退到不相关的模型。修复 #63823。感谢 @kamusis。
  • 密钥/审计:将 $VAR 认证配置值视为环境 SecretRef,并停止将环境引用凭据报告为明文,包括混合 keyRef 加环境引用配置状态。修复 #53998。感谢 @schirloc 和 @artwalker。
  • 代理/模型回退:当活动 OpenAI Codex 运行时报告相同规范 OpenAI 模型时抑制回退通知。
  • 代理/音乐生成:移除模型控制的请求超时,将内部提供者请求默认为五分钟,并将配置的超时保持在 120 秒最低值。
  • 定时任务:让隔离的最佳努力投递立即发送父结果,而即发即忘子代理继续运行,避免假运行超时。修复 #44428。感谢 @amknight。
  • 代理/媒体生成:当不期望生成媒体时,停止将投递失败摘要记录为缺少消息工具投递。
  • 代理/会话:在同一会话通道中优先处理手动用户轮次而非排队的定时任务和维护工作,使可见跟进不再在后台运行后等待。修复 #82764。(#82765) 感谢 @galiniliev。
  • 代理/编辑工具:在解析编辑恢复目标时遵循 file_path 和相关路径别名,使写入后错误在文件实际更改后不再出现假编辑失败。修复 #81909。感谢 @giodl73-repo。
  • QQBot:仅将显式真值 QQBOT_DEBUG 值视为启用调试日志,使假值如 0 不再暴露调试输出。修复 #82644。(#82697) 感谢 @leno23。
  • 代理/会话状态:针对活动运行会话解析隐式无参状态查找,使 /think 更改报告当前思考级别而非过期沙箱状态。修复 #82669。(#82696) 感谢 @leno23。
  • Discord:在默认编码工具配置下保持消息工具仅公会回复的进度草稿可见。修复 #82747。感谢 @eliranwong。
  • 代理:在组装最终回复载荷时优先当前结构化助手最终答案,减少渠道转录恢复后对流预览片段的依赖。(#82850) 感谢 @joshavant。
  • Discord:保持未提及房间事件历史直到可见 Discord 发送成功,使安静环境上下文在消息工具投递前不消失。(#82573) 感谢 @obviyus。
  • 命令行/设置:将模型/认证提供者选择器排序为 OpenAI、Anthropic、xAI、Google,然后按字母顺序排列其余提供者。
  • 诊断/使用/语音调用:将显式零和非有限限制视为空结果,并拒绝无效语音调用数字命令行标志。修复 #82646、#82650、#82651 和 #82653。(#82679) 感谢 @leno23。
  • 命令行/配置:避免引导 openclaw config 流的冗余启动配置/插件检查,并在源签出命令行工件构建或加载时显示进度。
  • 配置/Mac 应用:在核心配置验证中接受 gateway.remote.remotePort,使 Mac SSH 远程设置与命令行保持兼容。
  • 网关/诊断:添加可选关键内存压力稳定性快照,带有网关日志、V8 堆、cgroup、活动资源和修订的大型会话文件证据。修复 #82518。
  • Doctor/网关:避免仅因为其环境值提及旧签出路径就将不相关的 macOS LaunchAgent 视为旧版网关。
  • 网关/心跳:在目标回复操作排队或活动时推迟心跳运行,防止心跳提示在流通道启动前与 WebChat 响应交错。修复 #82722。感谢 @Andy-Xie-1145。
  • 命令行/设置:在现有配置摘要中将原始网关配置键折叠为友好的 ModelGateway 行。
  • 命令行/配置:显示简洁的人工配置写入输出,带有缩进的备份路径,而非默认打印校验和重的覆盖审计详情。
  • 技能/入职:在没有 Homebrew 的 Linux 容器中隐藏仅 brew 依赖安装程序,并显示容器特定指导而非损坏的安装路径。修复 #14593。感谢 @amknight。
  • 命令行/文档:调用规范的小写文档 MCP 搜索工具并显示 MCP 错误而非返回空搜索结果。修复 #82702。(#82704) 感谢 @hclsys。
  • QA 实验室:为插件钩子失败、Codex 应用服务器停滞/超时、定时任务白名单漂移、实时配额阻塞器和直接回复自消息转录添加网关日志哨兵,使 harness 证明在自健康回归上失败。(#80323) 感谢 @100yenadmin。
  • QA 实验室:在捕获运行时奇偶校验单元时忽略仅心跳操作转录,使后台检查不能替换场景回复。(#80323) 感谢 @100yenadmin。
  • QA 实验室:将线程记忆奇偶校验运行固定到 memory-core,为 QA 命令保持捆绑插件解析启用,并重试瞬态会话存储锁读取。(#72045) 感谢 @WuKongAI-CMU。
  • QA 实验室/qa-channel:为模拟 OpenAI qa-channel 运行保持模拟记忆排名、入站媒体注释和打开文件 realpath 检查稳定。(#66826) 感谢 @gumadeiras。
  • 网关/执行审批:等待接受的异步审批后续运行而非直接回退发送重复完成,当重试使用不同的 nonce 键时。修复 #82711。(#82717) 感谢 @udaymanish6。
  • 代理/子代理:将完成的子代理交接标记为准备好供父级审查,使请求者代理在报告完成前验证结果并继续所需的后续工作。(#82724) 感谢 @100menotu001。
  • QA 实验室:验证从浏览器存储加载的 Capture 保存视图,使畸形本地状态不能破坏 Capture 检查器过滤器或布局控制。(#77722) 感谢 @AsaZhou923。
  • 代理/性能:在本地命令行轮次、模型目录规范化、认证查找和工具能力检查中重用准备的插件清单元数据,为插件重的安装恢复快速预提供者启动。感谢 @shakkernerd。
  • 命令行/配置:为 openclaw config unset 添加 --dry-run 支持,带有 --json 输出和允许执行验证奇偶性与 config set/config patch 试运行处理。(#81895) 感谢 @giodl73-repo。
  • 命令行/推断:在本地提供者支持能力运行前解析命令 SecretRef,使 Web 搜索/获取和其他本地推断命令可以使用插件范围凭据引用。修复 #82621。(#82798) 感谢 @joshavant。
  • 记忆核心:重试禁用的梦想定时任务清理直到定时任务在启动后可用,使持久托管梦想作业在重启后被移除。修复 #82383。(#82389) 感谢 @neeravmakwana。
  • 提供者/xAI:将退役的 Grok 3、Grok 4 Fast、Grok 4.1 Fast 和 Grok Code 别名保留在模型选择器之外,同时保留现有配置的兼容性解析。
  • 提供者/xAI:在捆绑的图像生成提供者和文档中用 grok-imagine-image-quality 替换退役的 grok-imagine-image-pro 图像模型。(#81399) 感谢 @KateWilkins。
  • 提供者/OAuth:让浏览器托管的身份提供者页面读取成功的 localhost 回调响应,防止 xAI Grok OAuth 在 OpenClaw 完成登录后显示假连接失败。
  • 网关/安全:用现有认证失败响应拒绝畸形的 HTTP 和 WebSocket 请求目标,而非让无效 URL 解析崩溃网关。修复 GHSA-6hc3-f4rg-377m。
  • 浏览器/CDP:修订携带凭据的 Chrome MCP 和托管 Chrome 启动诊断,并要求精确回环条目才将 NO_PROXY 视为已覆盖本地 CDP 代理绕过。
  • 网关/认证:当网关启动配置未更改时重用准备的启动认证 SecretRef 快照,避免重复运行时密钥准备。(#82991) 感谢 @samzong。
  • 网关/诊断:修订携带凭据的网关目标 URL 和客户端诊断,同时为程序化使用保留原始连接 URL,使连接失败日志不再出现嵌入式令牌。
  • 网关/认证:将 OPENCLAW_GATEWAY_TOKEN 用作远程交互回退,当未配置远程令牌时,保持远程 TUI 设置与文档化的认证优先级一致。
  • 提供者/xAI:在 xAI 报告进行中作业为 pending 时继续轮询视频生成,使 Grok 视频请求在最终 done 响应前不再失败。(#82610) 感谢 @Manzojunior。
  • 日志:在返回行到读取范围客户端前从 logs.tail 输出修订原始基本认证和命名安全头。修复 #66832。感谢 @Magicray1217。
  • 命令行/网关:当健康、网关健康和设备列表命令请求 --json 时,为网关传输关闭/超时失败发出结构化 JSON。修复 #79108。感谢 @TurboTheTurtle。
  • 代理/Telegram:重试 Bedrock 非可见终端轮次并将不可投递尝试标记为轨迹错误而非静默成功。修复 #82394。(#82905) 感谢 @joshavant。
  • Telegram:通过新的 resolveSessionTarget 渠道钩子规范化通知群组目标,使计划通知与入站轮次一致地针对相同 Telegram 会话对话注册表解析。修复 #81229。感谢 @giodl73-repo。
  • QA/RTT:让 pnpm rtt 租赁 Convex 支持的 Telegram 凭据,同时保留 RTT 样本计数、样本超时和 RTT harness 路径上的结果统计。
  • Discord:将延迟的网关 identify 重试绑定到原始套接字代,使重连后触发的重试不针对新套接字识别。修复 #82225。感谢 @giodl73-repo。
  • ACP/控制平面:当代理配置更改时刷新缓存的运行时句柄,使 ACP 会话在 agents.defaults 编辑后停止使用过期运行时。修复 #82237。感谢 @giodl73-repo。
  • 网关/会话:按代理 ID 限定会话数据查找,使多代理网关状态不能跨配置代理泄漏会话记录。(#81386) 感谢 @pgondhi987。
  • 网关/重启:在强制重启前将活动主会话标记为重启中止,使启动恢复可以恢复中断的轮次而非将其搁浅为运行。修复 #82433。(#82772) 感谢 @joshavant。
  • 网关/心跳:用后台特定副本报告心跳运行器失败,而非前台 /new 恢复指导。修复 #82708。(#82848) 感谢 @joshavant。
  • 代理/媒体:要求生成的音乐/视频完成代理使用消息工具进行可见投递,并停止将生成图像附件合并到消息工具仅源回复镜像,避免可能重复模型已发送媒体的直接回退发布。
  • 代理/媒体:在内部完成事件上接受生成媒体附件并将投递损失失败报告为错误,使完成的后台音乐/视频任务在提供者成功后不消失。
  • Matrix/审批:当渠道审批处理器中途投递停止时释放进行中的反应绑定,防止重启后过期审批目标。修复 #82485。(#82482) 感谢 @Feelw00。
  • Matrix/E2EE:停止请求 MSC4222 state_after 同步响应,使具有不完整状态后数据的主服务器不留下没有出站房间加密器的新加密房间。修复 #82515。感谢 @nickdecooman。
  • TUI:当自动回退解析中途切换不同模型时实时更新显示的模型,使状态行反映处理运行的实际模型。修复 #82296。感谢 @giodl73-repo。
  • 网关/会话:当提供者使用遥测缺失时从本地/OpenAI 兼容转录估算上下文使用,使状态不再为真实本地模型会话显示空使用。修复 #73990。(#82317) 感谢 @giodl73-repo。
  • 更新/安装程序:为 OpenClaw 托管包安装覆盖 npm min-release-age 隔离,使 openclaw update、插件更新和托管安装程序脚本可以立即安装请求的最新发布。
  • 代理/会话:在过期使用更新中保留新鲜的后压缩令牌快照,防止每次消息后重复自动压缩。修复 #82576。(#82578) 感谢 @njuboy11。
  • 代理/回复:在 LLM 边界保留活动入站回复上下文,使 Discord 引用消息轮次不从过期会话历史回答。修复 #82608。(#82801) 感谢 @joshavant。
  • 代理/会话:暴露会话转录锁过期和最大保持调优,并在模型 I/O 前释放嵌入式运行的粗转录锁,同时单独锁定持久化和清理。修复 #13744。感谢 @amknight。
  • 代理/OpenAI Responses:为无详情的 response.failed 事件记录修订诊断,同时保留失败响应 ID,使操作员可以关联提供者侧失败。修复 #82558。
  • 代理/OpenRouter:从后续请求中剥离不可重放的 Anthropic/xAI 推理来源标签,防止中毒思考签名破坏第二轮。修复 #82335。(#82380) 感谢 @hclsys。
  • 提供者/xAI:仅对 Grok 4.3 发送可配置推理努力,保留 xAI 默认低推理,同时省略 Grok 4.20 推理模型的不支持控制。(#81227) 感谢 @jason-allen-oneal。
  • 图像生成:将 Google、OpenRouter 和 xAI 托管提供者默认超时提高到 180 秒,使慢托管图像请求有更多时间完成。(#75337)
  • 代理/认证:针对内存中、尝试和重新加载的凭据在通用令牌掩蔽前修订 OAuth 刷新失败原因,同时确保失败 ACP 分派清理关闭初始化运行时。
  • Google/Gemini CLI OAuth:为 google-gemini-cli 添加提供者拥有的刷新支持,使过期 Gemini CLI 令牌在 OpenClaw 中刷新而非落入通用未知提供者路径。修复 #42541。感谢 @jason-allen-oneal。
  • 代理/Anthropic 传输:为 Xiaomi/MiMo 风格 Anthropic Messages 路由从兼容思考块重放 reasoning_content,防止后续轮次丢失所需推理上下文。修复 #81261。感谢 @Sunnyone2three。
  • Telegram:按账户和令牌指纹缓存成功启动机器人身份长达 24 小时,使重启可以在 Telegram API 慢期间跳过冗余 getMe 探测,而不永久固定重命名机器人。参考 #82525。
  • Telegram:当延迟 TTS 音频到达时保持流文本回复原位,将音频作为后续发送而非删除预览。修复 #82570。(#82820) 感谢 @joshavant。
  • 渠道/TTS:在实时预览渠道上投递 TTS 补充而不重复文本回复,覆盖 WebChat、Telegram、Discord、Slack、Mattermost 和 Matrix。(#82935) 感谢 @joshavant。
  • 网关/会话:在重建死亡主会话行时丢弃过期元数据,使替换会话不继承旧标签或转录路径。
  • Codex 应用服务器:将原生上下文压缩完成事件标记为成功,防止成功 Codex 管理压缩后假"压缩不完整"通知。修复 #82470。(#81593) 感谢 @Kyzcreig。
  • Codex 应用服务器:当当前轮次审批、用户输入、动态工具和通知取得进展时保持长时间运行轮次活动,并将该进展带入外部运行超时。(#82601) 感谢 @100yenadmin。
  • 网关/渠道:在启动诊断阶段外移交追踪渠道账户启动,使长寿命渠道任务不将活跃警告固定到渠道启动。参考 #82398。
  • 网关/重启:排队在网关启动循环仍返回其服务器句柄时接收的重启和关闭信号,使启动时重启不在更新流失中丢失。(#82660) 感谢 @samzong。
  • 网关/重启:将操作员重启意图原因带入 macOS LaunchAgent 重启追踪,使级联诊断识别 gateway.restart 而非裸 SIGTERM。
  • GitHub Copilot:通过带有仅 GitHub 策略的插件 SSRF 守卫路由设备登录请求。
  • 群组/渠道回复:当代理错过消息工具时保持消息工具首选最终回复私有,并在网关调试日志中记录抑制载荷元数据以便更安静诊断。
  • 网关/WebChat:在嵌入图像前通过配置的视觉能力 imageModel 计划路由图像附件,并通过运行时重试携带该图像模型回退链。(#82524) 感谢 @frankekn。
  • macOS 应用:在原生 WebKit 窗口中打开仪表板,带有标准 macOS 交通灯控制,默认保持 Dock 图标可见,并重用应用连接的网关认证进行自动控制界面登录。
  • WebChat:通过将会话操作事件流式传输到订阅的控制界面客户端,在手动 /compact 运行时显示进度。修复 #82407。感谢 @Conan-Scott。
  • Codex 应用服务器:将规范 OpenAI Codex 应用服务器归属重写限制到本地转录和轨迹记录,将运行时/工具路由保留在选定的 OpenAI 模型元数据上,使 OpenAI API 密钥备份配置保持其计费路径。
  • Codex 应用服务器:从动态工具暴露隐藏原生工具搜索控制工具,同时保留消息工具。
  • Android/聊天:通过在渲染 markdown 中保留 Compose URL 注释,使聊天消息中裸和 markdown URL 可点击。修复 #82187。(#82392) 感谢 @neeravmakwana。
  • 插件/doctor:将旧版顶级插件 tools 声明迁移到 contracts.tools,使 openclaw doctor --fix 为清单工具契约修复本地插件。(#81112) 感谢 @100yenadmin。
  • Slack:指导代理使用上下文中稳定的 <@USER_ID> 提及令牌而非纯 @name 文本,使用户提及正确链接和通知。修复 #82090。(#82152) 感谢 @neeravmakwana。
  • 认证:通过认证配置锁序列化提供者登录写入,用于 OpenAI Codex、Anthropic、Cloudflare AI Gateway、GitHub Copilot 和 z.ai,保留 upsert 语义使活动网关不能用过期内存快照覆盖新刷新的 OAuth 凭据。
  • 认证/Codex:移除对 oauthRef 边车支持 OAuth 配置的运行时支持,并添加将受影响 Codex 配置迁移回内联 auth-profiles.json 凭据的 doctor 修复。(#82777) 感谢 @joshavant。
  • Slack:将 DM 线程回复保留在主直接消息会话上,而非路由到不可见线程范围会话。参考 #82390。(#82418) 感谢 @kagura-agent。
  • 认证/macOS:避免自动在钥匙串中创建 OAuth 配置主密钥,回退到文件支持密钥使无头代理不触发钥匙串提示。
  • Codex 应用服务器:当缺少 turn/completed 时释放原始助手完成,同时将评论/状态项保留为进度,防止完成 Codex 运行挂起直到超时。修复 #82343。(#82403) 感谢 @IWhatsskill。
  • Codex 应用服务器:在工具后原始助手完成后保持有界终端守卫,使缺少 turn/completed 事件快速失败而非让嵌入式运行卡住。修复 #82775。(#82816) 感谢 @joshavant。
  • 代理/会话:一旦原子替换成功就移除 repairSessionFileIfNeeded 写入的瞬态 *.bak-<pid>-<ts> 备份,使具有持久畸形 JSONL 行的卡住会话不再每次修复调用累积一个快照。修复 #80960。(#80969) 感谢 @100yenadmin。合作者 @tynamite。
  • 命令行/状态:当无渠道或会话存在时显示普通空状态消息而非空渠道和会话表。
  • 命令行/仪表板:在分发仪表板 URL 前探测网关就绪,当网关停止时提示启动或安装托管服务并打印恢复命令而非打开死浏览器标签。
  • 命令行/仪表板:将网关 device identity required 探测视为仪表板监听器可达的证明,使 openclaw dashboard 仍可打开控制界面。
  • 命令行:在不太可能正确渲染的终端上隐藏装饰性启动和状态表情符号,保持语义消息和身份表情符号完整。
  • 命令行/网关:当 openclaw dashboard 从剥离桌面 shell 如 VNC 终端启动网关时恢复 Linux 用户 systemd 总线环境。
  • 网关/WebSocket:在调试而非警告时记录预期启动 1013 gateway starting 重试关闭,同时为意外预连接失败保留 WARN。修复 #76361。(#82457) 感谢 @IWhatsskill。
  • 提供者/Xiaomi:从 MiMo 工具模式剥离合成空数组 items,同时保留类型化数组项,避免严格 OpenAI 兼容模式拒绝。
  • Telegram:当分派器最终载荷是省略号截断快照时,在进度模式工具草稿后发送转录支持完整最终答案。修复 #82409。感谢 @PashaGanson。
  • 提供者/Ollama:为标记为非推理的模型省略真原生 think 载荷,同时保留支持思考模型和显式 think: false。(#82445) 感谢 @leno23。
  • 更新/渠道:通过包交换 doctor 和后核心插件修复保留更新前渠道配置,使外置渠道升级不丢弃配置聊天渠道。修复 #82533。感谢 @imbaig。
  • 更新/doctor:在旧版 2026.4.x 升级期间修复配置外置插件安装,使配置 Discord 渠道在 2026.5.x 包更新后保持可用。修复 #82813。(#82859) 感谢 @joshavant。
  • 命令行/上下文引擎:为命令行轮次引导和完成非旧版上下文引擎,同时保留转录快照和延迟维护所有权。(#81869) 感谢 @sahilsatralkar。
  • Telegram:通过重启重放持久化轮询更新,使排队同主题消息按顺序恢复而非在网关重启后丢失上下文。(#82256) 感谢 @VACInc。
  • 网关/Gmail:在关闭前中止进行中 Gmail 监视器启动和热重载重启,使重载不能在网关关闭后生成 gog serve。感谢 @frankekn。
  • 代理/Codex:当 OpenAI 隐式 Codex harness 偏好找不到注册 Codex 插件时回退到嵌入式 PI 运行器,防止 OpenAI 兼容网关请求因未注册 harness 错误失败。修复 #82437。
  • 代理/OpenAI:为显式 OpenAI PI 运行遵循 auth.order.openaiopenai-codex:* 条目置于 API 密钥备份前,并接受 models auth login --provider openai-codex --device-code 用于无头登录。修复 #82521。(#82605)
  • 命令行/渠道:在 channels add --channel <id> 期间安装缺失外置同 ID 渠道插件,使 WhatsApp 和其他外置库存渠道恢复不需要单独 plugins enable 步骤。修复 #82533。
  • Windows 节点安装:通过隐藏 Windows 启动器启动节点主机,使登录启动不留下持久 cmd 窗口打开。修复 #81254。
  • MCP 插件工具:通过 createPluginToolsMcpHandlers().callTool 将主机 MCP tools/call AbortSignal 转发到插件 tool.execute,使主机取消实际取消进行中插件工具调用而非让它们运行完成。修复 #82424。(#82443) 感谢 @joshavant。
  • 代理/沙箱:在容器创建期间遵循显式 Docker 沙箱环境变量带有凭据外观名称,并在有效环境策略更改时重新创建受影响沙箱容器。修复 #82695。(#82763) 感谢 @joshavant。
  • 插件:将弃用的 api.on("deactivate") 注册视为 gateway_stop 的过时兼容别名,使外部插件清理处理器在网关关闭时运行,同时作者获得迁移指导。
  • 插件:从打包根解析捆绑条目、dist 运行时、包状态和公共工件路径,使捆绑插件探测和硬链接公共表面不再回退到源文件或在重启期间失败。修复 #78462。修复 #75797。参考 #76865。感谢 @ginishuh 和 @ymebosma。
  • 媒体:当字节嗅探为通用容器时忽略图像 MIME 和文件名提示,使错误标记为图像的 zip/八位字节流载荷不成为本地图像媒体或在暂存时保持图像文件扩展名。
  • 更新/doctor:避免为拒绝它的渠道模式具体化 groupAllowFrom,使包交换 doctor 修复不在外置 Slack 配置上失败。
  • 网关/媒体:防止图像文件名覆盖通用非图像字节嗅探,使错误标记为图像的 zip/八位字节流载荷在被暂存前被卸载或拒绝。
  • 插件/Web 搜索:将过期可选提供者安装降级为警告,使网关和 doctor 修复路径在启动提供者选择后保持运行。参考 #82313。感谢 @crackmac。
  • Telegram/网关:将目标 Telegram /stop@bot 消息路由到控制通道而不缓存机器人元数据,并在原始/规范会话别名间匹配网关停止请求。(#82298) 感谢 @VACInc。
  • MS Teams/媒体:在暂存前嗅探内联 data:image/* 附件字节,跳过非实际图像载荷。
  • WebChat/媒体:在为显示保留本地音频回复路径前要求受信本地媒体来源,使不受信音频外观路径通过正常暂存和读取策略检查。
  • WebChat:信任块流回复上的本地自动 TTS 音频,包括 ACP 分派尾部,使合成浏览器音频渲染而非静默丢弃。修复 #82628。(#82701) 感谢 @leno23。
  • 代理/工具媒体:在将生成工具附件合并到最终回复载荷时保留受信本地媒体来源,使受信音频/媒体在出站显示规范化中存活。
  • Anthropic/Claude CLI:在重用本地 Claude CLI 认证时写入模型范围 claude-cli 运行时策略,使升级 Telegram 和仪表板网关轮次继续使用命令行后端而非落入 Anthropic API 计费。修复 #82344。感谢 @amknight。
  • 更新:让包交换 doctor --fix 在插件模式仍在收敛时持久化核心配置修复,防止外置渠道配置更新失败。
  • 更新:将插件验证绕过带入配置变更预写入读取,使包更新 doctor 修复可以在外置插件模式收敛时完成。
  • 更新/doctor:在顶级 $include 配置写入路径上保持插件验证绕过,使包修复可以更新包含的插件配置文件而不将其扁平化到根配置。
  • 代理/子代理:当生命周期清理失败时警告并继续完成通知清理,防止结束子代理运行成为静默幽灵。修复 #82306。感谢 @SebTardif。
  • Telegram:让授权文本 /stop 命令在排队代理工作前使用快速中止路径,使活动轮次立即停止而非在轮次完成后处理中止;外部机器人 /stop@otherbot 提及现在保留在正常主题通道而非路由到我们的控制通道。修复 #82162。感谢 @civiltox。
  • 会话:丢弃具有无效会话 ID 的持久条目,并在水化会话运行时状态前剥离畸形转录文件元数据。
  • 认证/设备:在返回或保留令牌条目前规范化畸形持久设备认证令牌元数据。
  • 配对:在批准有效渠道配对代码前跳过畸形持久待处理配对请求。
  • 承诺:从持久承诺中剥离畸形可选提醒范围元数据,然后匹配待处理后续。
  • 配置持久化:规范化畸形认证配置凭据字段/状态,跳过 JSON 有效垃圾转录检查点行,并让 openclaw doctor --fix 移除不可修复定时任务行。
  • 定时任务:在内存中跳过具有畸形调度或载荷形状的持久任务行,留给 openclaw doctor --fix 而非将它们水化到运行时状态。
  • 定时任务:保持旧版字符串调度和空白系统事件任务可用于运行时修复/跳过处理而非作为畸形持久行丢弃。
  • 任务持久化:从任务和任务流 SQLite 边车丢弃畸形数组/标量请求者来源 JSON,而非将其恢复为投递元数据。
  • 代理/超时:澄清模型空闲超时错误和文档,使提供者 timeoutSeconds 显示为受整个代理/运行超时上限限制。
  • 代理/OpenAI 流:在处理突发完成和响应块时协作让出,在嘈杂模型输出下保持中止、渠道活跃计时器和启动心跳响应。参考 #82462。
  • 媒体/图像:在准备图像请求时避免广泛模型/插件发现,防止可能阻塞 Telegram 轮询的 Windows 事件循环停滞。修复 #82338。(#82799) 感谢 @joshavant。
  • 发布工具:对齐发布启动器 Node 最低要求、npm start、包脚本检查、分片 lint 锁定、Vitest 根项目覆盖和插件 SDK 声明构建缓存元数据,使发布/包验证不静默跳过或发布过期表面。
  • 定时任务/代理:为隔离计划运行遵循配置子代理模型回退,并将该回退策略转发到嵌入式代理超时故障转移。修复 #74985。感谢 @chrisgwynne。
  • Codex 应用服务器/MCP:通过可选 mcp.servers.<name>.codex.agents 列表将用户 MCP 服务器限定到特定 OpenClaw 代理 ID,并接受 codex.defaultToolsApprovalModeauto/prompt/approve)用于原生 Codex 审批默认值;OpenClaw 在将 mcp_servers 配置交给 Codex 前剥离 codex 块。(#82180) 感谢 @sercada。
  • 代理/OpenAI Responses:将 input_tokens - cached_tokens 钳制为零并从输入 + 输出 + 缓存组件重构 totalTokens,使 Responses API 流在提供者低估 input_tokens 相对 cached_tokens 时报告一致使用。
  • 代理:在嵌入式 PI 会话中将适配器捕获的工具执行失败标记为错误工具结果,使模型可以重试可恢复编辑失败而非看到成功工具结果。修复 #81546。(#81564) 感谢 @najef1979-code 和 @MonkeyLeeT。
  • 插件:在安装、发现和后更新载荷冒烟期间拒绝畸形 package.json openclaw.extensions 元数据,而非静默丢弃无效条目。
  • 插件:拒绝包元数据记录,其 package.json 解析在插件根外而非信任持久或重建注册表快照。
  • 插件:忽略畸形持久包渠道/安装元数据,而非崩溃目录重建或泄漏无效安装提示。
  • 插件发布:拒绝会从 npm 插件 tarball 省略广告包本地运行条目的包 files 否定。
  • 媒体/文件:在信任声明 MIME 头前嗅探 input_file 字节,拒绝欺骗图像或 zip 载荷在它们成为代理可见文本前。
  • 插件/依赖:清除过期托管根 openclaw 所有权元数据而不删除链接活动主机包,防止插件安装降级 npm 全局主机。修复 #79462。感谢 @lisandromachado。
  • 网关/更新:将关闭钩子运行器导入保持在稳定 dist 条目上并发布旧版块别名,使包交换不因缺少关闭块而搁浅运行网关。修复 #81819。感谢 @najef1979-code。
  • 配置持久化:忽略畸形数组/标量认证配置、定时任务状态和会话存储条目,而非将它们水化为数字配置 ID、崩溃定时任务行或无效会话记录。
  • 配置持久化:在加载时剥离畸形待处理最终投递会话字段,使重放/恢复路径跳过中毒回复元数据而非因原始对象崩溃。
  • 配置持久化:在加载时剥离畸形插件扩展状态和提升会话槽所有权,使损坏会话行不泄漏中毒插件元数据到重放/投影路径。
  • 网关/会话:在会话投影期间忽略畸形压缩检查点行,使损坏存储不崩溃会话列表/描述响应或显示虚假检查点计数。
  • 网关/会话:当导入树转录引用缺失或旧版父行时保持可达转录历史,防止会话历史读取在部分导入后变空。
  • 轨迹导出:报告不完整转录父链并停止循环分支遍历,使畸形导入不能挂起 /export-trajectory
  • 会话重放:在静默会话重置期间跳过畸形用户/助手形状转录行,而非将无效条目复制到新转录。
  • 转录状态:在压缩/重写助手选择活动叶前跳过畸形持久 JSONL 条目。
  • 备份验证:用稳定错误报告畸形存档清单,而非泄漏原始 JSON 解析器详情。
  • 会话导出:报告跳过的畸形转录 JSONL 行,而非从导出 HTML 存档静默省略它们。
  • 提供者:用提供者拥有的错误拒绝畸形成功 Runway、BytePlus 和 Ollama 嵌入响应,而非原始解析器/类型失败、静默坏向量或长时间虚假轮询。
  • 提供者/图像:用提供者拥有的错误拒绝畸形成功 OpenAI 兼容、OpenAI、Google、fal 和 OpenRouter 图像响应,而非原始形状失败、静默无效 base64 跳过或空图像结果。
  • 提供者/视频:用提供者拥有的错误拒绝畸形成功 xAI、OpenRouter 和 fal 视频创建、轮询和结果响应,而非原始解析器失败或长时间虚假轮询。
  • 提供者/视频:让选定模型能力覆盖清除继承 providerOptions,使回退跳过显式接受无提供者特定选项的模型而非转发不支持旋钮。
  • TTS/提供者:在路由模型覆盖指令时遵循首选提供者别名,使别名选择语音提供者接收非限定 [[tts:*]] 覆盖。
  • 提供者/音频:用提供者拥有的错误拒绝畸形成功 OpenAI 兼容、ElevenLabs 和 Deepgram 语音响应,而非原始解析器失败、错误形状转录或被视为音频的 JSON/文本体。
  • 提供者/嵌入:拒绝畸形成功 OpenAI 兼容、Google Gemini 和 Amazon Bedrock 嵌入响应,而非静默返回空或强制向量。
  • 提供者/目录:用提供者拥有的错误拒绝畸形成功 LM Studio、GitHub Copilot、DeepInfra、Vercel AI Gateway 和 Kilocode 模型列表响应,而非原始解析器/类型失败或静默回退目录。
  • 提供者/轮询:用提供者拥有的畸形 JSON 错误拒绝数组、null 或标量成功操作状态响应,而非等待直到超时。
  • ACPX/Codex:在启动时在包装崩溃后收割插件本地 Codex ACP 适配器孤儿,同时将直接适配器命令排除在启动租约注入外。修复 #82364。(#82459) 感谢 @joshavant。
  • 代理/模型回退:定期为自动固定回退会话探测配置主,通知回退/恢复转换,并在恢复时清除固定,防止会话无限期停留在回退模型上。修复 #82544。感谢 @crpol。
  • Telegram:通过渲染回退文本和内联按钮发送仅展示载荷,而非将其视为空。修复 #82404。(#82449) 感谢 @joshavant。
  • 提供者/Kimi:保留 Kimi Coding reasoning_content 重放并在思考启用时回填助手工具调用占位符,使 kimi-for-coding 后续工具轮次在先前工具使用后不再失败。修复 #82161。感谢 @amknight。
  • 提供者/搜索工具:用提供者拥有的错误拒绝畸形成功 xAI、Gemini 和 Kimi Web/代码搜索响应,而非静默 No response 载荷或无根据回退状态。
  • 轨迹导出:在 manifest.json 中跳过并报告畸形会话/运行时 JSONL 行,而非让错误形状会话行崩溃支持包导出。
  • 语音调用:持久化拒绝入站调用重放键,使重复载波 webhook 重试在网关重启后保持忽略。
  • 配置/doctor:在 openclaw doctor --fix 期间将回退启用渠道 allowFrom 条目复制到显式 groupAllowFrom 白名单,保留当前群组访问而不添加运行时回退转换标志。
  • 配置/doctor:在 openclaw doctor --fix 期间从可信目录元数据替换仅源官方 Brave 和 Slack 插件安装,在升级后解锁外置库存插件恢复。(#82425) 感谢 @joshavant。
  • 配置/记忆:警告而非拒绝在插件安装前选择官方外部 memory-lancedb 槽的配置,带有显式无持久内存启动警告和安装提示。修复 #82428。(#82438) 感谢 @giodl73-repo。

查看完整更新日志


v2026.5.14 (2026-05-14)

🎉 新特性

  • 渠道/SDK:为渠道轮次构建添加规范化命令轮次事实,并为插件入站上下文暴露命令轮次辅助函数。
  • 代理/配置:支持每个代理的引导配置覆盖,包括 contextInjectionbootstrapMaxCharsbootstrapTotalMaxChars,省略时从 agents.defaults 继承。修复 #69966。感谢 @BunsDev。
  • 依赖:通过 @openclaw/proxyline 路由根环境 Node 代理,并移除根 proxy-agenthttps-proxy-agentminimatch 依赖。

🐛 修复

  • 模型/提供者:信任精确配置的自定义/本地提供者 baseUrl 来源来处理受保护的模型 HTTP 请求,使回环、局域网、Tailnet 和私有 DNS 端点无需广泛私有网络访问即可工作,同时不同端口和元数据/链路本地枢轴仍被阻止。修复 #80732。(#80751) 感谢 @Kaspre 和 @msitarzewski。
  • 合并选项后绑定 shell 脚本操作数 [AI]。(#81882) 感谢 @pgondhi987。
  • 画布:验证快照响应格式 [AI]。(#81881) 感谢 @pgondhi987。

查看完整更新日志


v2026.5.12 (2026-05-12)

🎉 新特性

  • Amazon Bedrock:将 Bedrock 和 Bedrock Mantle 提供者包外置,核心安装不再拉取 AWS SDK 依赖,除非安装了这些提供者。
  • 插件:外置 Slack、OpenShell 沙箱和 Anthropic Vertex,使其运行时依赖仅在安装对应插件时才安装。
  • 控制界面/Web聊天:添加持久化的自动滚动模式选择器,用户可保持当前接近底部的行为、始终跟随流式输出,或关闭自动流式滚动并手动使用新消息按钮。修复 #7648 和 #81287。感谢 @BunsDev。

🐛 修复

  • 代理:在解析默认代理工作区时遵循 OPENCLAW_WORKSPACE_DIR,保持显式配置优先级,同时使环境变量支持的部署不进入系统提示回退路径。修复 #66786。
  • Doctor/Codex:不再对 OpenClaw 在运行时授予 message 的 source-reply 路径发出消息工具不可用警告,使更新和 Doctor 输出与 OpenAI 正常路径一致。感谢 @pashpashpash。
  • 渠道/微信:将外部微信目录条目升级至 @tencent-weixin/openclaw-weixin@2.4.3 并匹配包完整性。(#81730) 感谢 @scotthuang。

查看完整更新日志


v2026.5.7 (2026-05-07)

🐛 修复

  • 发布/插件发布:重试瞬态 ClawHub CLI 依赖安装失败,保持预览通过的插件在一个预览单元失败时仍可发布,并在发布后验证每个预期的 ClawHub 包版本,使维护版本更快恢复且不太可能隐藏部分插件发布。
  • OpenAI:支持 openai/chat-latest 作为显式直接 API 密钥模型覆盖,用于尝试移动的 ChatGPT Instant API 别名,无需更改稳定的默认模型。
  • 定时任务/命令行:在 cron list --jsoncron show --json 输出中包含计算出的 status,使外部工具能读取禁用/运行/正常/错误/跳过/空闲状态,无需重新实现定时任务状态推导。(#78701) 感谢 @aweiker。

查看完整更新日志


v2026.5.6 (2026-05-06)

🐛 修复

  • Doctor/OpenAI 配置:保持 2026.5.6 发布分支不受旧版 Codex 路由重写影响(该重写可能在 doctor --fix 期间更改 OpenAI 模型配置),保留现有 OpenAI 路由,除非有支持的修复路径适用。
  • 插件/运行时请求:在传入原生 fetchHeaders 之前,从普通请求头字典中移除第三方符号元数据,使 SDK 和受保护/代理请求路径不会拒绝原本有效的插件请求。修复 #77846。感谢 @shakkernerd。
  • 调试代理:在重放请求前规范化捕获的请求头字典,防止调用者拥有的头对象中的符号元数据使调试代理请求失败。

查看完整更新日志


相关链接


最后更新: 2026/5/19 16:39:59

动物装饰