Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Jun 11:33
49f6e3c

⚠️ 早期预览版(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 可在一轮内并行派发多个 /asktools 元素支持 {tool, question} 形式),
      经运行队列并发执行,而非逐个串行。
    • 评审步骤 token 用量可见:编排的每个推理步(判读 / 总结 / 自由规划)在步骤行右侧分步展示本步
      LLM token 用量(↑输入 / ↓输出,不累计);工具调用(描述 / 评审 / 追问)的开销仍由各自运行卡片承载。
    • Agent 上下文目录:以 SOUL / AGENTS / MEMORY / USER 与 rules/ 规则子目录构成 Agent 的人格与
      知识来源;未配置自定义目录时默认落 ~/.code-meeseeks/agent,首次启动幂等补齐模版,开箱即用。
  • 设置页「运行环境」新增「关于 & 反馈」入口:GitHub 仓库(Star)/ 提交 Issue / Releases 三个外链
    (各带专属图标,点击经系统浏览器打开),低频社区入口集中于「关于」区、不进状态栏。
  • 无边框窗口 + 自绘标题栏(VS Code 风):主窗口去掉系统原生标题栏,渲染层自绘 36px 标题栏,
    深色主题从顶贯通到底。窗控按钮交由系统绘制以保留原生行为——macOS 保留红绿灯(下移到标题栏内)、
    Windows/Linux 用 titleBarOverlay 在右上画最小化/最大化/关闭。标题栏展示品牌名与当前 PR 标题,
    Windows/Linux 开头另显应用图标(macOS 因红绿灯占位不显)。
  • PR 列表项「执行中」标记覆盖 Agent 纯思考阶段(无活跃工具运行时,含后台 AutoPilot),不再只在工具运行时显示。

Changed

  • 移除独立 ollama provider,统一经 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/)。