首页Home 特性Features 快速开始Quickstart 插件Extensions 文档Docs 更新日志Changelog

更新记录Changelog

每个版本的变更记录,与源码仓库 changes/ 目录同源;程序内的新版本提示也链接到本页。 What changed in each release, mirroring the changes/ directory of the source repository. The in-app update notice links here too.

0.1.2statusline 插件与修复簇(2026-08-19)statusline plugin & fix wave (2026-08-19)

主线:第四个第一方插件 rpi-ext-statusline 落地、一批交互与模型运行时缺陷修复、/changelog 接入真实更新日志、subagents skill 文档按结构化入口本地化(ADR-0021)。 Highlights: the fourth official plugin rpi-ext-statusline, a wave of interactive and model-runtime fixes, a real /changelog, and the subagents skill docs localized to the structured entry points (ADR-0021).

第一方插件(新)Official plugin (new)

  • rpi-ext-statusline:CC 兼容脚本式自定义 statusline(L0 原生插件)。settings.jsonstatusLine 键即启用(命令 + padding/裁剪参数),两档 placement;脚本按 CC statusline JSON 协议 stdin/stdout 驱动,零新增 ABI。含实机追补:切换模型/思考档位/分支即时刷新、新会话 transcript latch 竞态修复、数据指纹轮询自愈。rpi-ext-statusline: a Claude-Code-compatible script-driven statusline (native L0 plugin). Adding a statusLine key to settings.json enables it (command plus padding/trim options) with two placements; the script speaks the CC statusline JSON protocol over stdin/stdout with zero new ABI. Hardened in the field: instant refresh on model / thinking-level / branch switches, a transcript latch race fix for new sessions, and data-fingerprint polling self-healing.

