### 新增
- 通过 `pi.addWidget()` 中的 `widgetPlacement` 为扩展组件添加了组件放置选项 ([#850](https://github.com/badlogic/pi-mono/pull/850) by [@marckrenn](https://github.com/marckrenn))
- 为 ECS/Kubernetes 环境添加了 AWS 凭据检测:`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`、`AWS_CONTAINER_CREDENTIALS_FULL_URI`、`AWS_WEB_IDENTITY_TOKEN_FILE` ([#848](https://github.com/badlogic/pi-mono/issues/848))
- 在 `/settings` 中添加了“静默启动”设置 ([#847](https://github.com/badlogic/pi-mono/pull/847) by [@unexge](https://github.com/unexge))
### 更改
- HTML 导出现在包含 JSONL 下载按钮、点击跳转至最后一条消息,并修复了缺失的标签 ([#853](https://github.com/badlogic/pi-mono/pull/853) by [@mitsuhiko](https://github.com/mitsuhiko))
- 改进了 OAuth 身份验证失败的错误提示(如凭据过期、离线),替代了原本通用的“未找到 API 密钥” ([#849](https://github.com/badlogic/pi-mono/pull/849) by [@zedrdave](https://github.com/zedrdave))
### 修复
- 修复了 `/model` 选择器的范围切换功能,以便在已保存范围模型时可以在全部模型和范围模型之间切换 ([#844](https://github.com/badlogic/pi-mono/issues/844))
- 修复了重播中止的对话轮次时 OpenAI Responses 返回的 400 错误“reasoning without following item” ([#838](https://github.com/badlogic/pi-mono/pull/838))
- 修复了取消恢复会话选择时 pi 以退出码 0 退出的问题
### 移除
- 从 `models.json` 模式中移除了 `strictResponsesPairing` 兼容选项(已不再需要)
### Added
- Added widget placement option for extension widgets via `widgetPlacement` in `pi.addWidget()` ([#850](https://github.com/badlogic/pi-mono/pull/850) by [@marckrenn](https://github.com/marckrenn))
- Added AWS credential detection for ECS/Kubernetes environments: `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`, `AWS_CONTAINER_CREDENTIALS_FULL_URI`, `AWS_WEB_IDENTITY_TOKEN_FILE` ([#848](https://github.com/badlogic/pi-mono/issues/848))
- Add "quiet startup" setting to `/settings` ([#847](https://github.com/badlogic/pi-mono/pull/847) by [@unexge](https://github.com/unexge))
### Changed
- HTML export now includes JSONL download button, jump-to-last-message on click, and fixed missing labels ([#853](https://github.com/badlogic/pi-mono/pull/853) by [@mitsuhiko](https://github.com/mitsuhiko))
- Improved error message for OAuth authentication failures (expired credentials, offline) instead of generic 'No API key found' ([#849](https://github.com/badlogic/pi-mono/pull/849) by [@zedrdave](https://github.com/zedrdave))
### Fixed
- Fixed `/model` selector scope toggle so you can switch between all and scoped models when scoped models are saved ([#844](https://github.com/badlogic/pi-mono/issues/844))
- Fixed OpenAI Responses 400 error "reasoning without following item" when replaying aborted turns ([#838](https://github.com/badlogic/pi-mono/pull/838))
- Fixed pi exiting with code 0 when cancelling resume session selection
### Removed
- Removed `strictResponsesPairing` compat option from models.json schema (no longer needed)