网关/OpenAI compatibility: 添加 `/v1/模型` 和 `/v1/embeddings`, 和 forward explicit 模型 overrides through `/v1/chat/completions` 和 `/v1/responses` 为了 broader client 和 RAG compatibility. Thanks @vincentkoc.
Agent/tools: make `/tools` show the tools the current Agent can actually use right 现在, 添加 a compact default view 使用 an optional detailed mode, 和 添加 a live "Available Right 现在" section 在 the Control 界面 so it is easier to see what will work 之前 you ask.
Microsoft Teams: migrate to the official Teams SDK 和 添加 AI-Agent UX best practices including streaming 1:1 replies, welcome cards 使用 prompt starters, feedback/reflection, informative status updates, typing indicators, 和 native AI labeling. (#51808)
Microsoft Teams: 添加 message edit 和 delete 支持 为了 sent messages, including 在-thread fallbacks 当 no explicit target is provided. (#49925)
Skills/install metadata: 添加 one-click install recipes to bundled skills (coding-Agent, gh-issues, OpenAI-whisper-API, session-logs, tmux, trello, weather) so the CLI 和 Control 界面 can offer dependency installation 当 requirements are missing. (#53411) Thanks @BunsDev.
Control 界面/skills: 添加 status-filter tabs (All / Ready / Needs Setup / Disabled) 使用 counts, replace inline skill cards 使用 a click-to-detail dialog showing requirements, toggle switch, install action, API 密钥 entry, source metadata, 和 homepage link. (#53411) Thanks @BunsDev.
Slack/interactive replies: restore rich reply parity 为了 direct deliveries, auto-render simple trailing `Options:` lines as buttons/selects, 改进 Slack interactive setup defaults, 和 isolate reply controls 从 插件 interactive handlers. (#53389) Thanks @vincentkoc.
CLI/containers: 添加 `--container` 和 `OPENCLAW_CONTAINER` to run `openclaw` commands inside a running Docker 或 Podman OpenClaw container. (#52651) Thanks @sallyom.
Discord/auto threads: 添加 optional `autoThreadName: "generated"` naming so new auto-created threads can be renamed asynchronously 使用 concise LLM-generated titles while keeping the existing message-based naming as the default. (#43366) Thanks @davidguttman.
插件/hooks: 添加 `before_dispatch` 使用 canonical inbound metadata 和 route handled replies through the normal final-delivery 路径, preserving TTS 和 routed delivery semantics. (#50444) Thanks @gfzhx.
Control 界面/Agent: convert Agent workspace file rows to expandable `<details>` 使用 lazy-loaded inline markdown preview, 和 添加 comprehensive `.sidebar-markdown` styles 为了 headings, lists, code blocks, tables, blockquotes, 和 details/summary elements. (#53411) Thanks @BunsDev.
Control 界面/markdown preview: restyle the Agent workspace file preview dialog 使用 a frosted backdrop, sized panel, 和 styled header, 和 integrate `@create-markdown/preview` v2 system theme 为了 rich markdown rendering (headings, tables, code blocks, callouts, blockquotes) that auto-adapts to the app's light/dark design tokens. (#53411) Thanks @BunsDev.
macOS app/配置: replace horizontal pill-based subsection navigation 使用 a collapsible tree sidebar using disclosure chevrons 和 indented subsection rows. (#53411) Thanks @BunsDev.
CLI/skills: soften missing-requirements label 从 "missing" to "needs setup" 和 surface API 密钥 setup guidance (where to get a 密钥, CLI save 命令, storage 路径) 在 `openclaw skills info` output. (#53411) Thanks @BunsDev.
macOS app/skills: 添加 "Get your 密钥" homepage link 和 storage-路径 hint to the API 密钥 editor dialog, 和 show the 配置 路径 在 save confirmation messages. (#53411) Thanks @BunsDev.
Control 界面/Agent: 添加 a "Not set" placeholder to the default Agent 模型 selector dropdown. (#53411) Thanks @BunsDev.
Runtime/install: lower the supported Node 22 floor to `22.14+` while continuing to recommend Node 24, so npm installs 和 self-updates do not strand Node 22.14 users 在 older releases.
CLI/更新: preflight the target npm package `engines.node` 之前 `openclaw 更新` runs a global package install, so outdated Node runtimes fail 使用 a clear upgrade message 而不是 attempting an unsupported latest release.
Outbound media/local files: align outbound media access 使用 the configured fs policy so host-local files 和 inbound-media paths keep sending 当 `workspaceOnly` is off, while strict workspace-only Agent remain sandboxed.
安全/sandbox media dispatch: close the `mediaUrl`/`fileUrl` alias bypass so outbound 工具 和 message actions cannot escape media-root restrictions. (#54034)
网关/restart sentinel: wake the interrupted Agent session via heartbeat 之后 restart 而不是 only sending a best-effort restart note, 重试 outbound delivery once 在 transient failure, 和 保留 explicit thread/topic routing through the wake 路径 so replies land 在 the correct Telegram topic 或 Slack thread. (#53940) Thanks @VACInc.
Docker/setup: 避免 the pre-start `openclaw-CLI` shared-network namespace loop 通过 routing setup-time onboard/配置 writes through `openclaw-网关`, so fresh Docker installs 停止 failing 之前 the 网关 comes up. (#53385) Thanks @amsminn.
网关/channels: keep channel startup sequential while isolating per-channel boot failures, so one broken channel no longer blocks later channels 从 starting. (#54215) Thanks @JonathanJing.
Embedded runs/secrets: 停止 unresolved `SecretRef` 配置 从 crashing embedded Agent runs 通过 falling back to the resolved runtime snapshot 当 needed. 修复 #45838.
WhatsApp/groups: track recent 网关-sent message IDs 和 suppress only matching group echoes, preserving owner `/status`, `/new`, 和 `/activation` commands 从 linked-account `fromMe` traffic. (#53624) Thanks @w-sss.
WhatsApp/reply-to-bot detection: restore implicit group reply detection 通过 unwrapping `botInvokeMessage` payloads 和 reading `selfLid` 从 `creds.json`, so reply-based mentions reach the bot 重新 在 linked-account group chats.
Telegram/forum topics: recover `#General` topic `1` routing 当 Telegram omits forum metadata, including native commands, interactive callbacks, inbound message context, 和 fallback 错误 replies. (#53699) thanks @huntharo
Discord/网关 supervision: centralize 网关 错误 handling behind a lifetime-owned supervisor so early, active, 和 late-teardown Carbon 网关 errors stay classified consistently 和 停止 surfacing as process-killing teardown crashes.
Discord/timeouts: send a visible 超时 reply 当 the inbound Discord worker times out 之前 a final reply starts, including created auto-thread targets 和 queued-run ordering. (#53823) Thanks @Kimbo7870.
ACP/direct chats: always deliver a terminal ACP result 当 final TTS does not yield audio, even if block text already streamed earlier, 和 skip redundant empty-text final synthesis. (#53692) Thanks @w-sss.
Telegram/outbound errors: 保留 actionable 403 membership/block/kick details 和 treat `bot not a member` as a permanent delivery failure so Telegram sends 停止 retrying doomed chats. (#53635) Thanks @w-sss.
Telegram/photos: preflight Telegram photo dimension 和 aspect-ratio rules, 和 fall back to document sends 当 image metadata is invalid 或 unavailable so photo uploads 停止 failing 使用 `PHOTO_INVALID_DIMENSIONS`. (#52545) Thanks @hnshah.