修复Fixes

  • /new/resume 切换 session 后 extension host 丢失 UI bridge——mcp 状态栏消失、MCP 工具审批被静默拒绝(#1)。Extension host lost the UI bridge after /new / /resume session switches — the mcp status line disappeared and MCP tool approvals were silently rejected (#1).
  • models.json 配置 apiKey 后仍强制要求 auth.json——字面 key 被误当环境变量名,改按上游 config-value DSL 解析(#3)。A literal apiKey in models.json still required auth.json — literal keys were misread as environment-variable names; now parsed with the upstream config-value DSL (#3).
  • /changelog 恒显示 "No changelog entries found."——changelog 资产从未落地;现 CHANGELOG.md 嵌入二进制 + parseChangelog 移植 + onboarding 显示半链(#5)。/changelog always showed "No changelog entries found." — the changelog asset never shipped. CHANGELOG.md is now embedded into the binary, with the parseChangelog port and the onboarding display half-chain (#5).
  • model_select 事件从未发出——切换后捕获 previous 恒等短路。The model_select event was never emitted — the post-switch capture short-circuited on an identical previous.
  • onboarding 启动 header 品牌残留:上游 "Pi" 逐字文案改 rpi 实际能力表述,去掉 rpi 未带的 docs 查询承诺、指向官网(#7)。Onboarding header branding leftovers: verbatim upstream "Pi" copy rewritten to Rpi's actual capabilities, dropping the docs-query promise Rpi does not ship and pointing to the website (#7).

内部Internal

  • subagents 编排 skill 文档与 prompt 模板按结构化入口本地化(ADR-0021):去除 workflowScript 教学与未实现机制段落,安装侧 .rpi-layout-version marker 自动升级旧版;工具描述补齐 tasks/steps 组合入口(ADR-0018 决策 5)。Subagents orchestration skill docs and prompt templates localized to the structured entry points (ADR-0021): workflowScript teaching and unimplemented-mechanism sections removed, an install-side .rpi-layout-version marker upgrades older copies automatically; tool descriptions now document the tasks/steps composition entries (ADR-0018 decision 5).
  • registry / package_manager / package_command rustfmt 清账(纯格式化)。rustfmt cleanup across registry / package_manager / package_command (formatting only).

0.1.1插件生态与上游对齐(2026-08-16)Plugin ecosystem & upstream alignment (2026-08-16)

三大主线:对齐上游 Pi v0.84.1(T17–T32,parity freeze)、三个常用 Pi 插件的 Rust 移植落地(TE01–TE11)、扩展分发与安装链路打通。 Three main lines: alignment with upstream Pi v0.84.1 (T17–T32, parity freeze), the Rust ports of three popular Pi plugins (TE01–TE11), and the extension distribution & install pipeline.

扩展分发与安装(新)Extension distribution & install (new)

  • rpi install <name>[@<range>]:registry 渠道——裸名解析 revpi.dev 索引,semver 选版(精确 / ^ / ~,缺省最新),安装前预检 rpiAbiminHostVersion;下载 GitHub 直连优先、官网边缘代理回退,sha256 以官网索引记录校验,不匹配立即中止不换源。rpi install <name>[@<range>]: the registry channel — a bare name resolves against the revpi.dev index, semver selection (exact / ^ / ~, default latest), with rpiAbi and minHostVersion preflight; downloads prefer GitHub direct with the site edge proxy as fallback, sha256 verified against the site index and any mismatch aborts without switching sources.
  • rpi install github:<owner>/<repo>[@<tag>]:直指 GitHub Release artifact(未收录/私有插件),校验退化为 Release 自带 sidecar 并明示完整性级别差异。rpi install github:<owner>/<repo>[@<tag>]: points straight at a GitHub Release artifact (uncatalogued/private plugins); verification degrades to the release's own sidecar, with the integrity-level difference stated up front.
  • .rpix 打包格式:gzip tar,含 rpi-extension.json + 载体 + SHA256SUMS;逐文件校验、原子替换到 ~/.rpi/agent/extensions/<name>/(或 -l 项目级)。The .rpix format: a gzip tar containing rpi-extension.json, the carrier, and SHA256SUMS; per-file verification and an atomic replace into ~/.rpi/agent/extensions/<name>/ (or project-level with -l).
  • 信任提示:install/update 展示 author 与 capabilities 全表;L0 原生插件(无沙箱、全 OS 权限)显著警告,需确认或 --yesTrust prompts: install/update show the author and the full capabilities table; native L0 plugins (no sandbox, full OS access) carry a prominent warning and need confirmation or --yes.
  • remove / list / update 全链路支持;RPI_REGISTRY_URL 可注入镜像/测试地址,off 整体禁用。remove / list / update across the whole chain; RPI_REGISTRY_URL can inject a mirror/test endpoint and off disables everything.
  • 第一方插件随主版本发布:CI 将官方插件各自打成 .rpix(Windows x64 / macOS arm64 / Linux x64 与 arm64 glibc;musl 主机无法加载原生扩展,不出插件包),与本体同一 Release 发布、版本锁步,官网索引自动收录并标「官方插件」。Official plugins ship with each release: CI packs every official plugin as a .rpix (Windows x64 / macOS arm64 / Linux x64 & arm64 glibc; musl hosts cannot load native extensions, so no plugin packages there), published in the same GitHub Release as the binary, version-locked, and auto-listed in the site index as official.
  • revpi.dev 新增 /api/extensions/ 索引 API、/extensions/download/ 下载代理(白名单 + 边缘回源)与插件目录页。revpi.dev gained the /api/extensions/ index API, the /extensions/download/ proxy (allowlist + edge fetch), and the plugin catalog page.

第一方插件移植(TE01–TE11)Official plugin ports (TE01–TE11)

  • rpi-ext-mcp-adapter(pi-mcp-adapter v2.24.0):MCP 客户端——配置三源合并、stdio/SSE/HTTP 三传输、OAuth 全流程、代理与 direct 工具、懒连接与会话恢复、状态行与结果折叠渲染;parity 对拍证据链。rpi-ext-mcp-adapter (pi-mcp-adapter v2.24.0): the MCP client — three-source config merge, stdio/SSE/HTTP transports, the full OAuth flow, proxy and direct tools, lazy connect with session resume, status line and collapsible result rendering; parity evidence chain included.
  • rpi-ext-subagents(pi-subagents v0.48.0):subagent 工具——六内置 agents 与四级发现、fresh/fork、组合编排与后台异步、worktree 隔离、acceptance gates、supervisor 通道、流式进度与 TUI 可视化、/run /subagents /subagents-doctor;对拍全 MATCH。rpi-ext-subagents (pi-subagents v0.48.0): the subagent tool — six builtin agents with four-level discovery, fresh/fork contexts, composition and background async, worktree isolation, acceptance gates, the supervisor channel, streaming progress with TUI visibility, and /run /subagents /subagents-doctor; full MATCH on parity runs.
  • rpi-ext-smart-fetch(agent-smart-fetch v0.3.17):web_fetch 全管线——batch 并发、meta refresh / alternate 回退、流式下载、进度事件流与组件树渲染。rpi-ext-smart-fetch (agent-smart-fetch v0.3.17): the full web_fetch pipeline — batch concurrency, meta-refresh / alternate fallbacks, streaming downloads, progress event streams, and component-tree rendering.
  • 扩展 ABI 补齐(ADR-0015):unregisterTool / toolUpdate 双载体,完全 additive,RPI_ABI_VERSION 保持 1。Extension ABI completion (ADR-0015): unregisterTool / toolUpdate on both carriers, fully additive, RPI_ABI_VERSION stays 1.

上游对齐 Pi v0.84.1(T17–T32)Upstream alignment with Pi v0.84.1 (T17–T32)

  • rpi-ai:v0.84 消息类型与请求选项、流终止语义、provider 修复与 compat 扩展、models refresh 事务化与 OAuth、auth 命令族、新 provider 与模型目录。rpi-ai: v0.84 message types and request options, stream-termination semantics, provider fixes and compat extensions, transactional models refresh with OAuth, the auth command family, and new providers with model catalogs.
  • 主路径:JSON/RPC delta 线格式与 stdout 背压、会话行为簇、资源加载与包管理。Main paths: JSON/RPC delta wire format with stdout backpressure, session behavior fixes, resource loading, and package management.
  • rpi-agent:agent 循环微行为与 compaction 契约。rpi-agent: agent-loop micro-behaviors and the compaction contract.
  • rpi-tui:渲染器 trait 化重构、行为修正簇(即时渲染 / grapheme / OSC8 / 键位 / Windows)、LaTeX 与 Mermaid、布局引擎、全屏渲染(alt screen / mouse / kitty)、UI 模式接线与 parity freeze。rpi-tui: the renderer trait refactor, a behavior-fix cluster (instant rendering / graphemes / OSC8 / keybindings / Windows), LaTeX and Mermaid, the layout engine, fullscreen rendering (alt screen / mouse / kitty), UI-mode wiring, and the parity freeze.
  • 扩展 API 面同步上游 12 项(ADR-0013)。12 extension-API items synced with upstream (ADR-0013).

行为变更Behavior changes

  • 移除 npm/pnpm/yarn/bun 自更新分支(ADR-0011 修订):二进制为唯一发行渠道,update --self 恒走真自更新;npm: 扩展包安装不受影响。The npm/pnpm/yarn/bun self-update branches are gone (ADR-0011 revision): the binary is the only distribution channel and update --self always performs a true self-update; npm: extension-package installs are unaffected.
  • CI 构建改为仅 tag 触发,分支推送不再自动构建。CI builds now trigger on tags only; branch pushes no longer build.

修复Fixes

  • 主屏渲染器超宽行 panic 杀死运行中会话、满宽行宽度分歧换行漂移花屏——超宽行改截断继续渲染(诊断快照照写 rpi-crash.log 并注明渲染已继续);emoji 字体回退按 2 列渲染的风险字符(✓ 类)计入悲观宽度,满宽风险行保守截断消除行漂移(ADR-0020 / D-086)。The main-screen renderer panicked on overwide lines, killing live sessions, and full-width lines drifted into garbled wraps — overwide lines are now truncated with rendering continuing (diagnostic snapshots still go to rpi-crash.log with a note); fallback-glyph risk characters (✓ and friends) rendered two cells wide are counted pessimistically, and risky full-width lines are conservatively truncated to kill the drift (ADR-0020 / D-086).
  • $$ / \[ 公式块内孤行 =/- 被解析成 setext 标题,公式在进入数学渲染前被切断损毁——修复为 parse 前 shadow source 等长改写(块内孤行运算符替换为等长 . 字节喂解析器,渲染与 LaTeX 输入仍用原始源),修复后与上游逐字节对拍一致;关闭 renderLatex 开关时保持原行为(D-078 补记)。Lone =/- lines inside $$ / \[ blocks parsed as setext headings, corrupting formulas before math rendering — fixed by an equal-length shadow-source rewrite before parsing (the lone operator is replaced with . bytes for the parser while rendering and LaTeX input keep the original source); byte-for-byte parity with upstream after the fix, and the original behavior is kept when renderLatex is off (D-078 follow-up).
  • LaTeX 遇符号表不认识的命令时整块公式回退原文(单符号一票否决),\blacksquare(QED 证明结束符,LLM 数学输出高频)即触发——按 KaTeX 清单盘点 270 个常用宏实测 78 项缺口后全量补全:62 条符号映射 + 带参宏与 subarray 环境的终端降级渲染;映射一律跟随 KaTeX,与上游 ground truth 对拍不破(T29 后续,D-087)。A single unknown LaTeX command made the whole formula fall back to raw text; \blacksquare (the QED marker, frequent in LLM math output) was enough to trigger it — audited 270 common macros against the KaTeX list, found 78 gaps, and filled them all: 62 symbol mappings plus terminal-degraded rendering for parameterized macros and the subarray environment; mappings follow KaTeX and parity against upstream ground truth holds (T29 follow-up, D-087).
  • 词级 diff 的 trim 边界以字节索引 +1 推进,token 末字符为多字节 UTF-8(中文/全角)时切片落在字符中间,edit 渲染含此类内容的 diff 即 panic 杀死渲染线程——改按末字符长度推进,补多字节回归用例,与 jsdiff 8.0.4 参考向量对拍保持一致。Word-diff trim advanced its boundary by one byte, so a multi-byte UTF-8 final character (CJK/full-width) put the slice mid-character and rendering an edited diff with such content panicked the render thread — now advances by the final character's length, with multibyte regression cases added and parity against jsdiff 8.0.4 reference vectors preserved.
  • 多 native 插件共载失败(abi_stable 按类型 memoize 根因,改 per-path 加载)。Multiple native plugins failed to co-load (abi_stable memoizing by type at the root; now loaded per-path).
  • SSE 行上限对齐 10MiB(8KiB 上限误吞大行响应)。The SSE line cap aligned to 10 MiB (the 8 KiB cap was dropping large-line responses).
  • 全屏热切换输入失效、/settings 两处卡死。Input loss after fullscreen hot-switching and two /settings freezes.
  • file_processor 测试命名竞态;bash 结果截断警告行按终端宽度换行。A file_processor test-name race; the bash result-truncation warning now wraps to terminal width.

官网(revpi.dev)Website (revpi.dev)

  • Release 镜像改 Function 边缘代理回源(零存储),404/502 no-store;安装脚本托管站点根。Release mirrors moved to a Function edge proxy with origin fetch (zero storage), 404/502 served no-store; installer scripts hosted at the site root.
  • 首页三平台安装面板;docs 快速开始重构;移动端导航与布局修复;favicon。Three-platform install panel on the landing page; quickstart restructured; mobile nav and layout fixes; favicon.
  • docs 新增配置参考页:全部设置键、默认值与作用域,含请求超时与重试、隐私开关、环境变量。New configuration reference in docs: every settings key with defaults and scope, including request timeouts and retries, privacy switches, and environment variables.

0.1.0首个版本(2026-08-15)Initial release (2026-08-15)

  • 终端 AI 编程助手的完整功能:多轮对话、内置工具、会话管理。The complete terminal AI coding assistant: multi-turn chat, built-in tools, session management.
  • 交互 / 一次性问答 / RPC 三种运行模式。Three run modes: interactive, one-shot (--print) and RPC.
  • 内置 38 家模型服务商。38 built-in model providers.
  • 插件系统:WebAssembly 与原生动态库,支持热重载。Plugin system: WebAssembly and native dynamic libraries, with hot reload.
  • 会话导出 HTML 与链接分享。Session export to HTML and link sharing.