## What's Changed

### 新增

- 为插件市场新增分类筛选并优化界面组件。（[#6762](https://github.com/AstrBotDevs/AstrBot/pull/6762)）
- 新增 Kimi Coding Plan Provider（兼容 Anthropic API）。（[#6559](https://github.com/AstrBotDevs/AstrBot/pull/6559)）
- 统一并重命名 `skill.md` 文件为 `SKILL.md`。（[#6757](https://github.com/AstrBotDevs/AstrBot/pull/6757)）
- 新增 Ollama 关闭思考模式开关。（[#5941](https://github.com/AstrBotDevs/AstrBot/pull/5941)）
- 新增小米 MiMo TTS 与 STT Provider。（[#6643](https://github.com/AstrBotDevs/AstrBot/pull/6643)）
- 新增多模态上下文 token 计数能力（图片、音频与思维链）。（[#6596](https://github.com/AstrBotDevs/AstrBot/pull/6596)）
- 新增按元信息名称安装插件并校验可导入标识符。（[#6530](https://github.com/AstrBotDevs/AstrBot/pull/6530)）

### 优化

- 降低 `kook_type` 中 `StrEnum` 到 `(str, Enum)` 以兼容旧版本 Python。（[#6512](https://github.com/AstrBotDevs/AstrBot/pull/6512)）
- 优化 WebChat 消息处理：提前保存消息并增强流式补全。（[#6698](https://github.com/AstrBotDevs/AstrBot/pull/6698)）
- 优化 Dashboard 中移动端 persona 选择器布局。（[#5907](https://github.com/AstrBotDevs/AstrBot/pull/5907)）
- 优化 Dashboard，减少 MDI icon font 范围并自托管 Google Fonts。（[#6532](https://github.com/AstrBotDevs/AstrBot/pull/6532)）
- 使用 Pydantic 重构 KOOK 适配器数据模型以提升消息结构解析与校验性能。（[#5719](https://github.com/AstrBotDevs/AstrBot/pull/5719)）
- 调整文档术语与表达（“消息平台”改为“机器人”等）并优化更新说明文字。（[#6568](https://github.com/AstrBotDevs/AstrBot/pull/6568)）

### 修复

- 修复 web search tools 中被禁用系统函数时未正确生效的问题。（[#6584](https://github.com/AstrBotDevs/AstrBot/pull/6584)）
- 跳过空的知识库嵌入批次，避免不必要计算。（[#6106](https://github.com/AstrBotDevs/AstrBot/pull/6106)）
- 修复 Feishu opus 文件在 Whisper API STT 场景下未正确转换的问题。（[#6078](https://github.com/AstrBotDevs/AstrBot/pull/6078)）
- 修复 Lark 在工具调用中断时卡片创建与重续流程。（[#6743](https://github.com/AstrBotDevs/AstrBot/pull/6743)）
- 修复 Windows 环境下 skill 文件编码兼容问题。（[#6058](https://github.com/AstrBotDevs/AstrBot/pull/6058)）
- 修复 WebChat 单独渲染的 HTML 回复被错误显示的问题。（[#6074](https://github.com/AstrBotDevs/AstrBot/pull/6074)）
- 修复 Gemini 数组 schema 缺少 `items` 字段的问题。（[#6051](https://github.com/AstrBotDevs/AstrBot/pull/6051)）
- 修复 skills 使用硬编码工作区路径的问题，改为使用缓存中的真实沙箱路径。（[#6331](https://github.com/AstrBotDevs/AstrBot/pull/6331)）
- 修复 subagent 工具调用超时传递，修正 `tool_call_timeout` 并将默认超时从 60 秒提升到 120 秒。（[#6713](https://github.com/AstrBotDevs/AstrBot/pull/6713)）
- 修复 `skills-like` 下缺失 `extra_user_content_parts` 时未注入图片说明的问题。（[#6710](https://github.com/AstrBotDevs/AstrBot/pull/6710)）
- 修复 `/stop` 后继续处理后续 follow-up 消息的问题。（[#6704](https://github.com/AstrBotDevs/AstrBot/pull/6704)）
- 修复核心流程在 stop 时中断子代理工具等待的行为。（[#5850](https://github.com/AstrBotDevs/AstrBot/pull/5850)）
- 修复 Windows 平台 stdio MCP 服务 `PATHEXT` 丢失的问题。（[#5822](https://github.com/AstrBotDevs/AstrBot/pull/5822)）
- 修复 Telegram 轮询重启机制，失败时自动恢复循环。（[#6648](https://github.com/AstrBotDevs/AstrBot/pull/6648)）
- 修复 `/stop` 后 follow-up 状态未清理导致后续触发继续运行的问题。（[#6656](https://github.com/AstrBotDevs/AstrBot/pull/6656)）
- 修复 OpenAI 配置日志，改进代理与 API Base 的可读性与排障能力。（[#6669](https://github.com/AstrBotDevs/AstrBot/pull/6669)）
- 修复长工具调用中截断逻辑误删唯一 user 消息的问题。（[#6198](https://github.com/AstrBotDevs/AstrBot/pull/6198)）
- 修复截断器移除唯一用户消息导致部分 provider 返回 `400` 的问题。（[#6581](https://github.com/AstrBotDevs/AstrBot/pull/6581)）
- 修复 ID 白名单为空时提示文案不清晰的问题。（[#6611](https://github.com/AstrBotDevs/AstrBot/pull/6611)）
- 修复 MoonshotAI 官方 API 下 OpenAI token usage 缺失问题。（[#6618](https://github.com/AstrBotDevs/AstrBot/pull/6618)）
- 提升 Wecom AI Bot 流式可读性与速度（限流处理），改善卡顿与显示体验。（[#6610](https://github.com/AstrBotDevs/AstrBot/pull/6610)）
- 修复 Wecom 长连接回复消失的问题。（[#6606](https://github.com/AstrBotDevs/AstrBot/pull/6606)）
- 修复 Windows 打包运行时 pip/native 构建环境配置问题。（[#6575](https://github.com/AstrBotDevs/AstrBot/pull/6575)）
- 修复仅在显式配置时传递 embedding `dimensions`，避免无效参数干扰。（[#6432](https://github.com/AstrBotDevs/AstrBot/pull/6432)）
- 修复 `register_agent` 装饰器导致的 `NameError`。（[#5765](https://github.com/AstrBotDevs/AstrBot/pull/5765)）
- 修复默认 persona 场景下的 subagent 查询失败问题。（[#5672](https://github.com/AstrBotDevs/AstrBot/pull/5672)）
- 修复 Windows 下 skill 读取失败问题。（[#6490](https://github.com/AstrBotDevs/AstrBot/pull/6490)）
- 修复 `SKILL.md` 多行 frontmatter 解析问题。（[#6460](https://github.com/AstrBotDevs/AstrBot/pull/6460)）
- 修复 SQLite `database is locked` 问题，新增繁忙超时处理。（[#6474](https://github.com/AstrBotDevs/AstrBot/pull/6474)）
- 修复工作流限制仅允许上游仓库触发的报错场景。（[#6531](https://github.com/AstrBotDevs/AstrBot/pull/6531)）

---

## What's Changed (EN)

### New Features

- Added category filtering for market plugins and enhanced UI components.
- Normalized and renamed `skill.md` files to `SKILL.md`.
- Added a toggle to disable thinking mode in Ollama.
- Added Xiaomi MiMo TTS & STT providers.
- Added Kimi Coding Plan provider with Anthropic API compatibility.
- Added context token counting support for multimodal content (images, audio, and chain-of-thought).
- Added plugin installation by metadata name and validated importable identifiers.

### Improvements

- Refactored `StrEnum` to `(str, Enum)` in `kook_type` for backward compatibility.
- Enhanced WebChat message handling with proactive saving and streaming completion.
- Simplified dashboard persona selector layout for mobile screens.
- Subset MDI icon font and self-hosted Google Fonts in dashboard.
- Implemented Pydantic data models for KOOK adapter for better retrieval and schema validation.
- Updated documentation wording for incomplete updates terminology.

### Bug Fixes

- Fixed disabled system functions in web search tools.
- Skipped empty knowledge-base embedding batches.
- Converted Feishu opus files for Whisper API STT.
- Deferred Lark card creation and renewal on tool call break.
- Added fallback for Windows skill file encodings.
- Rendered standalone HTML replies as code in WebChat.
- Ensured Gemini array schemas always include `items`.
- Fixed skills path resolution to use cached sandbox path instead of hardcoded workspace root.
- Passed `tool_call_timeout` to subagent handsoff/cron/background tasks and increased default timeout to 120 seconds.
- Fixed `skills-like` re-query missing `extra_user_content_parts` causing image caption not injected.
- Rejected follow-up messages after `/stop` request.
- Interrupted subagent tool waits on stop.
- Preserved `PATHEXT` for stdio MCP servers on Windows.
- Added automatic restart for Telegram polling loop on failure.
- Fixed follow-up persistence logic after `/stop` trigger.
- Improved OpenAI proxy/API base logging.
- Prevented truncation logic from removing the only user message in long tool-calling conversations.
- Fixed truncation removing the only user message and returning `400` for some providers.
- Updated ID whitelist empty-configuration hint wording.
- Fixed token usage with MoonshotAI official API.
- Improved Wecom AI Bot streaming readability and speed via throttling.
- Prevented Wecom AI Bot long connection replies from disappearing.
- Set packaged Windows runtime build env for pip native builds.
- Only pass embedding dimensions when explicitly configured.
- Fixed `register_agent` decorator `NameError`.
- Fixed subagent lookup failure when using default persona.
- Fixed reading skills on Windows.
- Fixed multiline frontmatter parsing in `SKILL.md`.
- Fixed SQLite `database is locked` with busy timeout.
- Restricted workflows to upstream repo.
