UmaDev

更新日志

UmaDev 各版本的新增、改进与安全更新。

  1. 1.0.40
    最新

    粘贴多行需求不再被回车截断 + 后端任务不再拉 UI 评审 + 缩放窗口不再乱

    • 修复

      Windows 粘贴多行需求不再在回车处截断提交:Windows 控制台把括号粘贴拆成一个个按键(不是 crossterm 的 Event::Paste),粘贴内的换行被当成 Enter 把回车前那段提前提交了。现在事件循环测真实按键间隔,亚毫秒突发(粘贴远快于打字)里的 Enter 判为换行而非提交;仅 Windows,测试与其它平台不受影响

    • 修复

      明确的后端任务不再拉 UI 评审角色:底座(尤其较弱的第三方模型)把优化后端代码这类纯后端任务笼统判成 greenfield 时,会 convene uiux-designer + frontend-engineer 白白评审。现在在底座已判构建后,对有明确单领域信号的需求用确定性分类把团队收窄到该领域(后端→架构/后端/QA/安全),不重新路由意图、只收窄团队

    • 修复

      缩放控制台窗口不再布局混乱:拖动窗口会连发多帧 Resize、终端跨帧 settle 自己的缓冲,单次污染清屏不够、残留 pre-settle 尺寸的旧单元格。现在 resize 后开一小段(300ms)愈合窗口,每帧清屏重绘盖住整个拖动+settle

  2. 1.0.39

    TUI 闪屏根治 + 分析中打字实时回显 + opencode 登录不再硬拦 + codex 沙箱主动提示

    • 修复

      TUI 闪屏根治(WezTerm / git bash / 任何界面刷新都闪):(1)每帧全屏清除此前只凭允许名单就做,而 Windows 从不发同步探测确认,在 conpty 不保证 DEC-2026 原子交换时每帧可见地闪——现在改为只在探测真确认同步输出时才每帧清除;(2)非同步终端的 1Hz 全屏重绘心跳此前对所有 Windows 生效,把 WezTerm/git bash/mintty 这些本不漂移的好终端也一起闪——现在收窄到真 legacy conhost(排除 Windows Terminal / MSYS / WezTerm / VS Code / kitty 等);(3)缩短 1.0.38 引入的空闲自愈窗口(12s→3s)。好终端不再闪,conhost 的错乱仍由收窄后的心跳愈合

    • 修复

      分析中打字 5-8 秒才显示 → 实时回显:底座分析/思考时会密集不间断地吐 reasoning token,事件循环此前无界地把每一个都排空完才回到 select!,整个 5-8 秒响应窗口内 input 从不被 poll,打字全憋着最后一次性刷出(连选择答案都被批量应用弄乱)。现在给单次排空加上限、满了就回到 select!(input 被 poll),既保留合并渲染又恢复实时响应

    • 修复

      opencode(及所有底座)未登录不再硬拦:登录探测对指向本地/第三方模型的底座是假阴性(那种根本不需要 auth login),而产品契约是驱动底座已配置的一切。改为两步软确认——首次给登录提示,同一底座再选一次即可继续进入

    • 新增

      codex + Windows + 限制性沙箱开跑前主动提示:codex 的 workspace-write 沙箱在 Windows 会屏蔽网络/dev 端口/git(全栈构建跑不完),且其沙箱辅助进程在部分机器缺运行时会崩(原生弹窗 UmaDev 拦不到)。现在提前提示并指向一条命令 /sandbox danger-full-access

  3. 1.0.38

    第三方/限流模型下持续会话健壮性:不再“只有第一轮能用” + Windows 交互修复

    • 修复

      限流/第三方模型(如 claude-code 指向 GLM)下不再“只有第一轮能用”:一次模型错误(高峰限流/过载)会让 --print 持续会话进程退出,而 UmaDev 此前失败后不失效已存的会话 id、下一轮继续 --resume 这个已死会话、底座报 No conversation found 再退出——每轮循环、永久失效,重启只救一轮。现在会话丢失(断管道/进程退出/找不到会话)后立即失效会话 id,下一轮开全新会话并用 UmaDev 自己的对话记录重放上下文,自动恢复

    • 修复

      发送前检活:底座子进程若在两轮之间已死,此前要到下一次写入才暴露为原始断管道(Windows os error 232),现在发送前先探活、直接给出“底座会话已结束”的明确原因并走恢复,不把命令写进死管道

    • 修复

      Windows 持续会话驱动改用真 claude.exe:此前用 cmd /c claude.cmd 外壳(单发驱动早已避开),会引发 os error 193/232,且 kill 只终止 cmd.exe、把真正的 node claude 变孤儿。现与单发驱动一致直接启动真二进制

    • 修复

      os error 232(Windows 断管道,并非 os error 32 的超串)及其本地化文本(“管道正在被关闭”)现被正确归类为可重试的瞬时故障

    • 改进

      默认底座静默空闲上限从 600s 提高到 1200s:底座指向限流的第三方模型时会像单独 CC 一样活着静默地内部重试,更长的耐心让它的重试有机会落地而不被过早中断(仍可用 UMADEV_IDLE_TIMEOUT_SECS 调,Esc 随时取消)

    • 修复

      Windows TUI 页面切焦点/久置后错乱:非同步输出终端上,焦点切走再回来或久置后屏幕漂移而增量 diff 空转不自愈。新增“刚空闲”的一段自愈窗口配合已有焦点/resize 自愈;急救可随时按 Ctrl+L 或 /redraw 强制重绘

  4. 1.0.37

    三底座对齐最新版 + 五轮深度审查修掉一大批 bug + Windows 移动鼠标乱码根治

    • 修复

      opencode 挂死根治(源头级):opencode 自己的 run.ts 对每个非交互运行都会 deny 掉 question/plan_enter/plan_exit(非交互下没渠道回答,允许提问会让会话永不 idle 导致挂死)。UmaDev 会话 ruleset 之前没 deny 这三个,底座一提澄清问题就阻塞、相位挂死。两档都加上,和官方一致,从源头不让它问

    • 修复

      opencode critic 只读 fork 现在能读黑板:之前用全通配 deny 把 read/grep/glob 也拒了,critic 读不了要评审的文件;改成放行读、只 deny 写/bash/交互提问,既能读又保持单写不变量

    • 修复

      codex 默认守护路径审批真 bug:UmaDev 回审批发 approved 布尔,但当前 codex(app-server V2)要的是 decision 枚举(accept/decline),approved 字段 codex 没有、必需的 decision 缺失导致反序列化失败。默认档下 codex 对联网/越工作区动作发起的审批此前答不上;现在按官方 serde 类型发 decision

    • 修复

      codex 命令实时日志对齐 V2:之前监听的 item/updated 通知 codex V2 根本不发,实时流从不触发;改为监听真正的 item/commandExecution/outputDelta 增量通知

    • 修复

      codex 终止事件不再可能丢:stdout 关闭时的终止事件之前用 try_send(槽满会丢),改为阻塞 send 保证送达、立即归因失败

  5. 1.0.36

    交互挂死根治 + 信任模式中途切换即时生效

    • 修复

      聊天 turn 不再无限挂死:底座(尤其 opencode)在工具运行中帧就进入在工具态,若它其实卡住或在等一个永远等不到的答复而进程一直活着,聊天路径此前无超时兜底会永久空转(工具调用 8684 秒)。现在加了 in-tool 累计静默上限,产出为零达到上限即 settle、控制权还给你(默认 30 分钟,env 可调);合法长构建周期性吐进度自然重置,不受影响

    • 修复

      信任模式中途切换现在对正在跑的 turn 即时生效:此前模式在指令下发那一刻被快照,中途 shift+Tab 切换只改显示不改这一轮,导致守护下发再切自主无效、edit 仍被暂停超时拒绝。现在模式是进程级活值、每次授权决策实时读取;切到自主还会立即放行挂起中的审批,被暂停的动作马上继续

  6. 1.0.35

    全架构深度审查修复一批交互/逻辑 bug + 遵循行业标准 agent 指令文件

    • 修复

      greenfield 构建不再在第一步就崩:写文档的 Build 步骤(PM 写 PRD、架构师写架构、设计师写 UIUX)产出的是 output/*.md 文档而非源码,却被源码存在性诚实地板误判为声称有源码却 0 源文件、步骤 Blocked、拖垮整条计划。现在源码地板只对写代码的座位(前端/后端)生效,文档座位由自己的文件证据验收,诚实地板本身不动

    • 修复

      底座连接失败能被识别与恢复:现在识别 ConnectionRefused(无空格写法)和 broken pipe / EPIPE,一个连不上端点后退出的底座被归为可重启的瞬时故障、自动重启会话重试,而不是当成无法分类的硬失败直接失败

    • 修复

      预览门不再每次误报缺 Prd:前端预览评审物料包漏塞 PRD,而参与座位声明读取 Prd,导致每次 UI 构建都被逐跳交接检查误报缺少输入。补上后不再误报,设计 critic 也拿回真实 PRD 上下文

    • 修复

      文档物化解析器三处修正:代码围栏内的 # 注释不再当成标题、中文全角冒号能正确分割数据模型字段、去掉过宽关键词避免被更早段落劫持

    • 修复

      /run 主评审路径加 panic 隔离:一个 critic 在畸形回复上 panic 不再击穿并发驱动、中止整个运行,收敛为其空的接受判决

  7. 1.0.34

    init 像 Claude Code /init 一样理解项目 - spec 阶段误判修复

    • 修复

      spec 阶段不再误报 build claimed done but no source:底座在 docs/spec 阶段写 PRD/架构/UIUX/SRS 文档时,以前任何工作区写入都被当成写代码构建、触发源码 QC、没代码就误报每回合重复。现在写文档(output/、.md、.umadev/)不再翻成代码构建;只有真写代码才触发,后续真写代码仍会触发,空/未知路径当代码(绝不放过真幻觉),诚实地板本身不动

    • 新增

      umadev init 现在像 Claude Code 的 /init 一样理解项目:重执行时检测技术栈 + build/test/lint 命令 + 索引源码,把一个受管的 Project 段写进 CLAUDE.md;重跑只刷新该段,治理前言和你的手改都保留。此前只写死模板、重跑什么都不更新,现在真正分析项目 + 刷新详细索引/进度

  8. 1.0.33

    第三方底座零配置可用 - 底座并发闸根治 GLM 529 限流

    • 修复

      第三方低并发底座(如 GLM / open.bigmodel.cn)不再撞 529 访问量过大:UmaDev 是一支团队,常态下可能同时握着多个底座进程(常驻聊天会话 + 后台预热会话 + 构建时每个 critic 各自 fork 的会话),而直连底座永远只有 1 条连接;这些额外并发连接超过第三方网关的小并发配额,就被 529 全拒、每回合都炸。新增全局底座调用并发闸(base_gate):每次真正打底座的回合都先拿一个许可,默认并发=1,和直连底座完全一样的足迹 -- 接入即用,任何底座、零配置

    • 改进

      强底座提速开关:官方高并发端点的用户可设 UMADEV_BASE_CONCURRENCY=4 恢复 critic 并行 + 预热加速,是给进阶用户的隐形开关,普通用户永远不用碰

    • 改进

      并发闸工程细节:许可为单次回合粒度、结构上不可能自锁;预热用 try_acquire 拿不到就跳过、绝不阻塞你的回合;聊天 firmware 本就是 Light 档(仅身份),单次调用不因此变重

  9. 1.0.32

    研究驱动的开发团队交互强化 · typed 交接契约全线打通 · 门禁显示一致性

    • 新增

      座位能力卡(Seat Card):每个座位(PM/架构/设计/前端/后端/QA/安全/DevOps)有一张 typed 自描述能力卡,声明它 owns 什么、reads 哪些契约输入、produces 哪些产出;roster 自描述,每次交接都成为显式可校验的契约

    • 新增

      每跳交接校验(双向):座位运行前即比对声明的输入/产出与黑板现状 —— 缺声明输入(错位)或没产出其负责的 artifact(规格缺口)都在交接处折进 verdict 暴露,不再变成下游谜团,活在评审流里

    • 新增

      两层 artifact 物化:把散文文档里的决策抽成 typed 契约(数据模型/设计令牌/验收标准)emit 到 .umadev/contracts/,与 API 契约并列,接进文档阶段

    • 新增

      verdict 结构化溯源:评审结论可带来源座位 + 关联 artifact + 诊断说明,由确定性标注器填充(不采信底座自述),打回更可诊断、审计链可重建;serde 向后兼容

    • 新增

      artifact 版本化 → DAG 陈旧失效:黑板文档带内容版本;跨会话改了 PRD/架构/UIUX 后 resume,消费该文档的步骤及下游自动翻回待办、对着变更后的上游重新推导,不信任被静默污染的旧结果

  10. 1.0.31

    闪屏根治 · 计数 / 滚动 / 去重修复 · 跨平台 CI 转绿

    • 修复

      mac 长会话每秒闪屏根治:1.0.30 为 Windows conhost 防漂移加的 ~1 秒周期性全屏重绘,在不支持「同步输出」的 Terminal.app 上就是每秒闪一下 —— 现把这个心跳限定到 Windows,mac / Linux 靠增量重绘 + 事件驱动自愈(想彻底无闪无漂移可用 iTerm2 / WezTerm / kitty / Ghostty 等支持同步输出的终端)

    • 修复

      自学习踩坑计数不再卡住:复现索引此前用原始签名建 key、却用归一化签名查找,归一化逻辑加入前存下的老记录永远匹配不上、频次冻结(反馈的「已踩 17 次」不再增长);改为索引也归一化 + 同签名保留最高计数条

    • 修复

      长转录滚动锚定不再漂移:转录超过 8000 行渲染上限触发 front-trim 后总行数被封顶,上滚锚定静默失效、阅读位置被新内容顶走;补上 front-trim 增量补偿,长流式下上滚看历史位置稳住

    • 修复

      同一 diff 不再显示两遍:底座可能在文本叙述与结构化工具调用里各带一次同一处修改(或 opencode 工具分片两个 id);加防御护栏,连续出现的完全相同 diff 折叠为一张(不同修改仍各自成卡)

    • 修复

      跨平台 CI 转绿:doctor claude-hook 测试接受「已注册但命令不解析」;TUI meta 行测试锁英文 + 加宽;终端模式 / 路径 / fork 计时等平台假设测试按平台门控;修 Windows 构建 unused-import / dead-code(-D warnings)

    • 新增

      鼠标选中 → 剪贴板复制正式生效:拖选文字经 OSC52 复制到系统剪贴板(含 tmux 透传)+ conhost 控制台守卫,随本版发布(此前已实现但未随 1.0.30 上线)

  11. 1.0.30

    交互硬伤清零 · 守护模式真审批 · 全库审计修复

    • 修复

      启动时后端日志不再全屏抢屏:spawn 本地 dev-server / 后端时经新的 detach_from_controlling_terminal(Unix setsid / Windows CREATE_NEW_PROCESS_GROUP)脱离控制终端,直接写 /dev/tty 的后端日志(Spring/Logback、Maven/npm 进度条)不再绕过管道画花整屏

    • 修复

      Windows 长时间运行界面不再错乱:经典 conhost 上每帧全重绘的安全网够不着,长会话累积漂移永不被擦;现在非同步路径按 ~1 秒心跳周期性全重绘,漂移活不过心跳(同步输出终端不受影响)

    • 修复

      /stop-preview 真的停了:此前只杀 npm/pnpm 外壳,占端口的 node/vite 孙进程还活着(报「已停止」却是假的);现在杀整个进程组(setsid 让预览成组长,Unix killpg / Windows taskkill /T),连孙进程一并清,退出清理同样修正不留孤儿。另修 Windows 本地服务启动的 cd 前缀路径解析

    • 新增

      输入手感对齐 Claude Code:输入框内的文字现在可直接拖选 + 复制(独立应用内选择层,软换行不断 / 硬换行保留 / CJK 安全,不用切 /mouse);↑/↓ 像 CC 一样召回历史 —— 光标在首行按 ↑ 即调上一条已发内容(草稿暂存、↓ 还原),多行历史改 JSON 持久化不再被拆散

    • 修复

      守护模式:提问真的会停下等你答 —— 交互式 TUI 里 park 住会话真等你回答、再用答案 resume 同一会话(此前提问后马上跳过、连问 3 次),无头 / run 完全不变绝不阻塞;守护模式对有后果的写 / shell 逐项审批(账本记住不重复问);ExitPlanMode 显示 plan 全文、标成「底座的计划模式」与守护模式区分;新增 /questions text 文字提问开关

  12. 1.0.29

    界面不再闪 · 上下文表准了 · 会话连续 · 预览对齐真框架

    • 修复

      界面不再闪 / 每隔几十秒常刷:80ms 动画 tick 此前会在已稳定 / 上滚看历史的画面上每 80ms 强制整屏清屏重绘,现在只在真有活的东西时(思考 spinner / 运行中任务 / 取消中)才绘制,静止对话保持安静;大缓冲上滚也不再每格强制清屏(删掉 scroll_jump_repaint);内部 eprintln 诊断改走 tracing,stderr 不再污染界面帧

    • 修复

      上下文余量表不再超 100%:此前给窗口探测传的是空模型名,codex 一律吃 128K 兜底、显示 186K/128K —— 现在优先用底座自己上报的上下文窗口 → 探测到的真实模型窗口 → 才回落后端默认,余量表随真实模型走

    • 修复

      会话连续性(流式路径):流式路径此前手搓 stream-json 参数丢了会话旗标、每轮冷启动新底座会话丢累积上下文;现在复用与非流式 complete() 完全相同的会话矩阵(首轮 pin session-id、后续精确 resume),「一个连续会话」在流式路径也成立

    • 改进

      预览对齐真实框架:/preview 与自动预览过去起的是 UmaDev 自带的轻量验收 harness node 服务;现在识别该 harness 并把预览路由到项目真实框架子目录(如企业级 Vue 单仓的前端子工程)去跑真正的 dev server

    • 改进

      深层目录扫描:源码 / 覆盖 / 前端调用 / 后端路由四类扫描深度 8→16,企业级 Vue / Java 大树不再漏扫、不再给 QA 喂空 / 半截证据(加强地板,文件数上限不变)

    • 新增

      检索会自我调优:内置知识库检索按每一步成败给知识块打有用性、上浮有用的下沉没用的(叠加在 BM25 / 向量 / RRF 之上,不改既有排序器),补齐自进化三件套(经验从失败学、配方从成功学、检索从是否真帮上忙学);检索反馈只在真实构建路径落盘,修一处轻路径回归

  13. 1.0.28

    交付证据不造假 · 评审不橡皮图章 · 记忆不腐坏

    • 加固

      交付证据不再造假:deliberate 构建过去在收尾时回填 TODO 模板的 PRD / 架构 / UIUX 文档桩(还带假的 FR-001 编号),让 FR 覆盖检查跑在假输入上、形同虚设 —— 现在不再伪造:缺哪份核心文档就在证据包 / 评分卡里如实标注「未产出」;且 deliberate 构建的 PM / 架构步骤前置要求真产出带 FR- 的文档(在确定性地板上验证),文档是真做出来的、不是事后补的桩

    • 加固

      评审不能橡皮图章:review 步修复轮之后,若还有被确定性地板(治理扫描 / 契约 / verify)佐证的残留阻塞问题,该步不再静默通过、会折进最终门 —— 但 critic 的纯主观意见仍只作参考、绝不据此判失败,守住「评审只咨询、地板主管」的原则

    • 加固

      记忆不再腐坏:事实被本轮运行明确反证(值变了 / 路径已不存在)就降级、不再误导后续;新学到的经验若与旧经验直接矛盾,保留更有效力的那条、压下另一条 —— 都非破坏性(留档可追溯)、且保守(弱信号绝不误删好记忆)

    • 内部

      延续深层引擎自审:不加一个可见的 UI 功能,只让内核少信一次自我陈述、多一分可证伪;全部确定性、fail-open、有界,非破坏性(墓碑 / 降级 / 压制均留出处),不改运行控制、四条治理不变量或验收 / 覆盖 / 门禁地板

  14. 1.0.27

    评审看得到构建过程 · 计划可重规划 · 绿构建要佐证

    • 改进

      评审看得到构建过程:critic 评审席位现在 fork 真实的构建对话(--resume --fork-session,原生只读),而不是从零开始的新会话 —— QA / 安全 / 架构评审能看到 doer 看到的一切来判断,而不是只看产出的文档摘要;写入永远碰不到父会话,plan 许可模式 + Read/Grep/Glob 白名单是两道原生只读栅栏(仅 claude,codex / opencode 保持各自现有的只读 fork)

    • 新增

      计划可以重规划:某一步被卡住(Blocked)且会连累一整片后续子任务时,协调者做一次有界的重规划 —— 用被阻塞步 + 类型化缺口证据 + 搁浅子树让底座给出绕过 / 解决阻塞的替换子计划,过同样的归一化与验收地板后并入继续,已完成的步绝不重跑;严格每轮最多一次,失败 / 无改善则回到诚实的「已阻塞」上报,不循环、不掩盖真死路

    • 加固

      绿构建不再只信底座的话:底座在散文里写「已跑测试、全通过」不再被直接采信 —— 现在只有本轮工具调用流上真观测到一次构建 / 测试 / lint 命令作佐证时,才跳过 UmaDev 自己的复核;只是嘴上说通过就触发 UmaDev 亲自跑一遍验证,但绝不误判:无佐证一律去真跑(真正干净的构建照样再次通过)、从不据此判失败

    • 新增

      失控轮次保护:按任务深度给底座会话一个宽松的轮次上限(快速改动 / 构建 / 深度构建分层,评审咨询上限很低),防止极端情况下无限打转,正常构建远远够用

    • 内部

      观测底座回传的 control_response / init 事件(不再静默丢弃);经确认 UmaDev 对 claude 的驱动本就是持久双向 stream-json 会话 + 带内许可通道,故无传输层重写、只做安全的加法式升级;全程 fail-open、有界、确定性,治理不变量与确定性地板不变

  15. 1.0.26

    记忆真自进化 · 团队席位真专家 · 验收更硬

    • 记忆

      自进化闭环接入默认路径:lesson 的信任分随每步验收结果升降、pitfall 复原后标记解决、真复发时触发反思策略、交付时做记忆和解 —— 此前这些只在旧的单发路径跑、主线的总监循环是死代码,于是真实路径上信任永不更新、pitfall 永不标记解决、反思永不触发;记忆从「捕获+频率+召回」变成真进化,每条都是总监已算出的验收结论的副作用,借脑一律只读 fork + fail-open

    • 记忆

      效力闭环:lesson 按「是否真防住复发」赚取召回位置 —— 被召回后通过记有用票、被召回却仍复发记有害票,证明有用的上浮、没用的沉底,有毒的(样本够后)从召回中剪除但留盘做溯源;效力成为衰减分里的第五个乘性轴,喂给固件踩坑摘要、逐步召回与 coach 重排

    • 记忆

      成功配方记忆:干净交付后把赢的打法(通过的步骤顺序/席位/关键脚手架/模式)蒸馏成跨项目可复用配方,下次同技术栈规划时作为可采纳的先验注入(「过去一次干净构建用过这个形状,合适就采纳、不是模板」)—— 从只从失败学,变成也从成功学;配方是先验、绝不是门禁

    • 团队

      席位从换名字的提示词变真专家:per-seat 知识路由让前端席抽前端/设计知识、安全席抽安全/合规知识、后端席抽后端/API/架构知识、QA 席抽测试/性能知识,每个席位带自己专业的工作方法清单 —— 同一步换个席位就是不同知识 + 不同方法(测试证明是席位在驱动)

    • 团队

      per-seat 确定性地板:后端步自动要求真实路由/契约、QA 步要求测试真通过、前端步要求治理/构建干净;过半构建步仍缺强约束时判定大脑整体欠指定、给每个裸构建步补默认可证伪约束,全部复用既有验收契约、不新增门禁语义

    • 修复

      endpoint 验收对照真实后端路由注册(Express/Koa/Fastify/NestJS、Flask/FastAPI/Django、axum/actix、gin/Spring…)判断接口是否实现,而不是路径字符串在源码里任何地方出现过就算 —— 杜绝前端 fetch() 调用就当后端已实现的假通过;零可检测后端注册的纯前端项目 fail-open 回落旧行为、绝不误判为失败

  16. 1.0.25

    Linux glibc 兼容性修复 · 模型交给底座

    • 修复

      Linux glibc 兼容性:linux x86_64 二进制此前在 Ubuntu 24.04(glibc 2.39)上普通 cargo build、于是绑定 GLIBC_2.39,在 RHEL / Rocky 9、Ubuntu 22.04 及任何 glibc 2.31–2.38 系统上以「GLIBC_2.39 not found」一启动就失败(一位 glibc 2.34 的用户被挡住);现两个 linux 二进制都改经 cross(Ubuntu 20.04 基础镜像 / glibc 2.31)构建,凡 glibc >= 2.31 皆可运行,并加一道 CI 守卫:一旦二进制再需要更新的符号即让发布失败,这类回归无法静默发货

    • 变更

      移除 /model:模型 100% 是底座的事,UmaDev 不拥有任何模型端点 —— 底座登录 / 配置成什么(含第三方或本地模型)跑的就是什么,注入的是空;内置 /model 选择器 + 精选模型清单(opus / sonnet / haiku…)错误暗示 UmaDev 在管模型、且对接了自定义 / 本地模型的用户根本是错的,故整套删除(含 --model 旗标),要换模型请在你的底座 CLI 里配置;保留底座自身模型的只读展示与上下文余量表

  17. 1.0.24

    换行不再误发 · 多语言代码高亮 · /model 选择器 · 底座失败给下一步

    • 新增

      Ctrl+J 换行,不再误提交:多行输入不再在 Apple Terminal / 默认终端上悄悄误发 —— Ctrl+J 在每个终端都能换行,并开启 kitty 键盘协议让 Shift+Enter 在支持的终端上也生效;Enter 仍提交

    • 新增

      多语言代码高亮:代码块从手搓 ~5 语言的关键词着色升级为纯 Rust 的约 25 语言真词法高亮(字符串 / 注释 / 数字 / 关键词,含多行),配色随主题 token、无硬编码色值,每次调用 fail-open 回落旧着色

    • 新增

      交互式 /model 选择器:/model 空参打开选择器(按底座列常见模型带描述,外加一行自定义 id);/model <id> 与 /model plan|build 仍直接生效,经既有配置路径持久化

    • 新增

      Ctrl+点击打开链接 / 文件路径:Ctrl+左键命中转录里的 URL(仅 http/https)或存在的文件路径直接打开;opener 始终是 argv 向量,Windows 用 explorer 使查询串里的 & 无法注入命令

    • 新增

      底座失败给下一步:底座 CLI 失败(认证过期 / 限流 / 过载 / 上下文超长 / 网络)时不再甩原始报错,而是点名下一步命令(claude auth login / codex login / opencode auth login / /model / /compact)

  18. 1.0.23

    终端层结构性加固 · 乱码根除 · 历史随会话保存

    • 重构

      渲染自愈成为原语,根除乱码类:启动时经 DECRQM 探测终端是否真支持同步输出(250ms 超时回落白名单先验,终端应答双向覆盖);已确认支持的终端上每一帧都是同步括号内的原子整帧重绘 —— 造成长跑 / 焦点切换 / 叠字乱码的显示漂移活不过一帧且无闪烁;不支持的终端经一个污染标志在离散转换点自愈;旧的周期刷洗与逐事件强制重绘整套删除

    • 重构

      输入两路收敛,根除 Windows 输入类:unix 与 Windows 输入路径共用同一张键位映射表,配 9 组跨路径契约测试(退格 / 方向键 / Home-End / Ctrl / F 键 / 焦点 / 粘贴 / 滚轮 —— 同一输入必产同一事件,未来分叉是 CI 挂掉、不是发到用户手里);ESC 冲刷定时器粘贴态感知(平时 50ms / 粘贴中 500ms),被劈开的粘贴结束标记不再卡死、旧兜底删除;终端模式启用收敛为一个幂等块、启动与恢复共用,配启用 / 还原对称性测试;契约测试当场揪出并修好 macOS / Linux 上一直坏着的 Alt+退格删词

    • 修复

      Windows 焦点切换乱码(用户实测):焦点上报此前从未启用、事件循环也无处理臂 —— 现启用 DEC 1004 并在焦点回来时强制一次干净整帧重绘,alt-tab 切走再切回不再乱

    • 新增

      会话历史随会话保存:看得见的转录(工具行 / 计划卡 / 评审结论 / 备注)随聊天持久化并在重开 / resume 时逐行重建 —— 重开 UmaDev 不再是一片空白的对话;旧会话文件回落全文播种,坏行安全跳过、加载绝不因此失败

    • 新增

      外部终止也还原终端:SIGTERM / SIGHUP / 关终端窗口现同步保存聊天并还原终端,外部 kill 后不再留下坏 shell

    • 改进

      续跑历史标记:继续被阻塞的运行会插入'──── 继续运行 — 更早的步骤在上方(向上滚动查看)────'分隔线,先前步骤与续跑输出读作一段连续历史

  19. 1.0.22

    依赖先装 · 长跑不乱码 · 阻塞给建议 · 悬置项登记

    • 改进

      跑测试前先把依赖(含 dev / test 附加项)一次装齐,不再上演'跑 pytest → No module named pytest → sync → 重试'的来回:一次运行里的缺模块报错被当成漏装依赖、不是测试失败;专门点了 uv 的坑(默认 uv sync 不含 dev 附加项 → uv sync --extra dev / --all-extras);固件指令 + error_kb 识别 + 知识标准三管齐下、只在构建 + 验证路径生效

    • 修复

      长跑不再乱码:一次长时间流式运行结束后不再留下互相叠字的转录与冻住的'本轮已中止'页脚 —— 在运行落定的边沿与转录换基 / 收缩时强制一次干净整帧重绘(此前只覆盖输入框);稳态粘底流式增长不重绘、不抖动,每种终端都生效

    • 新增

      评审阻塞现在给解决建议:某个评审席位打回时,除指出哪里不对,还逐条给出'怎么修'与下一步('/run 让团队应用这些修复,或 /revise <指引>')—— 同一次评判轮产出、不额外调大脑;RoleVerdict 加 remediation 通道与 blocking 按下标对齐;advisory + fail-open,缺失就照旧显示、绝不编造

    • 新增

      第三条持久记忆通道 —— OPEN-DECISIONS 悬置项登记册:未决 / 推迟 / 受阻 / 等待未来触发的事项落进 docs/decisions/OPEN-DECISIONS.md(提交进仓库、只追加、就地解决、分三类),每次任务开始自动回灌进底座上下文并带'(N 条未决 + M 条已解决)'摘要,悬而未决的事再也不会丢;与 facts.jsonl(持久事实)、lessons(踩坑)并列

    • 内部

      全部改动 fail-open / 确定性 / 门控到对应路径;+知识标准 x2(依赖先装、悬置项登记,quality 95)+23 测试;计数 agent 1137 / tui 697

  20. 1.0.21

    Windows 退格修复 · 评审有据 · 文档去味

    • 修复

      Windows 上退格能删字了(Windows Terminal / ConPTY:0x08 BS 与 0x7f DEL 都归一到 Backspace)—— 用户实测'删不掉'的真修复;Windows 默认走原生 crossterm 输入后端让 Esc / 方向键都认得;Alt-退格删除前一个词

    • 修复

      帮助浮层 Down/PgDn 夹取到真实底部(不再'按住下键再上看着像卡住')+ Home/End/g/G 跳转;前向 Delete 与整行 / 整词删除在 token 变化时,重新弹出被关掉的 @ 提及浮层

    • 改进

      质量评审裁判有据可依:把有界、已排序的真实测试 + 源码文件清单注入评审上下文,它真正看见并据此评判,不再凭空断言'没有测试 / 后端 / 源码'触发冤枉返工;移除粗糙的事后过滤(按文件数丢弃 blocking / 强制 accept)与过宽的后端分类器,裁判意见仍 advisory、确定性地板主导

    • 改进

      Coach:CURRENT.md 复用已渲染的阶段正文(一次渲染、字节完全一致)

    • 变更

      对外文档整体同步 + 去味:说清 UmaDev 是什么而非不是什么,清掉只有内部才懂的'总监 / director'框架与 AI 营销腔;新定位标语(指挥你已经在用的 Claude Code / Codex / OpenCode)铺开到 README / 文档 / 官网,事实与功能不变

    • 内部

      host / agent / governance 测试改用 RAII 守卫还原环境变量(杜绝跨测试 env 串味);临时文件走 tempfile 路径;文案更正为'三个宿主 CLI 底座'

  21. 1.0.20

    Windows 全修 · 定位升级 · 安全 / RAG / 并发硬化

    • 变更

      更凝练的定位:UmaDev 指挥你已经在用的 Claude Code / Codex / OpenCode 干活(README / 文档 / 官网 / npm 全量铺开)

    • 修复

      Windows 预览开发服务器能起来了(此前 sh 硬编码、npm.cmd 找不到、彻底死掉);/preview 与 web 构建后的自动预览都通了

    • 修复

      不可逆命令信任地板认得 Windows 动词(del / rd / format / Remove-Item),Auto 档不再跳过确认

    • 修复

      Windows 控制台不再花屏:历史召回 / clear 后强制整帧重绘;/exit 与 /quit 不再让 PowerShell 不可用(完整逆序终端恢复);拖入的图片路径不再被反斜杠当转义吞掉

    • CI

      新增 PTY 启动冒烟拉起真二进制 + windows 测试转绿,启动崩溃再也无法静默发布

  22. 1.0.19

    紧急修复 · 启动崩溃(1.0.17/1.0.18 退化)

    • 修复

      致命退化:1.0.17/1.0.18 一启动就 panic、应用完全无法运行 —— tokio::select! 的分支表达式每轮都会被求值(if 守卫只控制是否 poll、不阻止求值),取消-drain 分支在 1.0.17 的 M1 修复里被从惰性 async 块改成了直接函数调用 drain_cancelled_task(cancel_drain.as_mut().expect(…), …),于是空闲时 cancel_drain 为 None、启动第一轮循环即 .expect() panic;现改回惰性 async 块、仅在守卫为真真正 poll 时才访问 cancel_drain,并新增 PTY 启动冒烟验证。请所有 1.0.17 / 1.0.18 用户尽快升级到 1.0.19

  23. 1.0.18

    前沿强化五连 · 用户反馈全修(端口冲突 / 过程日志 / 信任)

    • 新增

      每步可证伪的证据契约(前沿 F1):'完成'不再是粗粒度的整仓检查 —— 大脑在计划 JSON 里逐步声明证据(文件存在 / 含某串 / 构建干净 / 测试通过 / 路由响应),UmaDev 解析并拥有,任一 gap 即该步未完成、且精确指出缺哪个文件 / 测试 / 路由;空证据回落既有验收(fail-open)

    • 新增

      不确定即失败关闭的不可逆动作边界 + 连败熔断(前沿 F3):一个躲过 token 扫描的混淆命令(base64 解码管道进 sh、eval $(...)、内联 -c 解释器、\x 字节串)此前在 Auto/Guarded 被静默放行 —— 现归为 Reversibility::Uncertain、每档都强制升级确认、绝不记忆自动放行;另加连败熔断(同类构建 / 评审验证连失 3 次即收尾,不再磨到 32 步上限,且不假报成功)

    • 改进

      裁判开全新独立只读会话(更深的 F2):此前 claude 经 --resume + --fork-session、codex 经 thread/fork 分叉,只读裁判继承了 doer 的全部推敲(maker-checker 推理泄漏);现 claude 起全新 --session-id(无 resume / fork)、codex 经 thread/start 开只读新线程,裁判在宿主层就在真正干净的上下文上评审,F2 prompt 防火墙变双保险

    • 改进

      注入的记忆增量手册字节有界(前沿 F4):记忆层本就是去重蒸馏的增量手册(非原始 episode、按频率 × 新近排序、聚类成高层规则),但 relevant_lessons_for_prompt 只限条数不限字节 —— 直接注入的调用方(runner / director_loop)会被 3 条肥增量撑爆上下文;现加 3000 字硬预算,高分优先、溢出丢低分、必要时截断单条,对每个调用方按条数 + 字节双重有界

    • 改进

      KV 缓存稳定的固件前缀钉死 + 计划进度复述(前沿 F5):固件本就稳定块在前、易变块在后(逐块确定性排序、前缀里无 HashMap 迭代 / 时间戳),现加模块文档 + STABLE→VOLATILE 边界注释 + 锁测试钉死字节级前缀不变;另加有界的一行计划进度复述('M 步已完成 N 步;接下来:后两步标题')串进每轮 / 每次返工指令,长多步构建里底座不再跑偏

  24. 1.0.17

    用户反馈全修 · 本地 RAG 复活 · 全面硬化

    • 修复

      doctor 检测缺失 CLAUDE_CODE_OAUTH_TOKEN(用户反馈 401):claude login 后探测显示已登录,但 UmaDev 非交互跑 claude --print 要的是 headless 凭证、否则运行时 401 —— 现 claude-code 底座无 headless 凭证给 WARN + 指引 claude setup-token,有则 PASS,其它底座不误报

    • 修复

      本地 fp16 语义 RAG 复活:本地模型出 384 维向量但 VectorStore 钉死 1536 维、search 拒掉每个查询且守卫抓不到 —— 每次 npm install 静默只跑 BM25、宣传的本地语义层从不生效;现按真实嵌入宽度打标 + 读本地后端真实 hidden_size,端到端 384 维一致,本地双轨 RAG 真正可用

    • 修复

      复制 / 粘贴 + 输入卡死根治(用户反馈):粘贴结束标记被 50ms 的 lone-ESC flush 劈开时输入框会永久吞键(退格 / 方向 / ESC / 历史全死)—— 现两个分支都在字符边界安全地识别并闭合粘贴;输入框拖选选不中时加一次性三语提示指向 Shift+drag / /mouse

    • 新增

      底座长进程日志可见 · /logs(用户反馈):一个开关串流底座的多分钟构建 / 进程输出 —— 此前 codex 的 item/started·updated 帧被忽略、多分钟 Maven/Spring 构建期间零输出;开启后立即显示运行指示 + 增量串流,完成上限 200 字放宽到 16KiB,默认关

    • 新增

      AskUserQuestion 桥接到用户(用户反馈):底座自己 headless 跑提问、渲染不了选择器会静默自动取消 —— 现渲染问题 + 每个编号选项 + 提示「回复你的选择,会转发给底座、在等你回答而非取消」,回复作为下一轮续进同一会话,三家底座通用

  25. 1.0.16

    开发团队架构做实 · 记忆不丢 · 一批强化

    • 新增

      记忆不丢(双保险之一·持久事实):新增 .umadev/memory/facts.jsonl —— 底座发现的项目事实(JDK17 在哪个路径、构建 / 测试命令、环境约束)每轮注入固件头部,无论转录被裁剪还是底座自己上下文轮换都还在,从此永不重新查找(根治用户实测的「记了又重查」)

    • 改进

      记忆不丢(双保险之二·智能压缩):token 超预算时把早期轮次在只读 fork 上做结构化摘要(意图 / 涉及文件 / 关键决策 / 错误修复 / 待办 / 当前工作),近期尾巴逐字保留,替掉过去有损的 16 条 FIFO + 160 字 /compact;完整逐字转录始终落盘、/resume 无损还原、连续 3 次摘要失败即熔断 fail-open

    • 修复

      写文档不再烧 token:借底座大脑先判「写一份文档 vs 做文档描述的那个产品」—— 写 PRD / 设计文档 / 调研报告是轻触(至多 1 席产品经理过目),不再上 8 席团队 + 多轮评审 + 完整流程;真做文档平台 / 产品的构建一字不变(has_heavy_signal 守住)。并修了源码存在性地板 —— 它过去对纯文档伪报「无代码失败」、逼底座去写本不需要的代码白烧多轮,现已文档感知。根因是之前脑判了意图却仍用关键词表给构建定规模,现在大脑定规模为主、关键词只兜底

    • 新增

      开发团队架构做实 · Wave A 智能席位建造:完整构建按 router 自动判定逐角色真建造(产品 → 架构 → 设计 → 前后端 → QA → 安全 → DevOps,每角色真建自己那摊),小任务仍走单轮便宜路径 —— 全自动判,不让用户选

    • 新增

      开发团队架构做实 · Wave B 角色真产物:design-tokens 升为一等交付物 + DesignTokensPresent 验收;契约优先 DAG(前后端依赖架构师先定的契约);QA 先写测试(测试作者≠代码作者,结构性去偏)

  26. 1.0.15

    API 报错显示 · 渲染自愈 · 交互成熟度第一波

    • 修复

      API 报错不再被静默吞掉:底座限流(429)/鉴权/网络/过载等错误会直接显示真实错误文案 + 可操作提示(如"未登录,运行 claude /login""限流,稍后重试或 /model 切换"),不再假报"完成 / 无文件变更"

    • 新增

      codex 沙箱可配:.umadevrc 加 [codex] sandbox_mode,可设 danger-full-access 解锁本地端口(npm start)/git 提交;默认仍 workspace-write 保底,高危模式开机红字警告

    • 修复

      界面跑久了错乱:渲染自愈(同步输出内定期原子重绘 + 睡眠唤醒/resize/SIGCONT 自愈),不用再按 Ctrl+L;resize 不再闪烁

    • 修复

      /status 弹窗可用滚轮滚动(之前小窗口截断滚不动);/plan 现在显示完整团队评审(不再只给 +N)

    • 新增

      命令统一:palette/help/dispatch 同一注册表(/model 等全可搜,以后不再漂移)+ Ctrl+O 一键展开/收起所有折叠内容

    • 改进

      /continue 恢复底座会话带回完整上下文(不再"不记得上次任务");Ctrl+C 不再误退

  27. 1.0.14

    Ctrl+C 不再误退 · /continue 跨会话续接

    • 修复

      Ctrl+C 不再退出 UmaDev:它是复制的通用肌肉记忆,误按一下就退出太容易丢会话。现在 Ctrl+C 只清空半截输入 / 提示用 /quit,绝不退出;要退出用 /quit、/exit、Ctrl+D 或双击 Esc

    • 新增

      /continue 跨会话续接:之前 /run 跑过、关掉 TUI 再打开,用 /continue 只会提示重启。现在它会自动加载持久化的 plan.json,重新贴出计划(已完成的步骤打勾)、只跑剩余步骤续上,不用重头再来

  28. 1.0.13

    渲染健壮性 · 同步输出修界面错乱

    • 修复

      界面跑久了显示错乱 / 刷新撕裂(Windows 尤其明显):抄 Claude Code 的做法,用 DEC 2026 同步输出把整帧原子刷新 —— 终端缓冲整帧再一次性交换,刷新中途不再出现半成品的错乱画面;按终端类型检测支持(iTerm2 / WezTerm / ghostty / kitty / Windows Terminal 等,跳过 tmux)

    • 修复

      滚动时输入框出现乱码 + 假的「本轮已中止」:鼠标滚动的 SGR 序列在高负载下偶发被劈碎,ESC 被当退出键、其余进了输入框。现在加了防御式过滤,识别并丢弃被劈碎的鼠标序列,真正的 Esc 和正常输入不受影响

    • 新增

      Ctrl+L / /redraw 强制全屏重绘 —— 万一画面还是花了一键恢复;窗口 resize 时清屏(某些终端 resize 后留残影);长路径 / Tab 裁切到可视宽度,不再溢出串行

  29. 1.0.12

    修复 1.0.11 滚轮回归 · 计划分步推进 · 一批真漏洞

    • 修复

      【1.0.11 回归 · 重要】滚轮滚动不再破坏输入 / 假中止:OSC11 主题探测线程残留抢 stdin、把鼠标滚动序列劈碎,导致输入框出现乱码、假的「本轮已中止」、滚动卡顿。已彻底移除该探测线程

    • 修复

      /status 现在真反映进度:之前只写了状态文件、但 /status 弹窗读的是内存里从不更新的阶段表,所以一直全 pending。现在 /status 对账 workflow-state.json,阶段表推进到真实进度

    • 修复

      计划真正一步步推进:每步硬限定单步、不再一回合做完整个项目;表头显示当前步;单回合到预算就收尾(不再无限跑);长回合有心跳

    • 修复

      底座出错能看到原因(聊天 + /run 构建两条路径都接上):底座配置 / 登录坏了时它的 stderr 报错 + 退出码会显示,不再只是「base session idle」;codex 握手加超时

    • 修复

      团队评审每个 critic 的意见都能看:之前只显示第一个、其余折叠成 +N 无法查看;现在每条完整镜像进可滚动的对话历史,折叠行提示滚动 / /plan 看全部

  30. 1.0.11

    滚轮滚动 + 鼠标复制都能用 · 一大批交互修复

    • 新增

      滚轮滚动 + 鼠标拖拽复制都能用(对标 Claude Code):备用屏上鼠标滚轮直接滚回历史,拖拽选中文字应用自绘高亮、松开即复制 —— 本地走 pbcopy / xclip / wl-copy(任何终端都行,含 macOS Terminal.app),远程才用 OSC52;/mouse 可切回终端原生选择

    • 修复

      /status 现在反映真实进度:之前 /run 跑完写了真实代码,但状态机停在 research、9 阶段全 pending(只有 legacy 路径更新状态文件)。现在 director 循环同步写 workflow-state.json(按角色诚实映射阶段、单调不回退、只在真干净时才报交付),/status 跟着真实进度走

    • 修复

      计划不再卡 0/N:底座以前一个回合就把整个项目做完、计划一小时不动。现在每步提示硬限定单步(别做其它步、本步验收达成就停),计划真正一步步推进;表头显示当前进行的步号 + 长回合有心跳;单回合也加了总时长上限(到预算就收尾,不再无限跑)

    • 修复

      底座出错能看到原因:底座配置 / 登录坏了时它的报错只进 stderr(以前被丢弃),用户只见「base session idle」。现在 idle / 退出时显示底座自己的报错(如 model X not available)+ 进程退出码;codex 持续会话握手加了超时,坏底座不再永久挂起

    • 修复

      /run 需求可带空格 / 中文:之前第一个词被误当 slug,任何带空格或中文开头的需求被拒。现在只有带 - / _ 的纯 ASCII 词才算 slug

    • 修复

      大段粘贴卡顿(O(n²)→O(n))· 上方向键召回到 / 命令后失效(现在继续召回,不被斜杠面板劫持)· Esc 取消冻 UI 2 秒 · 历史召回丢草稿 · 复制带多余符号 / 空格 · 一批越界与状态同步加固

  31. 1.0.10

    图片输入 · 彻底不管模型 · 一批健壮性增强

    • 新增

      图片输入:把图片拖拽 / 粘贴进输入框,自动识别成 [图片 N] 附件,提交时改写成底座能读的 @绝对路径(底座自己读文件,UmaDev 不做 base64);非图片粘贴照常按文本处理

    • 修复

      codex 在 Windows 持续会话不可用:sandbox 枚举发成了 camelCase(workspaceWrite),新版 codex 只认 kebab-case(workspace-write / read-only),报 unknown variant 直接挂掉,已对齐

    • 变更

      彻底不管模型:UmaDev 不再向底座传 / 切换模型,底座永远用它自己配置或登录的模型(官方订阅,或你接入的第三方 / 本地都行);/model 不再切换,只说明模型在底座侧配置

    • 改进

      统一模型下载:之前国内拿 f32(~448MB)、国外拿 fp16(~224MB)大小不一致 —— 现在国内外都从 HuggingFace / hf-mirror.com 下同一个 f32,体积一致;GitHub fp16 降为兜底

    • 修复

      工具命令不再被模型下载阻塞:umadev update / --version / --help / doctor 等不再触发 224MB 模型下载(之前模型没下完时连 update 都卡住);进度条美化(块字符 + 颜色 + 实时 MB/s)

  32. 1.0.9

    纯本地双轨 RAG 落地 · 动态状态指示器

    • 修复

      本地向量模型分发:1.0.7 时 224MB 的 fp16 模型超过 npm 体积上限被拒(npm 用户只能用 BM25)。现在模型作为 GitHub Release 附件分发,首次启动自动下载到 ~/.umadev/embed-model(带进度条),装完完全本地、运行时无需联网;国内自动走 hf-mirror.com(HuggingFace 国内镜像,免费、快、稳)、全球走 HuggingFace / GitHub,带实时进度条,任一源失败自动换下一个并降级 BM25,UMADEV_MODEL_BASE_URL 可覆盖

    • 新增

      纯本地双轨 RAG 真正落地:向量轨用 multilingual-e5-small(fp16)经 candle 在本地运行——无需 API key、运行时不联网;与纯 Rust BM25 经 RRF 融合 + HyDE 查询扩展;model_dir 自动发现 ~/.umadev/embed-model,零配置生效。摆脱臃肿的云端依赖,让 AI 真正写出最懂你业务的代码

    • 改进

      等待指示器随底座活动动态变化:不再从头到尾死板的「正在思考」——调用工具时显示「正在读取 / 正在编辑 / 正在运行 / 正在搜索 / 正在检索」,工具一结束立刻回到思考

    • 改进

      真实 token 消耗:等待指示器显示底座自己上报的真实累计用量(本次会话),不再是字符估算,格式如 ≈12K token

    • 改进

      三底座适配收尾(F1-F6):opencode 改代码渲染 diff 卡 + 合并工具兜底 + 回复不重复;codex 真实 usage(对照真实协议修正)+ send 不阻塞 + 早期 ESC 不丢;claude 真实 usage

  33. 1.0.7

    智能意图路由 · 团队评审 · 终端渲染重做

    • 新增

      意图判断与统一构建:默认对话界面由底座自己的模型判断每句话——对话 / 解释 / 小改 / 调试 / 构建;底座连不上就走最轻路径,不用关键词表。取消「对话 vs /run」的分叉:触发完整流程的是「真实构建」本身,不是某条命令——对话里随手提的构建,和 /run 享有同一套系统;底座也会以行动判断,写下第一个文件就把这一回合变成一次构建

    • 新增

      统一的常驻系统:每次真实构建都自动拥有——设计系统 / 反 AI 模板法(每个干活回合都在,无延迟成本)、构建后治理 + 设计扫描、角色团队评审(产品 / 架构 / UI-UX / 前端 / 后端 / QA / 安全,只读分叉、并行、建议性)、知识库摘要、以及从每次运行学习(记录踩坑,在后续工作里召回)。小改动召集精简 UI 团队(设计 + 前端 + QA),完整构建召集全员

    • 新增

      /goal 命令:`/goal <目标>` 驱动一次目标导向的构建,让底座持续工作到目标达成,带完整的统一系统;三个底座(claude / codex / opencode)都可用(UMADEV_NO_GOAL_MODE=1 可退出)

    • 新增

      知识库内置进二进制:完整语料(418 份商业级工程规范 + 设计规则 + 你现有代码的结构图)随包内置,首次运行自动解压到 ~/.umadev/knowledge——零配置下发到每个用户项目,不再是用户机上的空语料

    • 新增

      检索与代码库理解:知识检索用 BM25(中文友好双通道分词)+ 可选向量层(OpenAI 或本地嵌入)+ RRF 融合;另有逐语言符号扫描(repo-map)给底座你现有代码的结构概览

  34. 1.0.6

    TUI 交互硬化

    • 修复

      深读 Claude Code / opencode 源码整体修 TUI 交互:解耦「活着感」与吐字;修无滚动 / 无鼠标 / 小终端裁切 / opencode 不流式 / 静默阻塞等 P0 问题

    • 改进

      运行中可在空隙排队输入,ESC 中断当前工作,底座工具调用可见;运行锁单写者收敛

  35. 1.0.5

    Windows on ARM 支持 · 版本号统一

    • 平台

      新增 Windows on ARM(win32-arm64)支持 —— 骁龙 / Surface 等 ARM 架构的 Windows 现在会自动安装 x64 二进制,经 Windows 11 内置 x64 模拟运行;`npm install -g umadev` 不再报 unsupported platform

    • 修复

      1.0.4 的底座 .cmd 启动修复随本次全平台重编一并带入,Windows(含 ARM)的 claude / codex 识别 + 运行彻底打通

    • 改进

      全链路版本锁定:Cargo crate、npm 包、二进制 `--version` 三者同号;新增 `bump-version.sh` 一键改版脚本,杜绝「装 1.0.5 终端却显示 1.0.0」

  36. 1.0.4

    Windows 底座启动修复

    • 修复

      修复 Windows 下「找到底座却启动失败」的问题 —— 报错 `os error 193 / 不是有效的 Win32 应用程序`。npm 安装的 claude / codex 是 `.cmd` 垫片,不是 PE 可执行文件,CreateProcess 无法直接运行;改为经 `cmd /c` 启动(Rust 官方文档标准做法)

    • 平台

      同一套程序解析统一覆盖底座 CLI、npm 操作(audit / install / uninstall)与构建步骤(npm / tsc / cargo),凡 `.cmd`/`.bat` 一律 `cmd /c`

  37. 1.0.3

    Windows 底座识别修复

    • 修复

      修复 Windows 下识别不到底座的问题 —— npm 安装的 Claude Code / Codex / OpenCode 是 .cmd 垫片,此前裸名解析只认 .exe 导致检测失败;现按 PATHEXT 正确解析为 .cmd / .exe / .bat 全路径

    • 平台

      npm 操作(audit / install / uninstall)与构建步骤(npm / tsc / cargo)同步适配 Windows,统一走同一套程序解析

  38. 1.0.2

    安装后可执行修复

    • 修复

      修复部分环境安装后二进制无法执行(EACCES)的问题 —— npm 多包分发中转会剥掉可执行位,启动器现在运行前自动恢复 chmod +x,对所有平台兜底

  39. 1.0.1

    全平台一键安装

    • 平台

      全平台 npm 一键安装:Windows / Linux / Intel Mac / Apple Silicon Mac 均可 `npm install -g umadev`,按系统自动分发对应预编译二进制

    • 新增

      随包内置离线知识库,无需额外配置即可检索

  40. 1.0.0

    首个公开版本 · AI 开发团队 Agent

    • 新增

      完整 9 阶段商业交付流水线:research → docs → spec → frontend → backend → quality → delivery,含文档确认、预览确认两道人在环确认门

    • 新增

      三种本机 CLI 底座:Claude Code、Codex CLI、OpenCode —— 直接驱动你已登录的 CLI 并共享它自己的模型与推理强度,UmaDev 不持有任何 API key

    • 新增

      并行扇出:文档阶段并发起草架构与 UI/UX,缩短交付墙钟时间

    • 新增

      UIUX 一致性硬门 + 反 AI-slop 设计法:命名禁令(默认 indigo / 紫渐变 / emoji 图标 / 模板骨架)与设计 token 纪律,不符合声明设计系统的 UI 自动打回重做

    • 新增

      失败开放治理内核:写入前 hook + CI + 质量门补扫,禁 emoji 图标 / 硬编码颜色 / AI 套话;合规映射 SOC 2 · ISO 27001 · EU AI Act