⚠️ 早期预览版(0.x):功能、配置与数据格式可能发生不兼容变更,稳定性未经充分验证。
请勿用于关键生产评审流程,使用前自行评估风险并备份数据。
版本变更
首个 0.5 正式版。本版重点:在 PR 评审中引入可委派的高阶 Agent(会话 Agent 化 + AutoPilot 后台预评审),
并打磨无边框窗口、重型组件加载抖动、评论嵌套展示等体验。开发期 0.5.0-alpha.1 的变更已并入本版。
Added
- 高阶 Agent(会话 Agent 化 + AutoPilot 预评审):在 PR 评审中引入可委派的智能体能力,随 LLM
配置自动可用、无需单独的启用开关。- 一键自动评审:聊天框命令区右侧新增自动评审按钮(✦ 图标),对当前 PR 跑「描述 → 评审 →
(仅严重问题)条件追问 → 收尾总结」微流程,给出非约束性建议(建议通过 / 建议修改 / 建议人工
复核);过程步骤按自然时间顺序内联展示,结尾汇总为「评审总结」卡片。 - 对话即委派:聊天框直接输入自然语言,自由规划 Agent 按需调用只读工具(描述 / 评审 / 追问)
完成请求——与 PR 内容相关但无明确工具指向时默认走追问兜底,与 PR 无关的请求则礼貌拒绝;运行中
可随时停止。 - AutoPilot 后台预评审:状态栏开关启用后,对满足最小间隔的新 PR 在后台自动预评审,建议倾向
落入 PR 列表徽标,收尾总结同步落入该 PR 会话(与手动评审一致,可在聊天里看到「评审总结」卡片);
写操作经逐项授权 + 红线硬校验把关(默认全拒,仅开放只读工具)。准入从严:仅对
「待我评审」分类下、「待处理」状态的 PR 触发;会话中一旦已有/describe或/review产出
(手动或自动)即判定已评审、不再自动触发,避免重复评审。启用开关时(关 → 开)立即触发一次 poll
并按上述规则评估、按需开评审,不必等下个轮询周期。评估节奏对齐轮询——每个 poller tick(间隔 =
poller.interval_seconds)评估一遍,不再单设独立的最小间隔配置(准入门控 + 台账去重已防重复 / 打爆
LLM)。PR 在 poll 中被移除 / purge 时,其上仍在执行的 agent 操作(编排 + 派发的工具 run)一律即时终止,
不为已消失的 PR 空耗。多个待评审 PR 在一轮内并行编排,尽量填满工具的并发队列、不逐 PR 串行空等。 - 评审状态可视化:PR 列表项在同一位置展示——有在跑的 agent 任务时蓝色「执行中」旋转指示(复用
运行卡片同款 .spinner、中心对称、无 chip 外框),否则展示评审建议 ★(手动 / AutoPilot 一视同仁,
approve 绿 / needs_work 琥珀 / manual_review 蓝,SVG 居中);AutoPilot 触发的评审在其首个步骤行
打机器人标记,与手动触发区分。排队位次取全局队列位序(跨 PR 共享队列,不再每 PR 都显示「第 1 位」)。 - 并行多问:规划 Agent 可在一轮内并行派发多个
/ask(tools元素支持{tool, question}形式),
经运行队列并发执行,而非逐个串行。 - 评审步骤 token 用量可见:编排的每个推理步(判读 / 总结 / 自由规划)在步骤行右侧分步展示本步
LLM token 用量(↑输入 / ↓输出,不累计);工具调用(描述 / 评审 / 追问)的开销仍由各自运行卡片承载。 - Agent 上下文目录:以 SOUL / AGENTS / MEMORY / USER 与 rules/ 规则子目录构成 Agent 的人格与
知识来源;未配置自定义目录时默认落~/.code-meeseeks/agent,首次启动幂等补齐模版,开箱即用。
- 一键自动评审:聊天框命令区右侧新增自动评审按钮(✦ 图标),对当前 PR 跑「描述 → 评审 →
- 设置页「运行环境」新增「关于 & 反馈」入口:GitHub 仓库(Star)/ 提交 Issue / Releases 三个外链
(各带专属图标,点击经系统浏览器打开),低频社区入口集中于「关于」区、不进状态栏。 - 无边框窗口 + 自绘标题栏(VS Code 风):主窗口去掉系统原生标题栏,渲染层自绘 36px 标题栏,
深色主题从顶贯通到底。窗控按钮交由系统绘制以保留原生行为——macOS 保留红绿灯(下移到标题栏内)、
Windows/Linux 用titleBarOverlay在右上画最小化/最大化/关闭。标题栏展示品牌名与当前 PR 标题,
Windows/Linux 开头另显应用图标(macOS 因红绿灯占位不显)。 - PR 列表项「执行中」标记覆盖 Agent 纯思考阶段(无活跃工具运行时,含后台 AutoPilot),不再只在工具运行时显示。
Changed
- 移除独立
ollamaprovider,统一经openai-compatible接入本地 Ollama(Base URL 填
http://localhost:11434/v1):Ollama 自带 OpenAI 兼容端点,走此路径更标准稳健。旧ollama配置
加载时自动迁移为openai-compatible并补足/v1,存量无感升级。 openai-compatible经实测标记为已验证。- 重型组件加载抖动收敛:切换 PR / 文件时,diff(Monaco)、聊天会话内容等重型区域在
异步初始化完成前统一盖一层居中 loading,就绪后一次性 reveal,消除「空白 → 内容弹出 → 折叠跳一下」
的多段重排。loading 延迟显示(>150ms 才出现)——本地缓存命中的快切换零闪烁,仅真慢场景才落到
loading。Monaco 区域特别处理:从挂载第一帧即盖遮罩、并等折叠(hideUnchangedRegions)布局 paint
稳定后才揭开,遮罩底色与编辑器一致、揭开无缝。 - describe「文件变更」分类默认折叠:walkthrough 各文件分类(功能增强 / 配置变更 …)默认折叠收起,
点分类标题按需展开,避免 describe 输出过长(仅作用于 walkthrough,不影响其它折叠区)。 - 评论嵌套展示统一(评论 tab + 行内评论):回复满 5 层后拉平为同一缩进层级、纵向排列并加横向分割线,
避免无限右移;嵌套回复改走「左竖线缩进」的扁平样式(不再层层卡片「盒中盒」),两处视觉一致。 - 评审建议星标由五角星改为 AI 常见的四角 sparkle ✦。
- /ask 在问题末尾追加语言要求,改善按界面语言(中 / 日 / 德)作答的遵循度——此前自由问答常被大量英文 diff 盖过而用英文作答。
- 统一 PR 列表状态 chip 带高,消除「星标」与「星标 + 计数」等不同行的高度漂移。
- 评审总结不再硬截断:
summary_max_chars仅作提示词里的参考性软约束引导 LLM 收敛篇幅,AI 已生成的总结完整保留,不再被切在词中间(如「参数…」)。
Fixed
- 修复 PR diff 基准随目标分支漂移导致的「修改被撤回」误判:此前文件内容(Monaco 左栏)按目标
分支当前 tip(targetRef.sha)读取,目标分支被别的 PR 合入而前移后,编辑器实际成了两点对比,
别的 PR 的改动会以倒挂 / 撤回形式串进当前 PR 的 diff(变更文件列表用三点 diff 本不受影响,但内容
与之不一致)。改为首次为 PR 算出merge-base(target, head)并固化到prs/<localId>/diff-base.json,
之后变更文件列表 / 文件内容 / 提交计数 / blame 改动行 / pr-agent 评审一律以它为 base:编辑器即真
三点、对目标分支前移稳定,行锚点(评论 / finding)也有了固定参照。源分支被 rebase(固化 base 不再是
head 祖先)时自动重算;正常 push 不失效。固化值为本地派生缓存、独立于平台元数据,poller 重写
meta.json 不触碰;历史 PR 无需迁移,首次访问 diff 时按需回填(算不出则退回旧行为且不固化)。 - 修复 Windows 控制台中文日志仍显示为乱码:① dev 下 electron-vite 把 main 的 stdout 接成管道
(isTTY=false)原会跳过转码,UTF-8 字节被 CJK 控制台按 GBK/SJIS 渲染——改为pretty模式不卡
isTTY(与上色路径一致);② 启动期探测真实活动代码页(chcp)替代按 locale 猜测:UTF-8 控制台
(65001)直出 UTF-8,CJK 代码页(cp936/cp932/cp949/cp950)转码到对应页,避免用户已chcp 65001
切到 UTF-8 时反而把正确输出转乱。 - 修复 finding 锚点解析在文件路径含方括号(如
a/[m-123]/x.ts)时出错:marker[file: …, lines: …]
的路径捕获原排除了],遇到路径里的]即误截,导致 marker 抽不出跳转锚点、且原样泄漏到
finding 正文。改为带 lines 时以, lines:后缀界定路径(允许路径含[])。 - 清空某 PR 执行历史时一并清掉其 PR 列表 AI 评审建议 ★ 徽标,不再残留陈旧评审状态。
- 自动评审(手动 / AutoPilot)完成后,PR 列表的评审建议 ★ 现即时更新,不必等下个轮询周期才体现。
- PR「提交」数角标排除「源分支把目标分支合入自己」带进来的提交与 merge 提交,与「提交」列表口径一致(此前会多计)。
- 补 walkthrough 文件分类标题「Miscellaneous」「Formatting」「Dependencies」的中 / 日 / 德译文(此前非英文界面下仍显示英文)。
- Anthropic provider 配置的 base_url(自建 / 中转端点)此前未透传给底层 litellm → 请求仍打到官方
api.anthropic.com;现经ANTHROPIC_API_BASE正确透传(填根域名即可,litellm 自动补/v1/messages)。(#65,感谢 @dnvyrn) - 本地仓库镜像 clone/fetch 中途被打断后留下残缺镜像(缺 origin remote),导致后续拉取变更文件一直 fatal(
'origin' does not appear to be a git repository)、点「重试」也卡在同一坏镜像:现自动识别不健康 / 损坏镜像并删库重建,可自愈。 - 消除评论页 poll / 刷新触发的渲染抖动:pr 按 localId 冻结后下传、评论内容结构相等就跳过重渲染、内嵌 Monaco 按锚点值 memo——定位信息没变时不再重渲染重排。
完整历史见 CHANGELOG。
安装说明
安装包开箱即用,已内置评审所需运行环境,安装后即可使用,无需额外配置。
首次打开:本版未做代码签名公证(开源免费路线),系统会拦截未知开发者的应用:
- macOS:右键点 App 选「打开 → 仍要打开」;或「系统设置 → 隐私与安全性 → 仍要打开」。
也可终端执行xattr -dr com.apple.quarantine "/Applications/Code Meeseeks.app"。 - Windows:SmartScreen 弹窗点「更多信息 → 仍要运行」。
许可
本项目 Apache-2.0。安装包内含的
第三方组件许可归集为 THIRD-PARTY-NOTICES.md,已随安装包内置(位于 App 资源目录,macOS 为
Code Meeseeks.app/Contents/Resources/,Windows 为安装目录 resources/)。