New Features
- Local llama.cpp model management — Connect to a llama.cpp router, search and download Hugging Face models, and explicitly load or unload models with live progress. See llama.cpp.
- Full provider extensions — Extensions can register complete pi-ai providers with authentication, model refresh, filtering, and custom streaming. See Register New Provider.
- Qwen Token Plan providers — Use the built-in international and China subscription providers with regional endpoints and API-key authentication. See API Keys.
- Expanded usage accounting — Tool, compaction, and branch-summary usage is persisted and included in session totals. See Compaction & Branch Summarization.
Added
- Added Qwen Token Plan and Qwen Token Plan China to built-in provider setup, default model resolution, and provider documentation (#6858 by @QuintinShaw).
- Added the
get_available_thinking_levelsRPC command andRpcClient.getAvailableThinkingLevels()method (#6865 by @cristinaponcela). - Exported message and tool execution lifecycle event types from the package root (#6772 by @davidbrai).
- Added built-in llama.cpp router support with
/loginconnection setup and/llamaHugging Face model search and downloads, explicit loading, unloading, and live progress. See llama.cpp. - Added extension registration for complete pi-ai providers, including native authentication, model refresh, filtering, and streaming behavior.
- Added usage accounting for tools, compaction, and branch summaries in persisted sessions, footer totals, and session statistics (#6671 by @davidbrai).
Fixed
- Updated the packaged
brace-expansiondependency to 5.0.7 (#6896 by @davidbrai). - Fixed persisted remote model catalogs from overriding newer bundled catalogs after an upgrade.
- Fixed inherited stored API-key credentials to apply their provider-scoped
envvalues, including Amazon Bedrock profiles (#6864 by @cristinaponcela). - Fixed inherited OpenAI-compatible cross-provider replay to keep tool call IDs unique when multiple calls share a provider call ID (#6854 by @cristinaponcela).
- Fixed inherited Kimi K3 thinking levels to expose low, high, and max, and normalized the
k2p7alias tokimi-for-coding. - Fixed inherited OpenCode Go models routed through the OpenAI Responses API.
- Fixed inherited
pi-aipackage metadata to avoid repeated consumer lockfile changes (#6812 by @jmfederico). - Fixed inherited terminal shutdown to clear the editor's inverted software cursor before restoring the hardware cursor (#6790 by @dam9000).
- Fixed inherited ANSI-aware text wrapping to recognize CRLF and CR line endings while preserving styles (#6764 by @xz-dev).
- Fixed inherited editor paste registry corruption after deleting and undoing paste markers, preventing literal or mismatched paste markers in submitted prompts (#6844).
- Fixed sessionless OpenAI Codex WebSocket requests to use UUIDv7 request IDs (#6834 by @xl0).
- Fixed inherited GPT-5.6 Codex models to default to the 272K context window, avoiding automatic long-context pricing (#6853 by @aadishv).
- Fixed messages queued during compaction to preserve steering and follow-up delivery behavior (#6730 by @dannote).
- Fixed read tool errors being syntax-highlighted as if they were file contents (#6731 by @dannote).
- Fixed llama.cpp router download progress updates and removed redundant wording from model action confirmations.
- Moved automatic model catalog network refresh out of startup initialization and into the running interactive and RPC modes.
- Fixed persisted sessions being read and parsed twice when opened, reducing startup latency for large sessions (#6793).
- Fixed prompt-template defaults for all arguments (
${@:-default}and${ARGUMENTS:-default}) (#6695). - Fixed obsolete custom UI, custom tool, and custom editor examples in the extension documentation (#6735).
- Fixed Kimi Coding sessions to show API-equivalent implied costs with the subscription indicator.
- Fixed OpenAI Responses early stream endings to trigger automatic retry instead of ending the agent run (#6727).