← 返回更新日志

OpenClaw v2026.6.9-beta.1 预发布

2026-06-19 · GitHub 原文
## 2026.6.9 ### 亮点 - **更丰富的 Telegram 消息投递:** Telegram 现在支持发送富 HTML,保留富 Markdown 和贴纸路径,更忠实地渲染进度草稿和命令输出,并将提及和缓冲处理程序保持在正确的投递路径上。(#93286, #93164, #93124, #93364, #93130, #93088, #93281) 感谢 @obviyus, @vincentkoc, @goutamadwant, @kesslerio, @NianJiuZst, @SweetSophia, @Marvinthebored 和 @aaajiao。 - **更可靠的 Agent 恢复:** 重试、终端结果、压缩后的使用量、会话历史修复和回复协调现在能够使更多中断或部分对话轮次朝着可见的最终结果推进。(#92191, #93073, #93228, #93084, #93469, #93291, #90943) 感谢 @ai-hpc, @lml2468, @fuller-stack-dev, @Hollychou924, @leno23, @de1tydev, @425072024, @wuwahe3, @drvoss, @yetval, @sandieman2 和 @vincentkoc。 - **更强的 Codex 集成:** Codex 获得了自动插件审批、GPT-5.3 Spark OAuth 路由、远程节点 `exec` 作为动态工具,以及更可靠的应用服务器拆除和终端结果。(#92625, #89133, #93654, #91767, #93287) 感谢 @kevinslin, @VACInc, @vincentkoc, @JPKay-AI 和 @aliahnaf2013-max。 - **独立的官方提供商插件:** 外部提供商包现在作为一级 npm 版本发布,外部安装的渠道插件在 Gateway 启动时加载,而 StepFun 特意仅通过 npm 提供,因为其 ClawHub 包名称不可用。(#93470) 感谢 @sunlit-deng, @cxdnicole 和 @vincentkoc。 - **功能更强的 Web 和原生客户端:** 控制 UI 新增了会话工作区侧栏和扩展健康状态,iOS 新增了 Watch 控制,Android 显示了聊天上下文。(#92856, #91952, #93387, #92837) 感谢 @Solvely-Colin, @jalehman, @joshavant 和 @Tosko4。 - **更实用的搜索和技能:** Codex Hosted Search 已可用,无密钥搜索提供商仍是故意的选择加入,ClawHub 技能安装保留了已验证的来源溯源。(#93446, #93616, #93283, #93506) 感谢 @fuller-stack-dev, @davemorin, @momothemage, @nmccready-tars 和 @vincentkoc。 ### 变更 - 提供商和认证:新增 Codex Hosted Search,改进了代理后的 Gemini CLI OAuth,并将外部提供商入门体验保持在当前选择和包元数据上。(#93446, #92815) 感谢 @fuller-stack-dev, @yetval, @EvetteYoung 和 @vincentkoc。 - 插件和安装:外部化的官方提供商作为独立 npm 包发布,Gateway 在启动时发现已安装的渠道插件,StepFun 仅通过 npm 安装。(#93470) 感谢 @sunlit-deng, @cxdnicole 和 @vincentkoc。 - 仪表盘和移动端:新增会话工作区侧栏、插件健康状态、紧凑的 cron 列表以及 iOS Watch 控制。(#92856, #91952, #93395, #93387) 感谢 @Solvely-Colin, @jalehman, @yu-xin-c, @centralpc, @joshavant 和 @vincentkoc。 - Codex 和技能:新增自动插件审批,保留 ClawHub 技能溯源,并在节点连接时将远程节点执行暴露给 Codex。(#92625, #93283, #93654) 感谢 @kevinslin, @momothemage, @nmccready-tars, @vincentkoc 和 @JPKay-AI。 - QA 和发布工程:QA 场景现在使用 YAML 格式,具有更广泛的配置文件证据和覆盖插件及渠道矩阵的发布覆盖率。 ### 修复 - 安全与隐私:从调试/配置输出中隐藏密钥,阻止内部 HTTP 会话覆盖,审计开放 DM 工具暴露,并保留插件写入所有权检查。(#93333, #88496, #93443, #92883, #93353) 感谢 @Alix-007, @jason-allen-oneal, @coygeek, @RichardCao, @yu-xin-c, @cjg20ss, @eleqtrizit 和 @vincentkoc。 - Agent 和会话运行时:重试仅思考和无内容的后工具轮次,防止重复的钩子执行,在压缩后保留新鲜的使用量,并修复部分 JSON/历史记录异常。(#92191, #93073, #93009, #93084, #93469) 感谢 @ai-hpc, @lml2468, @fuller-stack-dev, @zenglingbiao, @dertbv, @Hollychou924, @leno23, @de1tydev, @425072024, @wuwahe3, @drvoss 和 @vincentkoc。 - 渠道和回复:修复 Telegram 的富文本投递和入口恢复,保留 WhatsApp 认证和媒体错误报告,保持 Mattermost 线程回复完整,并强化 Discord 操作处理。(#93286, #93364, #93281, #93076, #93334, #93424, #93488) 感谢 @obviyus, @NianJiuZst, @mcaxtr, @rushindrasinha, @amknight, @lzyyzznl, @darealgege 和 @vincentkoc。 - 存储和迁移:避免在网络文件系统上使用 SQLite WAL,清理重新索引的临时文件,将设置状态移出工作区点目录,并将默认 Agent 认证配置文件导入 SQLite。(#93454, #92891, #93182, #93295, #93520, #93156) 感谢 @vincentkoc, @ZengWen-DT, @Zeng-wen, @potterdigital, @Alix-007, @Pick-cat, @sallyom, @1qh 和 @Tazio7。 - 提供商和模型行为:修复 Gemini CLI 代理 OAuth,恢复 Codex Spark OAuth 路由,更正 Bedrock 嵌入模型 ID,并在嵌入式运行中保留配置的默认值。(#92815, #89133, #93452, #93428) 感谢 @yetval, @EvetteYoung, @VACInc, @LiuwqGit, @aleck31, @zenglingbiao, @danielgerlag 和 @vincentkoc。 - CLI、TUI 和应用程序:接受子命令后的全局标志,保持终端输出和活动指示器可见,保留 CJK 输入法组合状态,并刷新过时的 UI 状态。(#93455, #93460, #93006, #93427, #93498, #93606) 感谢 @ooiuuii, @Alix-007, @ZengWen-DT, @Zeng-wen, @AlethiaQuizForge, @Zhaoqj2016, @liuhao1024, @BrianClaw1955, @vincentkoc 和 @NicoBoom13。 - 操作和更新:强化官方插件恢复,在更新交接失败后重启受管 Gateway,避免特定 Node 的 npm 前缀,并保持包验证路径可靠。(#93325, #92111, #93650) 感谢 @vincentkoc, @yetval, @ofan 和 @yaanfpv。 ### 完整贡献记录 此审计记录涵盖了 v2026.6.8..HEAD~1 的完整历史:共 375 个合并 PR。生成清单也提供了直接提交作为编辑输入;上述分组笔记优先考虑了用户影响。 #### 拉取请求 - **PR #90463** refactor: add session accessor seam with gateway consumer. 感谢 @jalehman。 - **PR #88656** Drop reasoning-only length turns from replay. 感谢 @abel-zer0。 - **PR #92856** feat(webui): add session workspace rail. 感谢 @Solvely-Colin。 - **PR #92845** docs(browser-control): document OPENCLAW_EAGER_BROWSER_CONTROL_SERVER requirement. 关联 #92841。感谢 @liuhao1024 和 @jeugregg。 - **PR #82366** fix: use passive periodic sqlite wal checkpoints. 关联 #81715。感谢 @honor2030 和 @KrasimirKralev。 - **PR #92815** fix(google): route Gemini CLI OAuth through the env proxy (#46184). 感谢 @yetval 和 @EvetteYoung。 - **PR #91331** fix(mattermost): merge progress preview lines by identity. 关联 #89761。感谢 @iloveleon19 和 @leonthe8th 和 @vincentkoc。 - **PR #92909** fix(tui): keep spinner active when toggling tools. 关联 #49763。感谢 @ZengWen-DT 和 @Zeng-wen 和 @vincentkoc 和 @CrimsonDump。 - **PR #92904** fix(elevenlabs): use current TTS model ids. 感谢 @vortexopenclaw 和 @vincentkoc。 - **PR #92642** fix #86872: Subagent run reports success but fails to write output file. 感谢 @zhangguiping-xydt 和 @vincentkoc 和 @zapper35。 - **PR #89122** refactor: route command session reads through seam. 感谢 @jalehman。 - **PR #90943** fix(reply): deliver final reply when queued follow-up claims session; scope dedupe to routed thread. 感谢 @sandieman2 和 @vincentkoc。 - **PR #92894** fix(skills): keep managed prompt paths readable. 关联 #92875。感谢 @kesslerio 和 @sallyom。 - **PR #39617** fix: reload config in slash command routing so dmScope is respected. 关联 #39605。感谢 @Ciward。 - **PR #92191** fix(agents): retry thinking-only errored turns. 关联 #91953。感谢 @ai-hpc 和 @lml2468。 - **PR #92891** fix(memory): clean stale reindex temp files. 关联 #92874。感谢 @ZengWen-DT 和 @Zeng-wen 和 @vincentkoc 和 @potterdigital。 - **PR #93005** Add OpenRouter Fusion guidance and prompt context. 关联 #92984。感谢 @sallyom。 - **PR #88792** fix(state): harden sqlite path caching. 感谢 @vincentkoc。 - **PR #93022** fix(gateway): repair usage cost aggregation across agents. 感谢 @luke-skywalker-open-claw 和 @stablegenius49。 - **PR #93020** fix(telegram): cool down transient sendChatAction failures. 关联 #56096。感谢 @Boulea7 和 @sumaiazaman 和 @Pick-cat 和 @cal-rufus。 - **PR #89160** fix(agents): detect truncated API responses to prevent silent session hang. 关联 #89051。感谢 @joelnishanth 和 @ArthurusDent。 - **PR #93009** fix(agents): make wrapToolWithBeforeToolCallHook idempotent to prevent double hook execution (fixes #92973). 感谢 @zenglingbiao 和 @dertbv。 - **PR #92991** fix(agents): tolerate missing attribution baseUrl. 关联 #92974。感谢 @samrusani 和 @Haderach-Ram。 - **PR #92913** fix(opencode-go): register model catalog to fix context window detection. 关联 #92912。感谢 @kumaxs。 - **PR #89129** refactor: route bundled plugin session callers through seam. 感谢 @jalehman。 - **PR #93084** fix(agents): preserve fresh usage after compaction. 关联 #50795。感谢 @Hollychou924 和 @leno23 和 @de1tydev 和 @425072024 和 @vincentkoc 和 @wuwahe3。 - **PR #92869** fix #90333: [Bug]: Discord image build aborts at step 66 — openclaw-build-messaging-plugins.py exits 1. 感谢 @zhangguiping-xydt 和 @vincentkoc 和 @chriskosys。 - **PR #93011** fix(gateway): accept file-only input on /v1/responses (parity with image-only). 感谢 @yetval 和 @vincentkoc。 - **PR #92915** Convert QA scenarios to YAML files. 感谢 @RomneyDa。 - **PR #91767** Fix one-shot Codex app-server teardown. 感谢 @aliahnaf2013-max。 - **PR #92625** feat(codex): add auto plugin approvals. 感谢 @kevinslin。 - **PR #91587** test(qa): add qa run --qa-profile and unified output summary/evidence. 感谢 @RomneyDa。 - **PR #93104** test(reply): seed channel fixtures for dedupe tests. 感谢 @RomneyDa。 - **PR #93107** test(reply): preserve telegram dedupe fallback. 感谢 @RomneyDa。 - **PR #92954** fix(memory): accept local default model path migration. 感谢 @mushuiyu886 和 @vincentkoc。 - **PR #90936** fix(agents): do not misclassify client-disconnect abort as run timeout. 关联 #90764。感谢 @openperf 和 @reginaldomarcilon。 - **PR #90812** fix(voice-call): preserve live Twilio streams in stale reaper. 关联 #79121。感谢 @Takhoffman 和 @sahibzada-allahyar 和 @donkeykong91。 - **PR #93094** fix(whatsapp): bound socket operations. 感谢 @mcaxtr。 - **PR #91629** fix(scripts): add database-first legacy store guard. 关联 #91628。感谢 @galiniliev。 - **PR #93124** fix(telegram): render progress drafts as rich previews. 感谢 @Marvinthebored。 - **PR #93109** test(qa): embed profile scorecard evidence. 感谢 @RomneyDa。 - **PR #87298** test: add temp directory helper guidance. 感谢 @hxy91819。 - **PR #92318** fix(cron): require explicit message target proof. 感谢 @hxy91819。 - **PR #93137** fix(imessage): honor disabled reply actions. 关联 #92142。感谢 @omarshahine 和 @dprev。 - **PR #93134** fix(feishu): pass card_msg_content_type to get full card content (fixes #78289). 感谢 @liuhao1024 和 @vincentkoc 和 @longdoubled7。 - **PR #93138** fix(agents): preserve literal current session resolution. 感谢 @liuhao1024 和 @vincentkoc。 - **PR #91225** fix #83830: [Bug]: Dreaming diary repeats "first day" narrative every sweep — same early memories dominate snippets. 感谢 @mushuiyu886 和 @YinLiuLiu66。 - **PR #93153** simplify QA evidence profile and mappings/coverage shape. 感谢 @RomneyDa。 - **PR #93164** fix(telegram): preserve rich markdown line breaks. 感谢 @vincentkoc。 - **PR #93119** fix: accept mixed source/dist bundled roots. 关联 #87730。感谢 @arkyu2077 和 @vincentkoc 和 @jasonftl。 - **PR #93130** fix(telegram): preserve sticker media paths. 关联 #83748。感谢 @goutamadwant 和 @vincentkoc 和 @aaajiao。 - **PR #93073** fix(agents): retry empty post-tool final turns. 感谢 @fuller-stack-dev。 - **PR #91784** fix(voice-call): require realtime websocket path boundary. 感谢 @jason-allen-oneal。 - **PR #89133** Restore GPT-5.3 Codex Spark OAuth routing. 感谢 @VACInc。 - **PR #91996** refactor: prune unused iOS code. 感谢 @zats。 - **PR #90231** fix #69443: [Bug] Subagent RPC callback to WeChat session key routed to main session instead. 感谢 @zhangguiping-xydt 和 @sliverp 和 @chen11221。 - **PR #89920** fix(matrix): replace recovered command progress lines. 感谢 @bdjben 和 @jesse-merhi。 - **PR #93159** fix(tui): keep parent stdin paused after exit. 感谢 @fuller-stack-dev。 - **PR #93201** fix(auto-reply): clear pending-final state before honoring post-send abort (#89115). 感谢 @amknight 和 @danashburn。 - **PR #93228** fix(agents): replace prose terminal classifiers. 感谢 @fuller-stack-dev。 - **PR #93231** fix(status): correct pinned model clear hint. 感谢 @hxy91819。 - **PR #92428** fix(qqbot): keep markdown table chunks valid. 感谢 @sliverp。 - **PR #93220** fix(status): avoid stale session context windows. 感谢 @hxy91819。 - **PR #91957** perf(sessions): share one enumeration across archive retention sweeps. 感谢 @amknight。 - **PR #93281** fix(telegram): recover pid-reused ingress claims. 感谢 @obviyus。 - **PR #93287** fix(codex): preserve terminal outcome ordering. - **PR #93182** fix(memory): clean rollback-journal reindex temp sidecar on NFS stores. 感谢 @Alix-007。 - **PR #93283** Persist ClawHub skill install provenance. 关联 #92077。感谢 @momothemage 和 @nmccready-tars。 - **PR #88872** fix: attribute spawned task runs to child agent. 关联 #66670。感谢 @Alix-007 和 @Neomail2。 - **PR #92837** fix(android): show live chat context usage. 感谢 @Tosko4。 - **PR #93325** fix(cli): harden official plugin recovery. 感谢 @vincentkoc。 - **PR #93286** feat(telegram): send rich messages as rich html. 感谢 @obviyus。 - **PR #92910** fix(memory-core): safely refresh qmd index during collection repair. - **PR #93329** fix(cli): allow zero Discord timeout duration. 关联 #93327。感谢 @rohitjavvadi。 - **PR #91625** fix(cron): add cron edit --clear-model to clear a job's model override. 感谢 @ly-wang19。 - **PR #91691** [AI] fix(memory): prevent empty-string expectedModel in resolveMemory…. 感谢 @xydt-tanshanshan。 - **PR #93006** fix(tui): keep stderr visible when local shell stdout fills the output cap. 感谢 @Alix-007。 - **PR #93001** fix(daemon): prefer stderr over stale stdout in gateway restart diagnostics. 感谢 @Alix-007。 - **PR #91117** refactor: remove dead code and improve string concatenation. 感谢 @Pommelle。 - **PR #90893** fix(models): mask paste-token input in CLI auth prompt. 感谢 @anurag-bg-neu。 - **PR #90571** fix(configure): mask gateway password input in CLI wizard prompt. 感谢 @anurag-bg-neu。 - **PR #91768** fix(ios): respect chat header safe area. 感谢 @zats。 - **PR #93245** fix(cron): resolve lastRunStatus in cron list/show human output. 感谢 @ly-wang19。 - **PR #78765** fix(tui): avoid inserting spaces into long CJK text. 感谢 @hpt。 - **PR #91776** fix(ios): refresh permission rows after grants. 感谢 @zats。 - **PR #92817** fix(cron): trust agent output when channel is unresolved without explicit delivery. 关联 #90664。感谢 @fsdwen 和 @dertbv。 - **PR #93297** fix(control-ui): respect agents.defaults.timeFormat for timestamps. 关联 #58147。感谢 @ZengWen-DT 和 @Zeng-wen 和 @TommoT2。 - **PR #93364** Fix Telegram rich progress command output. 感谢 @obviyus。 - **PR #91952** feat(status): surface plugin health. 感谢 @jalehman。 - **PR #75025** fix(heartbeat): refresh stale Current time line on every helper call (#44993). 感谢 @MoerAI 和 @mclee1975。 - **PR #90992** docs(windows): fix WSL gateway-autostart recipe for WSL ≥ 2.6.1.0 idle-termination. 感谢 @spencer2211。 - **PR #86544** fix(cli): show Gemini CLI runtime auth status. 关联 #79585。感谢 @giodl73-repo 和 @fabricefoy。 - **PR #88945** fix(plugins): serialize binding approval saves. 关联 #64065。感谢 @Alix-007 和 @lihaokun。 - **PR #90115** fix(gateway): pass managed inbound PDFs through chat.send. 关联 #90097。感谢 @harjothkhara 和 @joeykrug。 - **PR #74613** docs(cli): add agent selector to CLI backend quick start. 关联 #68940。感谢 @vyctorbrzezowski 和 @drmarcopapa。 - **PR #89121** refactor: add transcript reader seam. 感谢 @jalehman。 - **PR #84434** fix(cli): disable ScheduleWakeup/CronCreate in --print claude runs. 感谢 @SkyWolfDreamer。 - **PR #66985** fix(agents): resolve requestedNode to canonical ID before boundNode comparison. 关联 #87213。感谢 @mujiannan。 - **PR #91488** fix(reply): project preflight compaction gate by next-input size on fresh tokens. 感谢 @yetval。 - **PR #93353** fix(plugins): require owner for plugin writes. 感谢 @eleqtrizit。 - **PR #91499** fix(cron): preserve scheduled turn tool policy [AI]. 感谢 @mmaps。 - **PR #90412** fix(sessions): cache warm transcript reads to avoid per-turn re-parse. 关联 #83943。感谢 @Alix-007 和 @yyds-xxxx。 - **PR #93118** fix(gateway): guard fast-path startup migrations. 关联 #93032。感谢 @openperf 和 @Haderach-Ram。 - **PR #93355** fix(ci): verify performance workflow downloads. 感谢 @eleqtrizit。 - **PR #93358** fix(outbound): guard cross-context message mutations. 感谢 @eleqtrizit。 - **PR #93362** fix(flock): bind allow-always to wrapped command. 感谢 @eleqtrizit。 - **PR #92578** refactor(whatsapp): add inbound admission foundation. 感谢 @mcaxtr。 - **PR #89547** Control Telegram group history context. 感谢 @mmaps。 - **PR #89201** refactor: add transcript runtime identity contract. 感谢 @jalehman。 - **PR #93357** fix(plugins): enforce install policy in wrappers. 感谢 @eleqtrizit。 - **PR #93156** fix(doctor): import default-agent auth profiles into sqlite. 关联 #93145。感谢 @Pick-cat 和 @sallyom 和 @Tazio7。 - **PR #93179** Add slim evidence mode for QA profile evidence. 感谢 @RomneyDa。 - **PR #93349** fix(control-ui): keep workboard card titles visible in overflowing columns (fixes #91717). 感谢 @Pick-cat 和 @NicoBoom13。 - **PR #93324** fix(cli): accept --no-color after subcommands. 感谢 @ooiuuii。 - **PR #89621** Return Google Chat thread metadata from message sends. 感谢 @franco-viotti。 - **PR #82458** fix(infra): drop duplicated "restart" word in restart-sentinel summary. 感谢 @jameswniu。 - **PR #85471** Suppress cron announce control replies. 关联 #85421。感谢 @TurboTheTurtle 和 @leatherneck-33。 - **PR #85316** fix(auth): keep alias-compatible auth-profile overrides instead of clearing them. 感谢 @SkyWolfDreamer。 - **PR #89260** fix(doctor): separate platform-incompatible skills from missing requirements. 关联 #89232。感谢 @Alix-007 和 @CameronWeller。 - **PR #90846** fix(media): stop pruning media on write; let the configured timer do it. 感谢 @lundog。 - **PR #88062** fix(logging): avoid stalled warnings for active model calls. 感谢 @litang9。 - **PR #93308** fix(discord): reject malformed realtime consult calls. 感谢 @khoek。 - **PR #93334** fix(whatsapp): notify user when trailing media send fails instead of silent drop. 感谢 @rushindrasinha。 - **PR #92575** fix(sessions): preserve user behavior overrides across daily/idle rollover (#92562) [AI-assisted]. 感谢 @harjothkhara 和 @civiltox。 - **PR #89124** refactor: route auto-reply sessions through session seam. 感谢 @jalehman。 - **PR #93431** fix: stabilize transcript cache and CLI env isolation. 感谢 @shakkernerd。 - **PR #93412** fix(discord): suppress tool progress for message-tool replies. 感谢 @mgunnin 和 @vincentkoc。 - **PR #93409** fix(whatsapp): stop markdownToWhatsApp dropping code spans followed by a digit. 感谢 @rushindrasinha。 - **PR #93295** fix(memory): swap rollback-journal sidecar during atomic reindex. 感谢 @Alix-007。 - **PR #93076** fix(whatsapp): preserve auth on terminal disconnects. 感谢 @mcaxtr。 - **PR #93435** fix(agents): bound autoreview scope. 感谢 @vincentkoc。 - **PR #93279** fix(telegram): restore readable default text sends. 关联 #93263。感谢 @NianJiuZst 和 @SweetSophia。 - **PR #93429** fix(line): cap carousel column text at 60 chars when a title or image is set. 感谢 @harjothkhara 和 @vincentkoc。 - **PR #93428** fix(agents): resolve configured default model in runEmbeddedAgent (fixes #93419). 感谢 @zenglingbiao 和 @vincentkoc 和 @danielgerlag。 - **PR #93427** fix(tui): show activity indicator for system-injected runs. 关联 #51825。感谢 @ZengWen-DT 和 @vincentkoc 和 @Zeng-wen 和 @AlethiaQuizForge。 - **PR #90003** feat(policy): cover exec approvals artifact. 感谢 @giodl73-repo。 - **PR #93448** fix(guards): allow auth profile sqlite reader. 感谢 @amknight。 - **PR #93424** fix(mattermost): keep message tool replies in threads. 感谢 @amknight 和 @vincentkoc。 - **PR #93418** fix(telegram): forward Bot API 10.1 rich_message content to agent. 关联 #93410。感谢 @xzh-xydt 和 @vincentkoc 和 @0pen7ech。 - **PR #93175** test(qa): taxonomy profiles: includeAllCategories for release profile, update some coverage. 感谢 @RomneyDa。 - **PR #93456** fix(agents): handle string assistant message content. 感谢 @vincentkoc。 - **PR #93441** fix(outbound): ignore schema-padded poll metadata on send. 关联 #43015。感谢 @weichengdeng 和 @charzhou。 - **PR #93443** fix(gateway): block internal HTTP session overrides. 感谢 @RichardCao。 - **PR #93454** fix(sqlite): disable WAL on network filesystems. 感谢 @vincentkoc。 - **PR #90275** test: make install-safe-path symlink tests compatible with Windows. 感谢 @aniruddhaadak80。 - **PR #93464** fix(qa): suppress empty WhatsApp debug artifacts. 感谢 @vincentkoc。 - **PR #90861** fix(cli): preserve sessions_yield over MCP. 关联 #77426。感谢 @zhangguiping-xydt 和 @jarvisagimuspicard-hub。 - **PR #90946** fix(infra): preserve inherited gateway PID across reparent during cleanup. 感谢 @amittell。 - **PR #92220** fix(media): extract large managed inbound PDFs via media-understanding. 关联 #90096, #90097。感谢 @amknight 和 @joeykrug。 - **PR #91208** fix #91047: Plugin session-extension registry not pinned; sessions.pluginPatch fails after agent/subagent plugin-load churn. 感谢 @mushuiyu886 和 @teamadams。 - **PR #92111** fix(update): restart managed gateway when update handoff fails after stop. 关联 #92088。感谢 @yetval 和 @ofan。 - **PR #93238** fix(agents): honor disabled envelope timestamps at model boundary. 感谢 @osolmaz。 - **PR #93343** fix(codex): de-duplicate commentary notes across the raw response lane. 关联 #93296。感谢 @Marvinthebored 和 @Peetiegonzalez。 - **PR #93361** fix(openshell): pin mirror remote mutations. 感谢 @eleqtrizit。 - **PR #93354** fix(discord): block cross-provider guild admin actions. 感谢 @eleqtrizit。 - **PR #92178** fix(gateway): normalize malformed paired access lists. 关联 #90654。感谢 @wangmiao0668000666 和 @EmilioNicolas。 - **PR #85254** perf(plugins): thread prepared manifestPlugins through runtime model-id normalize chain. 感谢 @zeroaltitude。 - **PR #93489** Add ClawHub content rights docs to sidebar. 感谢 @Patrick-Erichsen。 - **PR #93466** [AI] fix(feishu): guard against missing inbound in channelRuntime fallback. 感谢 @xydt-tanshanshan。 - **PR #93460** fix(cli): honor --log-level in route-first commands. 关联 #93457。感谢 @ooiuuii。 - **PR #93495** fix(cron): clear delivery routing fields from cron edit. 感谢 @ly-wang19 和 @vincentkoc。 - **PR #93494** docs: point PR landing at maintainer workflow. 感谢 @fuller-stack-dev 和 @vincentkoc。 - **PR #93487** fix(ui): add agent selector to skills page. 关联 #78553。感谢 @goutamadwant 和 @vincentkoc 和 @xiaobu1112。 - **PR #93488** fix(discord): apply tool status emojis immediately to avoid override by thinking reactions. 关联 #92715。感谢 @lzyyzznl 和 @vincentkoc 和 @darealgege。 - **PR #93055** fix(ui): restore provider usage pill in desktop chat composer [AI]. 感谢 @harjothkhara。 - **PR #83156** fix(matrix): accept bracketed display-name mentions. 关联 #83142。感谢 @wdx-agent-io 和 @wdongxv。 - **PR #93333** fix(auto-reply): redact secrets in /debug show and /debug set output. 感谢 @Alix-007。 - **PR #88496** fix(auto-reply): redact secrets in config show output. 关联 #65623。感谢 @jason-allen-oneal 和 @coygeek。 - **PR #93105** fix(doctor): repair null agents.list[].workspace values. 关联 #77718。感谢 @xydigit-sj 和 @slideshow-dingo。 - **PR #73923** fix(ui): preserve gateway token during safe websocket url edits. 关联 #41545。感谢 @wsyjh8。 - **PR #88970** fix #85871: [Bug]: Heartbeat scheduler silently fails to fire on 5.20 and all 5.x versions (regression from 4.23). 感谢 @zhangguiping-xydt 和 @vincentkoc 和 @carlbjson。 - **PR #93511** fix(imessage): normalize leading NUL echo-cache prefixes. 感谢 @vincentkoc 和 @drvoss。 - **PR #92594** [Bug]: ollama-cloud runtime fails DNS lookup for ai.ollama.com, while ollama/<model>:cloud works. 关联 #92391。感谢 @zhangguiping-xydt 和 @vincentkoc 和 @kvzsolt。 - **PR #93512** build(docs): finish PowerShell-safe docs formatting. 关联 #44293。感谢 @vincentkoc 和 @yil337 和 @aniruddhaadak80。 - **PR #93513** fix(skills): refresh persisted snapshots after restart. 感谢 @vincentkoc 和 @fif911 和 @skadauke。 - **PR #93517** fix(skills): quote skill-creator template description. 感谢 @vincentkoc 和 @parubets。 - **PR #73976** fix(memory): use per-keyword FTS search in hybrid mode #39484. 感谢 @joshuakeithpa-sudo。 - **PR #93520** fix(workspace): store setup state outside workspace dot-dir. 感谢 @vincentkoc 和 @1qh。 - **PR #93521** fix(onboard): skip Homebrew prompt on unsupported platforms. 关联 #68893。感谢 @vincentkoc 和 @yurivict。 - **PR #93522** fix(feishu): send post mentions as native at elements. 感谢 @vincentkoc 和 @gavin-ali 和 @YizukiAme 和 @Panniantong。 - **PR #93496** fix(gateway): rotate already-stale generated transcript filename on /reset. 感谢 @harjothkhara 和 @vincentkoc。 - **PR #93471** fix(cron): preserve aborted isolated-run failure. 感谢 @BhargavSatya 和 @vincentkoc。 - **PR #93473** fix(memory): report skipped QMD embedding probe. 关联 #77645。感谢 @TurboTheTurtle 和 @vincentkoc 和 @aderius。 - **PR #93498** fix(ui): preserve CJK IME composition. 关联 #86035。感谢 @Zhaoqj2016 和 @vincentkoc。 - **PR #93088** fix(telegram): bind bot mentions to assistant identity. 感谢 @kesslerio 和 @vincentkoc。 - **PR #93499** fix(nodes): return screen snapshots as media. 关联 #90126。感谢 @zenglingbiao 和 @vincentkoc 和 @JeffSteinbok。 - **PR #93506** fix(skills): trust verified ClawHub source provenance. 感谢 @vincentkoc。 - **PR #93525** agents: notify chat exec empty-success completions. 感谢 @vincentkoc 和 @wenkang-xie。 - **PR #93446** feat: add Codex hosted web search. 感谢 @fuller-stack-dev。 - **PR #92883** fix(security): audit open dm tool exposure. 关联 #55612。感谢 @yu-xin-c 和 @vincentkoc 和 @cjg20ss。 - **PR #93476** fix(mattermost): preserve Codex progress preview. 关联 #88766。感谢 @goutamadwant 和 @vincentkoc 和 @KelTech-Services。 - **PR #93395** feat(cron): add compact list responses. 关联 #93366。感谢 @yu-xin-c 和 @vincentkoc 和 @centralpc。 - **PR #93527** fix(cron): preserve model overrides for text payloads. 感谢 @vincentkoc 和 @liaoandi。 - **PR #90487** fix: harden ChatGPT Responses missing content-type streams. 感谢 @anyech 和 @vincentkoc。 - **PR #93528** fix(gateway): tolerate transient pre-hello clean closes. 感谢 @vincentkoc 和 @ruanrrn。 - **PR #93529** fix(auto-reply): allow message tool for group attachments. 关联 #43146。感谢 @vincentkoc 和 @Robcis。 - **PR #93291** fix(reply): preserve pending thread evidence when reconciling partial send results. 感谢 @yetval 和 @vincentkoc。 - **PR #90572** fix(feishu): drop self-authored receive echoes. 感谢 @baskduf。 - **PR #93455** fix(cli): accept --log-level after subcommands. 感谢 @ooiuuii 和 @vincentkoc。 - **PR #93452** fix(bedrock): strip inference profile prefix from model ID in embedding adapter. 关联 #79212。感谢 @LiuwqGit 和 @vincentkoc 和 @aleck31。 - **PR #89799** fix(cli): skip compile cache on early Node 24.x to avoid startup deadlock. 关联 #86550。感谢 @zhangguiping-xydt 和 @vincentkoc 和 @renyuliang000。 - **PR #93469** fix(agents): drop partialJson streaming artifacts from session history repair. 感谢 @drvoss 和 @vincentkoc。 - **PR #93463** fix(codex): log app-server compaction completion. 关联 #83932。感谢 @goutamadwant 和 @vincentkoc 和 @aounakram。 - **PR #93562** fix(tui): refresh after external session reset. 关联 #38966。感谢 @vincentkoc 和 @wsyjh8 和 @yizhanzjz。 - **PR #93470** fix(plugins): load externally-installed channel plugins at gateway startup. 关联 #93219。感谢 @sunlit-deng 和 @vincentkoc 和 @cxdnicole。 - **PR #88796** fix(discord): resolve guildId from session channel for search actions. 关联 #88790。感谢 @SebTardif 和 @vincentkoc 和 @mugabuga。 - **PR #93194** fix(agents): preserve prompt-released session metadata. 关联 #93193。感谢 @snowzlm。 - **PR #89483** fix(gateway): project failed agent turns in chat history. 关联 #89197。感谢 @IWhatsskill 和 @vincentkoc 和 @yangiit。 - **PR #93434** fix: avoid parent group allowlist false positive. 关联 #92684。感谢 @kingrubic 和 @vincentkoc 和 @motteman。 - **PR #93449** fix(feishu): dedupe redelivered text by stable retry identity. 关联 #46778。感谢 @ZengWen-DT 和 @vincentkoc 和 @kingcuty。 - **PR #93407** AGT-80 AGT-81 Fix Discord ingress ack ordering. 感谢 @mgunnin 和 @vincentkoc。 - **PR #93439** fix(agents): honor embedded run default model. 关联 #93419。感谢 @harjothkhara 和 @vincentkoc 和 @danielgerlag。 - **PR #93565** fix(cli): summarize cleanup dry-run by label. 关联 #76826。感谢 @AgentArcLab 和 @vincentkoc 和 @renatomaluhy。 - **PR #93509** fix(skills): clear orphaned idempotency pointer on corrupt-metadata re-begin. 感谢 @Alix-007 和 @vincentkoc。 - **PR #93274** Clarify plugin channel config additional-property errors. 感谢 @zhangguiping-xydt 和 @vincentkoc。 - **PR #93555** fix(read): route text decoding through shared Windows codepage fallba…. 感谢 @zhanxingxin1998 和 @vincentkoc。 - **PR #93314** fix(skills): preserve ClawHub origin provenance on readback. 感谢 @Alix-007 和 @vincentkoc。 - **PR #93573** fix(acp): keep bridge sessions out of stale ACP classification [AI-assisted]. 关联 #38907。感谢 @eldar702 和 @vincentkoc 和 @ninaopenclaw。 - **PR #93398** fix(cron): emit isolated model usage diagnostics. 关联 #92338。感谢 @849261680 和 @vincentkoc 和 @niks999。 - **PR #93367** Fix SSH sandbox remote directory args. 关联 #93344。感谢 @dmorn 和 @vincentkoc。 - **PR #93574** fix(feishu): suppress log noise for bot_p2p_chat_entered_v1 event [AI-assisted]. 关联 #42351。感谢 @eldar702 和 @vincentkoc 和 @sunking0223。 - **PR #93269** Fix tokenjuice bash results without details. 感谢 @moeedahmed 和 @vincentkoc。 - **PR #93575** fix(telegram): hydrate group reply-chain media into model context [AI-assisted]. 感谢 @eldar702 和 @vincentkoc。 - **PR #93261** fix(plugins): resolve provider policy surface for plugin-owned CLI backends. 关联 #93259。感谢 @BitmapAsset 和 @vincentkoc。 - **PR #93303** fix(whatsapp): bound stalled read-receipt socket operations. 感谢 @Alix-007 和 @vincentkoc。 - **PR #93242** fix(mattermost): keep bare @mention with empty body instead of dropping it. 关联 #93205。感谢 @iloveleon19 和 @vincentkoc。 - **PR #93606** fix(ui): clear stale Talk error when session transitions to non-error state (fixes #88176). 感谢 @liuhao1024 和 @vincentkoc 和 @BrianClaw1955。 - **PR #93607** perf(tasks): memoize reconcileInspectableTasks for same-tick calls (fixes #73531). 感谢 @liuhao1024 和 @vincentkoc 和 @slideshow-dingo。 - **PR #93612** fix(gateway): compute sessions.usage aggregate totals from all sessions, not just the limited page (fixes #76496). 感谢 @liuhao1024 和 @vincentkoc 和 @bobsahur-robot。 - **PR #93615** fix(telegram): recover lone active spooled handler on timeout (#84158). 感谢 @0xghost42 和 @vincentkoc 和 @crash2kx。 - **PR #93616** Keep key-free web search providers opt-in. 感谢 @davemorin 和 @vincentkoc。 - **PR #93298** fix #93044: control-ui webchat double-renders agent replies when dmScope=main. 感谢 @zhangguiping-xydt 和 @vincentkoc 和 @cfmilam。 - **PR #93618** fix(feishu): filter temporary card-action-c-\* IDs from reply target to prevent Invalid open_message_id errors (fixes #56818). 感谢 @liuhao1024 和 @vincentkoc 和 @SwordImmortal。 - **PR #93387** feat(ios): add watch action surface. 感谢 @Solvely-Colin 和 @joshavant。 - **PR #93648** fix(doctor): archive superseded plugin install index conflicts. 关联 #90418。感谢 @vincentkoc 和 @ramitrkar-hash。 - **PR #93649** fix(qwen): place DashScope image prompts in user content. 关联 #92688。感谢 @vincentkoc 和 @Yachiyo404。 - **PR #93650** fix(update): avoid per-Node npm prefixes during self-update. 关联 #80387。感谢 @vincentkoc 和 @yaanfpv。 - **PR #93653** fix(skill-workshop): skip helper sessions during auto-capture. 感谢 @vincentkoc 和 @zhangguiping-xydt。 - **PR #93654** fix(codex): expose remote node exec as a Codex dynamic tool. 关联 #92141。感谢 @vincentkoc 和 @JPKay-AI。 - **PR #93662** fix(discord): protect mention aliases in code fences. 感谢 @vincentkoc 和 @rohitjavvadi。 - **PR #93663** fix(clawdock): open dashboard on published port without starting deps. 关联 #77344。感谢 @vincentkoc 和 @dhoman。 - **PR #93670** fix(browser): recover stale managed Chrome CDP listener. 关联 #41750。感谢 @vincentkoc 和 @rohitjavvadi 和 @kissman911。 - **PR #93672** fix(commands): preserve multiline slash skill args. 关联 #79155。感谢 @vincentkoc 和 @web3blind。 - **PR #93674** fix(browser): accept top-level act fields with nested requests. 关联 #38762。感谢 @vincentkoc 和 @angelusbr 和 @Lumos-789。 - **PR #93678** fix(plugins): allow Dreaming sidecar through restrictive memory allowlists. 关联 #92536。感谢 @vincentkoc 和 @pradeep7127 和 @resYuto。 - **PR #93306** fix(status): ignore stale context after model switch. 感谢 @hxy91819。 - **PR #93666** fix(control-ui): copy code blocks over plain HTTP via clipboard fallback. 关联 #93628。感谢 @Pick-cat 和 @pjq2926。 - **PR #93629** fix(reply): preserve unsent text-only finals after block pipeline streamed partial content (fixes #81078). 感谢 @liuhao1024 和 @Jackten。 - **PR #93690** fix(telegram): dispatch MEDIA directives as attachments. 关联 #77702。感谢 @vincentkoc 和 @butttersbot。 - **PR #93693** fix(gateway): ignore stale sudo scope for root user services. 关联 #81410。感谢 @vincentkoc 和 @Ericksza。 - **PR #93646** fix(agents): return string assistant content in getLastAssistantText. 感谢 @Alix-007 和 @vincentkoc。 - **PR #93687** fix(i18n): retain Codex error tails in logs. 感谢 @hxy91819。 - **PR #93630** fix(heartbeat): bootstrap plugin session targets. 感谢 @ZengWen-DT 和 @vincentkoc。 - **PR #93658** fix(wizard): preserve existing default model during setup auth choice [AI-assisted]. 关联 #64129。感谢 @ml12580 和 @vegapunk9527。 - **PR #93671** fix(respawn): rewrite pnpm versioned entry paths to stable wrapper (fixes #52313). 感谢 @liuhao1024 和 @vincentkoc 和 @RichardCao。 - **PR #93698** Fix Telegram rich progress detail updates. 感谢 @obviyus。 - **PR #93656** fix(gateway): send approval route notices with write scope. 关联 #93563。感谢 @mushuiyu886 和 @vincentkoc 和 @clawbot247-commits。 - **PR #93665** fix(gateway): surface codex app-server returned failures. 感谢 @litang9 和 @vincentkoc。 - **PR #93727** fix(context-engine): avoid turn-maintenance lane livelock. 关联 #77340。感谢 @vincentkoc 和 @baghvn 和 @Veda-openclaw。 - **PR #93681** fix(llm): handle string assistant content on the OpenAI-compatible completion path. 感谢 @Alix-007。 - **PR #93722** chore(release): update appcast for 2026.6.8. 感谢 @vincentkoc。 - **PR #93677** fix(google-meet): declare realtime provider secret inputs. 关联 #81891。感谢 @goutamadwant 和 @vincentkoc 和 @chachi-max。 - **PR #92947** fix(qqbot): deliver cron auto-TTS voice by trusting OpenClaw temp root. 关联 #92816。感谢 @ZengWen-DT 和 @Zeng-wen 和 @lewiswu1209。 - **PR #93679** fix(whatsapp): extract GIF metadata and distinguish gifPlayback in media placeholders (fixes #49099). 感谢 @liuhao1024 和 @vincentkoc 和 @bugkill3r。 - **PR #93688** fix(minimax): check base_resp envelope errors in TTS provider. 关联 #76904。感谢 @dwc1997 和 @najef1979-code。 - **PR #93714** fix: isolate async model resolution mock from sync mock in flaky test. 关联 #92117。感谢 @lsr911 和 @wangwllu。 - **PR #93705** test(macos): cover root command dispatch. 关联 #83879。感谢 @markoub 和 @vincentkoc 和 @davinci282828。 - **PR #93711** Keep command text in progress drafts. 感谢 @keshavbotagent 和 @vincentkoc。 - **PR #93712** fix: scope assistant avatar override to agent ID. 关联 #90890。感谢 @lsr911 和 @vincentkoc 和 @najef1979-code。 - **PR #93725** fix(usage): prune stale usage cache temp files. 关联 #78939。感谢 @markoub 和 @Tramsrepus。 - **PR #93726** fix(typing): start typing on reasoning deltas in thinking mode before visible text. 关联 #79681。感谢 @xialonglee 和 @novaflash82。 - **PR #93716** fix(discord): propagate timeout through channel capabilities diagnostics. 关联 #77040。感谢 @xialonglee 和 @vincentkoc 和 @unicebondoc。 - **PR #93729** fix(ollama): preserve configured API during discovery. 关联 #93710。感谢 @zhangguiping-xydt 和 @vincentkoc 和 @obnoxious2011-cmd。 - **PR #93719** fix: pin plugin workspace dir for sessions.list to avoid O(rows) memo busting. 关联 #90814。感谢 @lsr911 和 @vincentkoc 和 @k-l-lambda。 - **PR #93732** fix(agents): preserve re-sent user prompt during compaction transcript rotation. 感谢 @yetval。 - **PR #93738** fix: break plugin registry type import cycle. 感谢 @giodl73-repo。 - **PR #93740** fix(sessions): release retained locks after takeover. 感谢 @TurboTheTurtle。 - **PR #93745** fix(usage): reject invalid explicit dates in usage RPC date parsing. 感谢 @harjothkhara 和 @vincentkoc。 - **PR #93746** fix(ui): populate realtime talk provider and transport options from talk.catalog. 感谢 @shushushv 和 @vincentkoc。 - **PR #93751** fix(ios): fix quick setup sheet layout design. 感谢 @zats。 - **PR #93749** fix(compaction): ignore stale persisted totalTokens in preflight gate. 感谢 @yetval。 - **PR #93753** fix: correct tautological uppercase check in tool description summarizer. 感谢 @GautamKumarOffical。 - **PR #89123** refactor: route transcript writers through session seam. 感谢 @jalehman。 - **PR #93758** feat(memory): apply outputDimensionality truncation to local GGUF embeddings (fixes #58765). 感谢 @liuhao1024 和 @vincentkoc 和 @losz5000。 - **PR #93754** feat(inbound-meta): expose per-turn source modality. 关联 #50482。感谢 @liuhao1024 和 @vincentkoc 和 @JTOrca。 - **PR #93767** fix(reasoning-tags): strip MiniMax `mm:` namespaced reasoning tags. 感谢 @DrHack1 和 @vincentkoc。 - **PR #93772** fix(feishu): recover CJK filenames from JSON file_name field (fixes #81103). 感谢 @liuhao1024 和 @vincentkoc 和 @pjuneye。 - **PR #93773** fix(ui): scope Skill Workshop proposals to selected agent. 关联 #93760。感谢 @TurboTheTurtle 和 @vincentkoc 和 @hannesrudolph。 - **PR #88750** feat(context-engine): pass runtime settings into lifecycle. 感谢 @ragesaq 和 @jalehman。 - **PR #93763** fix(agents): use neutral billing copy for subscription auth. 关联 #80877。感谢 @eldar702 和 @vincentkoc 和 @22kyasue。 - **PR #93818** List all ClawHub docs in sidebar. 感谢 @Patrick-Erichsen。 - **PR #93779** fix(webchat): skip textarea resize during IME composition to eliminate typing lag. 关联 #90800。感谢 @joelnishanth 和 @vincentkoc 和 @w10497-create。 - **PR #93786** fix(plugins): treat refreshable catalogs as requiring runtime discovery (fixes #93775). 感谢 @liuhao1024 和 @St0rmz1。 - **PR #93791** fix(memory): await search-sync before returning results to prevent stale index (fixes #52115). 感谢 @liuhao1024 和 @vincentkoc 和 @FicheallADa。 - **PR #93780** fix(google): keep parallel Gemini tool responses in the turn after the model. 感谢 @yetval 和 @vincentkoc。 - **PR #93789** fix(agents): make lane suspension consistent across cooldown-precheck and embedded-runner paths. 关联 #93036。感谢 @joelnishanth 和 @vincentkoc 和 @kumaxs。 - **PR #93798** fix(status): show 0 (not ?) for fresh-session context tokens. 关联 #93771。感谢 @Alix-007 和 @vincentkoc 和 @anarchia-99。 - **PR #93810** fix(cron): preserve startup overflow catch-up deferrals in start() maintenance pass. 感谢 @yetval。 - **PR #93811** Strip UTF-8 BOM when reading SKILL.md in quick_validate. 感谢 @HrachShah。 - **PR #93803** fix(ui): preserve WebChat visible messages across session switches. 关联 #80855。感谢 @LiuwqGit 和 @vincentkoc 和 @viagarsuker。 - **PR #93792** fix(android): wait for node capability approval before onboarding. 感谢 @Solvely-Colin 和 @vincentkoc。 - **PR #93796** fix(feishu): paginate wiki node and space listing (#37626). 感谢 @ZengWen-DT 和 @vincentkoc 和 @ritou11。 - **PR #93797** fix(browser): use openTab return value to prevent wsUrl race in ensureTabAvailable (fixes #63343). 感谢 @liuhao1024 和 @vincentkoc 和 @OpenCodeEngineer。 - **PR #93806** fix(reasoning-tags): strip MiniMax mm: tags on silent-reply and streaming paths missed by #93767. 感谢 @Alix-007 和 @vincentkoc。 - **PR #93691** refactor: add gateway sessions.create lifecycle seam. 感谢 @jalehman。 - **PR #88748** fix(gemini): bridge OAuth profiles into CLI runtime. 关联 #88742。感谢 @jason-allen-oneal。 - **PR #93857** fix(deps): remediate Dependabot alerts. 感谢 @vincentkoc。 - **PR #93874** fix(slack): recognize MiniMax mm: namespaced reasoning tags in monitor preview. 感谢 @Alix-007。 - **PR #93832** feat(providers): add ClawRouter managed proxy. 感谢 @vincentkoc。 - **PR #93880** fix(macos): preserve approvals migration data. 感谢 @vincentkoc。 - **PR #93903** fix(cron): reject invalid absolute timestamps. 感谢 @Alix-007 和 @vincentkoc。 - **PR #93879** fix(update): use configured npm registry for update metadata. 关联 #79140。感谢 @vincentkoc 和 @sixerLiu。 - **PR #93924** revert(providers): remove ClawRouter provider. 感谢 @vincentkoc。 - **PR #93955** fix(telegram): surface rich-message disabled state. 感谢 @obviyus。 - **PR #93881** fix(agents): route BTW through canonical Codex runtime. 关联 #88902。感谢 @vincentkoc 和 @TurboTheTurtle 和 @khalil-omer。 - **PR #90192** fix(feishu): fetch quoted content before empty-message guard. 关联 #90177。感谢 @bladin 和 @sliverp 和 @lkxlaz。 - **PR #93237** Fix Mattermost open DM validation. 感谢 @amknight。 - **PR #93945** feat(diagnostics): add SIEM security events. 感谢 @vincentkoc。 - **PR #87487** fix(cli): clarify mcp list registry scope. 关联 #65209。感谢 @Alix-007 和 @slideshow-dingo。 - **PR #24661** feat(cohere): add provider plugin. 感谢 @vincentkoc。 - **PR #93532** Expose verified ClawHub source in skill verify output. 感谢 @momothemage。 - **PR #93538** feat(codex): support app-server network proxy profiles. 感谢 @vincentkoc。 - **PR #93938** fix(telegram): guard UTF-16 surrogate pairs in outbound chunkers. 关联 #93921。感谢 @Nas01010101 和 @vincentkoc。 - **PR #94104** feat(agents): trace compaction summarization model calls. 感谢 @amknight。 - **PR #94108** Fix package Telegram temp root. 感谢 @obviyus。 - **PR #94113** Fix Telegram package output mount. 感谢 @obviyus。 - **PR #89062** feat(docker): support offline setup reruns. 关联 #70443。感谢 @Alix-007 和 @safrano9999。 - **PR #93929** fix(secrets): explicitly pass BWS_SERVER_URL to resolver for self-hosted instances. 关联 #93851。感谢 @Pandah97 和 @vincentkoc 和 @AdoShan。 - **PR #90057** Polish Workboard operations view. 感谢 @fuller-stack-dev。 - **PR #89396** fix(doctor): drop inert legacy cron notify when cron.webhook is unset. 关联 #44460。感谢 @Alix-007。 - **PR #94138** fix(session): prevent stale finalizer from recreating deleted session rows. 关联 #40840。感谢 @xialonglee 和 @vincentkoc 和 @AL-knows。 - **PR #93739** refactor: add session patch projection seam. 感谢 @jalehman。 - **PR #94178** fix(workspace): skip optional bootstrap files when workspace setup is already completed. 关联 #83593。感谢 @dwc1997 和 @jsompis。 - **PR #93363** fix(feishu): enforce account tool family gates. 感谢 @eleqtrizit。 - **PR #93813** fix(codex): keep message registered for internal turns. 关联 #93750。感谢 @jalehman 和 @hannesrudolph。 - **PR #93659** refactor: add session reset delete lifecycle seam. 感谢 @jalehman。 - **PR #93852** ci(release): harden release controls. 感谢 @vincentkoc。 - **PR #94203** feat(codex): support remote app-server plugins. 感谢 @kevinslin。 - **PR #94263** chore: migrate claw-score skill. 感谢 @RomneyDa 和 @kevinslin。 - **PR #93695** refactor: add compact trim lifecycle seam. 感谢 @jalehman。 - **PR #93114** test: fold lifecycle and package proof into QA Lab. 感谢 @RomneyDa。 - **PR #93181** test: fold otel smoke into qa e2e. 感谢 @RomneyDa。 - **PR #93178** test: fold gateway smoke into qa e2e. 感谢 @RomneyDa。 - **PR #94276** qa-lab: support script-backed evidence scenarios. 感谢 @Solvely-Colin 和 @RomneyDa。 - **PR #94282** Support owner-qualified ClawHub skill installs. 感谢 @Patrick-Erichsen。 - **PR #93704** refactor: add session cleanup lifecycle seam. 感谢 @jalehman。 - **PR #94296** fix: require all taxonomy coverage ids for a feature - AND not OR. 感谢 @RomneyDa。 - **PR #92016** fix(plugins): compose live hook registry view for tool-call hooks. 关联 #91918。感谢 @amknight 和 @vokaplok。 - **PR #89596** fix(policy): recognize declared tool allowlists. 感谢 @giodl73-repo。 - **PR #93713** fix: route deleted-agent session purge through lifecycle seam. 感谢 @jalehman。 - **PR #84172** fix(exec): rebuild command authorization on the Tree-sitter command planner. 感谢 @jesse-merhi。 - **PR #94332** docs: add ClawHub namespace claims to sidebar. 感谢 @Patrick-Erichsen。 - **PR #86360** fix(codex): honor bound agent exec host policy. 感谢 @jesse-merhi。 - **PR #73162** fix(slack): remove socket reconnect attempt cap so gateway stays connected indefinitely. 关联 #72808。感谢 @suboss87 和 @tleyden。 - **PR #94156** fix: expose OpenAI image quality and moderation CLI options. 感谢 @lastguru-net 和 @fuller-stack-dev。 - **PR #94350** feat: externalize GMI provider plugin. 感谢 @Patrick-Erichsen 和 @vincentkoc。 - **PR #94543** fix(gateway): bound config.get middleware results. 关联 #94265。感谢 @vincentkoc 和 @v-s-gusev。 - **PR #91409** fix(update): run plugin convergence after RPC git updates. 感谢 @masatohoshino。 - **PR #94556** chore(extensions): bump tokenjuice to 0.8.1. 感谢 @vincentkoc。 - **PR #94580** fix(ci): stabilize update run gates. - **PR #94394** fix(infra): probe 127.0.0.1 in ensurePortAvailable to detect IPv4-only occupants. 关联 #94379。感谢 @Pandah97 和 @wangwllu。 - **PR #94421** fix(agents): preserve active compaction retries. 关联 #94391。感谢 @dexiosmb。 - **PR #94428** fix(feishu): preserve replies before error finals. 关联 #94360。感谢 @xunx33。 - **PR #93735** refactor: add restart recovery lifecycle seam. 感谢 @jalehman。 - **PR #94591** docs(release): backfill complete contribution records. 感谢 @vincentkoc。 - **PR #94588** fix(cron): retry isolated setup timeouts. 感谢 @aaroneden。 - **PR #94082** fix(cron): prevent lane timeout during long tool execution. 关联 #94033。感谢 @ajwan8998 和 @JingWang-Star996。 - **PR #94551** feat(firecrawl): add keyless scrape support. 感谢 @vincentkoc 和 @developersdigest。 - **PR #94619** test(ci): stabilize timeout-sensitive shards. 感谢 @vincentkoc。 - **PR #94048** fix(telegram): set richMessages default to false explicitly in schema. 关联 #93770, #93794。感谢 @Monkey-wusky 和 @obviyus 和 @Nardoa375 和 @laurenceputra。 - **PR #94118** [codex] Fix Telegram rich local Markdown link hrefs. 关联 #94117。感谢 @dankarization 和 @obviyus。 - **PR #94646** refactor(sqlite): land database-first memory and proxy alignment. 感谢 @vincentkoc。 - **PR #94658** test(sqlite): use shared temp directory helper. 感谢 @vincentkoc。 - **PR #92135** fix(openai-embedding): preserve openai/ prefix for non-native base URLs. 关联 #92124。感谢 @xialonglee 和 @Kambrian。 - **PR #93737** refactor: add session maintenance transaction seam. 感谢 @jalehman。 ### 发布验证 - npm 包:https://www.npmjs.com/package/openclaw/v/2026.6.9-beta.1 - 注册表压缩包:https://registry.npmjs.org/openclaw/-/openclaw-2026.6.9-beta.1.tgz - 完整性校验:`sha512-V50OMp+liBbw/soP1SxhZ04yXUGy3VsfVccI5I1oQCfdBGHNoTLtbvuQ44oaOY/C/CdTcmFvMDt2IzWmB9jQRw==` - 发布 SHA:`687234af56e1f7c2b4037faa9ab2041b159dccf1` - 完整发布 CI 报告:https://github.com/openclaw/releases/blob/main/evidence/2026.6.9-beta.1/release-evidence.md - 发布发布:https://github.com/openclaw/openclaw/actions/runs/27805906361 - npm 预检:https://github.com/openclaw/openclaw/actions/runs/27799737148 - 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/27801668529 - 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/27806014895 - 插件 ClawHub 发布恢复:https://github.com/openclaw/openclaw/actions/runs/27806975206, https://github.com/openclaw/openclaw/actions/runs/27807226080, https://github.com/openclaw/openclaw/actions/runs/27807501599, https://github.com/openclaw/openclaw/actions/runs/27807783949 - 插件 ClawHub 引导:不需要 - OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/27806117514 - npm Telegram beta E2E:未提供