1. 引言一个 shell 在 34 天里迭代了 33 个版本几乎每天一个版本号。rvsrust-verb-shell是面向人类和 AI Agent 的结构化命令运行时核心模型是Command → Value → JSON → AI。2026 年 8 月它从 26.8.10 迭代到 26.8.43。触发点不是功能堆砌而是三类真实场景反复暴露问题。2. 三类真实场景版本迭代的触发点rvs 的高频迭代并非为了堆功能而是被三类真实场景反复逼出来的。2.1 AI Agent 把终端输出当文本流解析rvs 的非交互输出混入包装信息污染 scp、sftp、tar-pipe 管道--json输出早期格式不统一Agent 只能解析文本。2.2 对话式 AI 仅凭终端字符把 rvs 误判为 POSIX shell实测生成echo A; echo B、$var展开等不兼容语法执行结果与预期完全不符。2.3 多台异构运行机登录 shell 都是 rvs物理 tty、Windows 控制台、emoji、UTF-8 等跨平台差异逐个暴露每修一个都值得一个版本号。3. 谬误溯源三个被反复证伪的认知回顾这 33 个版本最值得记录的并不是功能列表而是三个被反复证伪的认知。3.1 rvs 是 POSIX shell 的兼容实现实测非交互解析与 POSIX 不同;不分隔命令echo A; echo B只出A;、$var不展开。已决策不兼容 POSIX靠输出自我标识[rvs]前缀 非 POSIX 声明纠正 AI 误判。3.2 CPU 制程数据库按型号精确匹配26.8.38 实测i5-8265U 显示 65W 桌面功耗实际 15W。根因是子串匹配 通配条目抢先命中修正为精确条目前置Whiskey Lake / Kaby Lake R。3.3 flag 在位置参数前没问题26.8.42 实测list-items --llm path的 path 被 flag 静默吞掉回落到当前目录且 exit 0极难发现。4. 源码验证33 个版本做了什么按主线归类抛开版本号本身把 33 个版本按主线归类可以看到每一次迭代都落在真实场景的修复上。4.1 AI 可消费性26.8.32/33--json提供三档输出Pretty、Compact、Llmtoken 优化RunReport.error_type枚举化不再是自由字符串schema 快照测试锁定 JSON 结构防止回归。4.2 沙盒安全26.8.35沙盒操作审计写入~/.config/rvs/audit.jsonlwho/what/when/where/howsudo、doas、su在解析前直接拒绝error_typesandbox_violation--dry-run全局开关外部程序与 remove-item 只预览不执行。4.3 系统信息26.8.27/35/37/38show-fetch采用 neofetch 风格默认安全输出 --all全量磁盘统计默认仅物理盘show-memory提供内存槽位级信息Windows wmic / Linux dmidecode / macOS system_profilerApple Silicon 标记「不适用」无权限降级 sysfs内置 CPU 制程/TDP 数据库i5-8265U 15W、N3050 6W、Xeon 8168 205W、QEMU 兜底。4.4 远程屏幕监视26.8.19-26virtual-screen 落盘共享跨进程可读monitor 升级为 ratatui TUI 分屏 状态栏按键说明 等待模式monitor-set 远程切换监视目标。4.5 跨平台收敛26.8.23/39/40物理 tty 中文/emoji 降级 ASCIIWindows 强制 UTF-8 代码页 65001表格使用控制台窗口宽度Windows emoji 降级 ASCII。4.6 解析修复26.8.15/42ssh 智能分流无--command走真实 OpenSSHfill_positionals按命令元信息识别 switch 参数flag 不再吞位置参数--help拦截改用注册命令名。4.7 实测数据rvs --json -c show-version输出带 schema 版本号的 JSONN3050 无 dmidecode 时 show-memory 降级 sysfs 统计 32 块 × 128 MiB 4 GiB与硬件吻合go-to-bottom别名 bottom清屏后光标落终端末行crossterm::terminal::size()MoveTo(0, rows-1)。5. 落地结论可复用的模式回顾这 33 个版本真正值得沉淀的不是功能清单而是五条可复用的设计模式。5.1 AI 接口与人类交互分离终端是人类观察面JSON 是 AI 消费面两套输出各自纯净互不污染包装信息走 stderrstdout 纯净透传。5.2 错误类型枚举化error_type使用枚举而非自由字符串Agent 按类型分流处理不用解析文本。5.3 自我标识终端输出让任何读者人类或 AI第一眼识别「这是谁、什么语义」——[rvs]前缀 非 POSIX 声明避免被误判为 bash/PowerShell。5.4 文档-代码一致性守卫pre-commit 校验 locales 版本号、文档命令数与all_commands()注册数一致防止文档漂移。5.5 降级而非伪造读不到硬件信息时明确标注「不适用/不可用」绝不伪造数据Apple Silicon 内存槽位即如此。适用范围Verb-Noun 命名的 Agent 接口 shell、需要多机跨平台部署的命令行工具、任何「既要给人看又要给 AI 消费」的 CLI。6. 三类读者速查6.1 人类开发者查看版本与构建信息rvs show-version体验cargo build ./target/debug/rvsREPL 里敲list-commands看全部 41 个命令更新记录docs/ROADMAP.md「已实现」docs/issues-2026-08-02.md1.x 记录6.2 对话式 AI一句话问法「rvs 和 POSIX shell 有什么区别」回答要点rvs 是面向 AI Agent 的结构化命令运行时非交互解析不兼容 POSIX;不分隔、$var不展开结构化数据用--json拿。6.3 代码 Agent结构化输出rvs --json -c list-itemsPretty/Compact/Llm 三档破坏性操作前预览rvs --dry-run remove-item path沙盒审计~/.config/rvs/audit.jsonl逐条结构化记录7. 总结rvs 的 33 个版本本质上是与 AI 误判和跨平台差异持续对抗的过程。每一次版本号递增都对应一个真实场景的修复而不是为了刷版本号。