### 新增
- 新增 `quietStartup` 设置,用于屏蔽启动输出(版本头、加载的上下文信息、模型作用域行)。Changelog 通知仍会显示。([#777](https://github.com/badlogic/pi-mono/pull/777) by [@ribelo](https://github.com/ribelo))
- 新增 `editorPaddingX` 设置,用于输入编辑器的水平内边距(0-3,默认值:0)
- 新增 `shellCommandPrefix` 设置,用于在每个 bash 执行前添加前缀,以在非交互式 shell 中启用别名扩展(例如 `"shellCommandPrefix": "shopt -s expand_aliases"`)([#790](https://github.com/badlogic/pi-mono/pull/790) by [@richardgill](https://github.com/richardgill))
- 为提示词模板新增类 Bash 的参数切片功能 ([#770](https://github.com/badlogic/pi-mono/pull/770) by [@airtonix](https://github.com/airtonix))
- 扩展命令可通过 `pi.registerCommand()` 中的 `getArgumentCompletions` 提供参数自动补全 ([#775](https://github.com/badlogic/pi-mono/pull/775) by [@ribelo](https://github.com/ribelo))
- Bash 工具现在在设置超时时会在 UI 中显示超时值 ([#780](https://github.com/badlogic/pi-mono/pull/780) by [@dannote](https://github.com/dannote))
- 导出 `getShellConfig`,供扩展检测用户的 shell 环境 ([#766](https://github.com/badlogic/pi-mono/pull/766) by [@dannote](https://github.com/dannote))
- 在主题架构中新增 `thinkingText` 和 `selectedBg` ([#763](https://github.com/badlogic/pi-mono/pull/763) by [@scutifer](https://github.com/scutifer))
- `navigateTree()` 现在支持 `replaceInstructions` 选项以完全替换默认的摘要提示词,以及 `label` 选项以将标签附加到分支摘要条目 ([#787](https://github.com/badlogic/pi-mono/pull/787) by [@mitsuhiko](https://github.com/mitsuhiko))
### 修复
- 修复了在摘要失败(例如超出配额)时自动压缩导致的崩溃。现在会显示错误信息而非崩溃 ([#792](https://github.com/badlogic/pi-mono/issues/792))
- 修复了 `--session <UUID>` 参数:若本地未找到则全局跨项目搜索,并支持从其他项目派生会话 ([#785](https://github.com/badlogic/pi-mono/pull/785) by [@ribelo](https://github.com/ribelo))
- 修复了 Linux 上独立二进制文件的 WASM 加载问题 ([#784](https://github.com/badlogic/pi-mono/issues/784))
- 修复了工具参数中的字符串数字在验证时未被转换为数字的问题 ([#786](https://github.com/badlogic/pi-mono/pull/786) by [@dannote](https://github.com/dannote))
- 修复了 `--no-extensions` 标志无法阻止扩展发现的问题 ([#776](https://github.com/badlogic/pi-mono/issues/776))
- 修复了在 `session_start` 期间调用 `pi.sendMessage({ display: true })` 时扩展消息在启动时渲染两次的问题 ([#765](https://github.com/badlogic/pi-mono/pull/765) by [@dannote](https://github.com/dannote))
- 修复了 `PI_CODING_AGENT_DIR` 环境变量未将波浪号 (`~`) 展开为家目录的问题 ([#778](https://github.com/badlogic/pi-mono/pull/778) by [@aliou](https://github.com/aliou))
- 修复了会话选择器提示文本溢出问题 ([#764](https://github.com/badlogic/pi-mono/issues/764))
- 修复了 Kitty 键盘协议中的移位符号键(例如 `@`、`?`)在编辑器中无法使用的问题 ([#779](https://github.com/badlogic/pi-mono/pull/779) by [@iamd3vil](https://github.com/iamd3vil))
- 修复了 Bedrock 工具调用 ID 因包含非法字符而导致 API 错误的问题 ([#781](https://github.com/badlogic/pi-mono/pull/781) by [@pjtf93](https://github.com/pjtf93))
### 变更
- 默认禁用硬件光标以提升终端兼容性。设置 `PI_HARDWARE_CURSOR=1` 以启用(替代了原本用于禁用的 `PI_NO_HARDWARE_CURSOR=1`)。
### Added
- Added `quietStartup` setting to silence startup output (version header, loaded context info, model scope line). Changelog notifications are still shown. ([#777](https://github.com/badlogic/pi-mono/pull/777) by [@ribelo](https://github.com/ribelo))
- Added `editorPaddingX` setting for horizontal padding in input editor (0-3, default: 0)
- Added `shellCommandPrefix` setting to prepend commands to every bash execution, enabling alias expansion in non-interactive shells (e.g., `"shellCommandPrefix": "shopt -s expand_aliases"`) ([#790](https://github.com/badlogic/pi-mono/pull/790) by [@richardgill](https://github.com/richardgill))
- Added bash-style argument slicing for prompt templates ([#770](https://github.com/badlogic/pi-mono/pull/770) by [@airtonix](https://github.com/airtonix))
- Extension commands can provide argument auto-completions via `getArgumentCompletions` in `pi.registerCommand()` ([#775](https://github.com/badlogic/pi-mono/pull/775) by [@ribelo](https://github.com/ribelo))
- Bash tool now displays the timeout value in the UI when a timeout is set ([#780](https://github.com/badlogic/pi-mono/pull/780) by [@dannote](https://github.com/dannote))
- Export `getShellConfig` for extensions to detect user's shell environment ([#766](https://github.com/badlogic/pi-mono/pull/766) by [@dannote](https://github.com/dannote))
- Added `thinkingText` and `selectedBg` to theme schema ([#763](https://github.com/badlogic/pi-mono/pull/763) by [@scutifer](https://github.com/scutifer))
- `navigateTree()` now supports `replaceInstructions` option to replace the default summarization prompt entirely, and `label` option to attach a label to the branch summary entry ([#787](https://github.com/badlogic/pi-mono/pull/787) by [@mitsuhiko](https://github.com/mitsuhiko))
### Fixed
- Fixed crash during auto-compaction when summarization fails (e.g., quota exceeded). Now displays error message instead of crashing ([#792](https://github.com/badlogic/pi-mono/issues/792))
- Fixed `--session <UUID>` to search globally across projects if not found locally, with option to fork sessions from other projects ([#785](https://github.com/badlogic/pi-mono/pull/785) by [@ribelo](https://github.com/ribelo))
- Fixed standalone binary WASM loading on Linux ([#784](https://github.com/badlogic/pi-mono/issues/784))
- Fixed string numbers in tool arguments not being coerced to numbers during validation ([#786](https://github.com/badlogic/pi-mono/pull/786) by [@dannote](https://github.com/dannote))
- Fixed `--no-extensions` flag not preventing extension discovery ([#776](https://github.com/badlogic/pi-mono/issues/776))
- Fixed extension messages rendering twice on startup when `pi.sendMessage({ display: true })` is called during `session_start` ([#765](https://github.com/badlogic/pi-mono/pull/765) by [@dannote](https://github.com/dannote))
- Fixed `PI_CODING_AGENT_DIR` env var not expanding tilde (`~`) to home directory ([#778](https://github.com/badlogic/pi-mono/pull/778) by [@aliou](https://github.com/aliou))
- Fixed session picker hint text overflow ([#764](https://github.com/badlogic/pi-mono/issues/764))
- Fixed Kitty keyboard protocol shifted symbol keys (e.g., `@`, `?`) not working in editor ([#779](https://github.com/badlogic/pi-mono/pull/779) by [@iamd3vil](https://github.com/iamd3vil))
- Fixed Bedrock tool call IDs causing API errors from invalid characters ([#781](https://github.com/badlogic/pi-mono/pull/781) by [@pjtf93](https://github.com/pjtf93))
### Changed
- Hardware cursor is now disabled by default for better terminal compatibility. Set `PI_HARDWARE_CURSOR=1` to enable (replaces `PI_NO_HARDWARE_CURSOR=1` which disabled it).