### 变更内容
- **CLI**:新增 `completion` 命令(支持 Zsh/Bash/PowerShell/Fish),并在安装后/初始化流程中自动配置。
- **CLI**:新增按智能体查询的 `models status` 命令(支持 `--agent` 筛选器)。(#4780) 感谢 @jlowin。
- **智能体**:在合成模型目录中新增 Kimi K2.5 模型。(#4407) 感谢 @manikv12。
- **认证**:将 Kimi Coding 切换为内置认证提供方;统一 OAuth 用户资料中的邮箱格式。
- **认证**:新增 MiniMax OAuth 插件及初始化选项。(#4521) 感谢 @Maosghoul。
- **智能体**:更新 pi SDK/API 使用方式及相关依赖。
- **Web 界面**:在聊天命令执行后刷新会话列表,并优化会话显示名称。
- **构建**:将 TypeScript 构建迁移至 `tsdown` + `tsgo`(构建更快,CI 类型检查更完善),更新 tsconfig 目标配置,并清理代码检查规则。
- **构建**:统一 npm tar 覆盖配置与二进制元数据,确保 `openclaw` CLI 入口点在 npm 发布时得以保留。
- **文档**:新增 pi/pi-dev 相关文档,更新 OpenClaw 品牌信息及安装链接。
### 修复内容
- **安全**:限制媒体解析器中的本地路径提取,防止本地文件包含漏洞。(#4880)
- **网关**:防止令牌默认值被误设为字面值 "undefined"。(#4873) 感谢 @Hisleren。
- **控制界面**:修复 npm 全局安装时的资源解析问题。(#4909) 感谢 @YuriNachos。
- **macOS**:避免网关发现过程中因标准错误输出管道积压导致的问题。(#3304) 感谢 @abhijeet117。
- **Telegram**:统一非规范化 ID 的账户令牌查找逻辑。(#5055) 感谢 @jasonsschin。
- **Telegram**:保留投递线程回退机制,并修复投递上下文中的 threadId 处理。
- **Telegram**:修复重叠样式/链接的 HTML 嵌套问题。(#4578) 感谢 @ThanhNguyxn。
- **Telegram**:在互动操作中接受数字类型的 messageId/chatId。(#4533) 感谢 @Ayush10。
- **Telegram**:通过 undici fetch 支持按账户配置的代理分发器。(#4456) 感谢 @spiceoogway。
- **Telegram**:将技能命令限定于每个机器人绑定的智能体。(#4360) 感谢 @robhparker。
- **BlueBubbles**:按 messageId 去重,确保图文消息中的附件不被丢失。(#4984)
- **路由**:在子智能体通告投递中,优先使用 requesterOrigin 而非过期的会话记录。(#4957)
- **扩展**:恢复嵌入式扩展发现的类型定义。
- **CLI**:修复 `tui:dev` 端口解析问题。
- **LINE**:修复状态命令的类型错误。(#4651)
- **OAuth**:当刷新令牌仍有效时,跳过过期令牌的警告提示。(#4593)
- **构建**:在 Dockerfile 中跳过冗余的 UI 安装步骤。(#4584) 感谢 @obviyus。
### Changes
- CLI: add `completion` command (Zsh/Bash/PowerShell/Fish) and auto-setup during postinstall/onboarding.
- CLI: add per-agent `models status` (`--agent` filter). (#4780) Thanks @jlowin.
- Agents: add Kimi K2.5 to the synthetic model catalog. (#4407) Thanks @manikv12.
- Auth: switch Kimi Coding to built-in provider; normalize OAuth profile email.
- Auth: add MiniMax OAuth plugin + onboarding option. (#4521) Thanks @Maosghoul.
- Agents: update pi SDK/API usage and dependencies.
- Web UI: refresh sessions after chat commands and improve session display names.
- Build: move TypeScript builds to `tsdown` + `tsgo` (faster builds, CI typechecks), update tsconfig target, and clean up lint rules.
- Build: align npm tar override and bin metadata so the `openclaw` CLI entrypoint is preserved in npm publishes.
- Docs: add pi/pi-dev docs and update OpenClaw branding + install links.
### Fixes
- Security: restrict local path extraction in media parser to prevent LFI. (#4880)
- Gateway: prevent token defaults from becoming the literal "undefined". (#4873) Thanks @Hisleren.
- Control UI: fix assets resolution for npm global installs. (#4909) Thanks @YuriNachos.
- macOS: avoid stderr pipe backpressure in gateway discovery. (#3304) Thanks @abhijeet117.
- Telegram: normalize account token lookup for non-normalized IDs. (#5055) Thanks @jasonsschin.
- Telegram: preserve delivery thread fallback and fix threadId handling in delivery context.
- Telegram: fix HTML nesting for overlapping styles/links. (#4578) Thanks @ThanhNguyxn.
- Telegram: accept numeric messageId/chatId in react actions. (#4533) Thanks @Ayush10.
- Telegram: honor per-account proxy dispatcher via undici fetch. (#4456) Thanks @spiceoogway.
- Telegram: scope skill commands to bound agent per bot. (#4360) Thanks @robhparker.
- BlueBubbles: debounce by messageId to preserve attachments in text+image messages. (#4984)
- Routing: prefer requesterOrigin over stale session entries for sub-agent announce delivery. (#4957)
- Extensions: restore embedded extension discovery typings.
- CLI: fix `tui:dev` port resolution.
- LINE: fix status command TypeError. (#4651)
- OAuth: skip expired-token warnings when refresh tokens are still valid. (#4593)
- Build: skip redundant UI install step in Dockerfile. (#4584) Thanks @obviyus.