OpenClaw v2026.2.3 发布

发布日期: 2026-02-03

Changes

  • Telegram: remove last @ts-nocheck from bot-handlers.ts, use Grammy types directly, deduplicate StickerMetadata. Zero @ts-nocheck remaining in src/telegram/. (#9206)
  • Telegram: remove @ts-nocheck from bot-message.ts, type deps via Omit<BuildTelegramMessageContextParams>, widen allMedia to TelegramMediaRef[]. (#9180)
  • Telegram: remove @ts-nocheck from bot.ts, fix duplicate bot.catch error handler (Grammy overrides), remove dead reaction message_thread_id routing, harden sticker cache guard. (#9077)
  • Onboarding: add Cloudflare AI Gateway provider setup and docs. (#7914) Thanks @roerohan.
  • Onboarding: add Moonshot (.cn) auth choice and keep the China base URL when preserving defaults. (#7180) Thanks @waynelwz.
  • Docs: clarify tmux send-keys for TUI by splitting text and Enter. (#7737) Thanks @Wangnov.
  • Docs: mirror the landing page revamp for zh-CN (features, quickstart, docs directory, network model, credits). (#8994) Thanks @joshp123.
  • Messages: add per-channel and per-account responsePrefix overrides across channels. (#9001) Thanks @mudrii.
  • Cron: add announce delivery mode for isolated jobs (CLI + Control UI) and delivery mode config.
  • Cron: default isolated jobs to announce delivery; accept ISO 8601 schedule.at in tool inputs.
  • Cron: hard-migrate isolated jobs to announce/none delivery; drop legacy post-to-main/payload delivery fields and atMs inputs.
  • Cron: delete one-shot jobs after success by default; add --keep-after-run for CLI.
  • Cron: suppress messaging tools during announce delivery so summaries post consistently.
  • Cron: avoid duplicate deliveries when isolated runs send messages directly.

Fixes

  • Control UI: add hardened fallback for asset resolution in global npm installs. (#4855) Thanks @anapivirtua.
  • Update: remove dead restore control-ui step that failed on gitignored dist/ output.
  • Update: avoid wiping prebuilt Control UI assets during dev auto-builds (tsdown --no-clean), run update doctor via openclaw.mjs, and auto-restore missing UI assets after doctor. (#10146) Thanks @gumadeiras.
  • Models: add forward-compat fallback for openai-codex/gpt-5.3-codex when model registry hasn't discovered it yet. (#9989) Thanks @w1kke.
  • Auto-reply/Docs: normalize extra-high (and spaced variants) to xhigh for Codex thinking levels, and align Codex 5.3 FAQ examples. (#9976) Thanks @slonce70.
  • Compaction: remove orphaned tool_result messages during history pruning to prevent session corruption from aborted tool calls. (#9868, fixes #9769, #9724, #9672)
  • Telegram: pass parentPeer for forum topic binding inheritance so group-level bindings apply to all topics within the group. (#9789, fixes #9545, #9351)
  • CLI: pass --disable-warning=ExperimentalWarning as a Node CLI option when respawning (avoid disallowed NODE_OPTIONS usage; fixes npm pack). (#9691) Thanks @18-RAJAT.
  • CLI: resolve bundled Chrome extension assets by walking up to the nearest assets directory; add resolver and clipboard tests. (#8914) Thanks @kelvinCB.
  • Tests: stabilize Windows ACL coverage with deterministic os.userInfo mocking. (#9335) Thanks @M00N7682.
  • Exec approvals: coerce bare string allowlist entries to objects to prevent allowlist corruption. (#9903, fixes #9790) Thanks @mcaxtr.
  • Exec approvals: ensure two-phase approval registration/decision flow works reliably by validating twoPhase requests and exposing waitDecision as an approvals-scoped gateway method. (#3357, fixes #2402) Thanks @ramin-shirali.
  • Heartbeat: allow explicit accountId routing for multi-account channels. (#8702) Thanks @lsh411.
  • TUI/Gateway: handle non-streaming finals, refresh history for non-local chat runs, and avoid event gap warnings for targeted tool streams. (#8432) Thanks @gumadeiras.
  • Shell completion: auto-detect and migrate slow dynamic patterns to cached files for faster terminal startup; add completion health checks to doctor/update/onboard.
  • Telegram: honor session model overrides in inline model selection. (#8193) Thanks @gildo.
  • Web UI: fix agent model selection saves for default/non-default agents and wrap long workspace paths. Thanks @Takhoffman.
  • Web UI: resolve header logo path when gateway.controlUi.basePath is set. (#7178) Thanks @Yeom-JinHo.
  • Web UI: apply button styling to the new-messages indicator.
  • Onboarding: infer auth choice from non-interactive API key flags. (#8484) Thanks @f-trycua.
  • Security: keep untrusted channel metadata out of system prompts (Slack/Discord). Thanks @KonstantinMirin.
  • Security: enforce sandboxed media paths for message tool attachments. (#9182) Thanks @victormier.
  • Security: require explicit credentials for gateway URL overrides to prevent credential leakage. (#8113) Thanks @victormier.
  • Security: gate whatsapp_login tool to owner senders and default-deny non-owner contexts. (#8768) Thanks @victormier.
  • Voice call: harden webhook verification with host allowlists/proxy trust and keep ngrok loopback bypass.
  • Voice call: add regression coverage for anonymous inbound caller IDs with allowlist policy. (#8104) Thanks @victormier.
  • Cron: accept epoch timestamps and 0ms durations in CLI --at parsing.
  • Cron: reload store data when the store file is recreated or mtime changes.
  • Cron: deliver announce runs directly, honor delivery mode, and respect wakeMode for summaries. (#8540) Thanks @tyler6204.
  • Telegram: include forward_from_chat metadata in forwarded messages and harden cron delivery target checks. (#8392) Thanks @sleontenko.
  • macOS: fix cron payload summary rendering and ISO 8601 formatter concurrency safety.
  • Discord: enforce DM allowlists for agent components (buttons/select menus), honoring pairing store approvals and tag matches. (#11254) Thanks @thedudeabidesai.