Skip to content

Releases: op7418/CodePilot

CodePilot v0.54.0

24 Apr 03:46

Choose a tag to compare

CodePilot v0.54.0

本版本补齐服务商生态:新增 DeepSeek 独立预设,OpenAI OAuth 加入 GPT-5.5,小米 MiMo 两个套餐升级到 V2.5-Pro,同时修掉切换服务商时的环境变量残留问题。

新增功能

  • DeepSeek 服务商 — 在服务商列表里新增 DeepSeek 独立预设,走官方 Anthropic 兼容端点 api.deepseek.com/anthropic,只需填 Key 即用。默认主模型 DeepSeek V4 Pro,Haiku 档位映射到更便宜的 DeepSeek V4 Flash,压缩/总结这类辅助调用能自动走便宜档
  • OpenAI OAuth 支持 GPT-5.5 — ChatGPT Plus/Pro 授权登录后,模型下拉里新增 GPT-5.5(排在 GPT-5.4 之上),新会话未指定模型时默认用 GPT-5.5

修复问题

  • 切换服务商时环境变量残留 — 之前如果用户在系统环境里设过 DeepSeek 文档里的 CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK / CLAUDE_CODE_EFFORT_LEVEL,切到其它服务商后这两个变量仍会带到子进程里,影响其它服务商的请求行为。现在切换服务商时会连同这两个 key 一起清掉,避免跨服务商污染

优化改进

  • 小米 MiMo 升级到 V2.5-Pro — 按量付费和 Token Plan 两个预设里的默认模型从 mimo-v2-pro 全部切到 mimo-v2.5-pro,界面上显示名也同步更新为 MiMo-V2.5-Pro

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.53.0

22 Apr 17:35

Choose a tag to compare

CodePilot v0.53.0

设计 Agent 新增 OpenAI GPT Image 2 图像生成能力,同时给 Nano Banana 和 GPT Image 都加上"第三方兼容 API"选项——有中转代理的用户不用再改代码。配套补齐模型选择、实时模型标识、2K/4K 尺寸支持、第三方连接测试等一圈可见性改进。

新增功能

  • OpenAI GPT Image 2 图像生成 — 设计 Agent 的服务商列表里新增 OpenAI (Image) 一档,支持 GPT Image 2 / 1.5 / 1 / 1-mini 四个模型。GPT Image 2 尺寸按官方规格算真实的像素比:1:1/16:9/9:16/3:2/2:3/4:3/3:4/4:5/5:4/21:9 十个比例 × 1K/2K/4K 三档分辨率,每一档都会尊重你选的比例而不是套用老三档(1024×1024 / 1536×1024 / 1024×1536)。支持参考图(垫图)走 /v1/images/edits 端点,连续编辑不再被丢弃
  • 媒体服务商第三方兼容 — Nano Banana 和 GPT Image 都多了"Third-party"预设,只需要填 Base URL 和 Key,其他配置完全照搬官方。现在可以把图像生成走自己架设的 OpenAI 兼容 / Gemini 兼容代理
  • 当前图像模型实时显示 — 聊天里的"图片生成"卡片右上角会显示当前要用的模型和服务商(比如"GPT Image 2 · OpenAI (Image)")。当默认服务商缺 Key 或被改过类型时会显示琥珀色提示,点一下跳到设置页
  • "图片生成默认"服务商标记 — 同时配了多个图像服务商的用户,现在可以在设置里一键把某一行设为"用于图片生成"。点某个服务商下的模型胶囊按钮会自动把那一行标为默认

优化改进

  • 设计 Agent 选型更确定 — 原先同时配置多个图像服务商时由数据库行顺序决定用哪个,行为不可控。现在走"显式 providerId → 模型名家族前缀 → 用户设定的默认 → 优先 Gemini 兼容"四步优先级,每一步都可预测
  • 第三方媒体服务商连接测试正确路由 — 之前 OpenAI/Gemini 图像服务商的"测试连接"按钮跑的是 Anthropic /v1/messages 探针,对这两个服务永远失败。现在 OpenAI Image 走 GET /v1/models + Bearer,Gemini Image 走 GET /v1beta/models?key=...,第三方配置也能真实验证
  • 服务商 Base URL 精确匹配加上协议隔离 — 加入 GPT Image 后 https://api.openai.com/v1 同时属于多个预设。之前聊天用的 openai-compatible 服务商在这个 URL 下会错误继承 GPT Image 模型目录,现在精确匹配会检查协议一致性
  • 第三方媒体服务商强制要求 Base URL — 创建和编辑时如果 OpenAI/Gemini Image 的 Base URL 为空会被拦下并提示。之前留空会静默回落到官方端点,让"第三方配置"形同虚设
  • 失效默认图像服务商有清理入口 — 默认图像服务商的行被删除、类型被改成非媒体类型、或 Key 被清空时,服务商设置页会显示一条琥珀色提示 + 清除按钮。后端也会在删除/改类型时自动清理设置,两边兜底

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.52.1

21 Apr 09:07

Choose a tag to compare

CodePilot v0.52.1

修复 v0.52.0 升级后"欢迎页关了还弹"的死循环 + 补齐 Artifact 卡片和预览面板的中文本地化。有用户反馈过卡在欢迎页的强烈建议升级。

修复问题

  • 升级后"欢迎页关了还弹"死循环 — v0.52.0 升级后有用户反馈每次新建对话、延续老对话都会跳回欢迎页。尤其是没有手动加过服务商、直接用 Claude Code 的用户,点"添加服务商"没反应、点"跳过"也关不掉。根因是首次引导的"已完成"标记在三张卡都已完成 / 跳过的情况下没被补上,以及从欢迎页点"添加服务商"跳转到设置页时的哈希被全局中间件吞掉。本版从后端和前端两层都做了归一化:老用户升级后第一次打开就会自愈,以后点"跳过并进入"或"添加服务商"不再复发
  • 点"添加服务商"真的跳到服务商设置页 — 之前点这个按钮会跳到 /settings#providers,但被欢迎页的全局哈希拦截器重新吞回去,视觉上像"点了没反应"。现在能直接落到服务商管理页,SettingsLayout 自己处理 #providers 哈希路由
  • 服务商卡片跳过后显示矛盾 — 卡片右上角已经是灰色 Skipped 状态 chip,但卡片内容里还渲染着一个蓝色的"添加服务商"主按钮,两种状态对不上。跳过后的卡片现在显示"已跳过,可在 设置 › 服务商 里随时添加"+ 一个小链接,整体视觉一致
  • Artifact 卡片 + 预览面板按钮漏做中文翻译 — v0.52.0 新加的聊天里 AI 修改文件时的 Artifact 卡片("预览" / "导出截图"两个按钮)、预览面板头部的 Tab 栏("编辑" / "源码" / "预览")以及头部工具按钮("保存" / "复制内容" / "导出长图" / "关闭预览")在中文界面里全部还是英文。本版 12 个 key 补齐中文翻译

优化改进

  • 欢迎页持久化用 await + keepalive 加固 — 之前点"添加服务商"后先 fire-and-forget 写入"已完成"标记再跳转,有小概率请求在页面卸载时被中止,下次启动还弹。现在跳转前明确 await 这次写入,并加 keepalive: true 双保险
  • 欢迎页手动打开时不再被自动关闭 — 当三张卡都已完成 / 跳过时手动从其他入口(比如跳过过的服务商卡片里的"打开服务商设置")打开欢迎页,之前会 800ms 后自动消失(因为统一触发了 auto-close)。现在只有本次会话里从 "还没完成" 推进到 3/3 才会自动关,手动打开的会保留

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.52.0

21 Apr 04:03

Choose a tag to compare

CodePilot v0.52.0

Artifact 预览面板升级:AI 生成的 React 组件和表格现在可以在侧栏直接看、Markdown 可以直接改,HTML 一键导出长图。长文档预览从 1000 行放宽到 50000 行。

新增功能

  • Artifact 支持 React 组件预览(.jsx / .tsx) — AI 在聊天里生成或修改 .jsx/.tsx 时,聊天里会出现 Artifact 卡片;点击 "Open preview" 在侧栏看到实时渲染结果。支持 React hooks、Tailwind utility 和 react/react-dom/lucide-react 等白名单依赖。第一版聚焦"单文件 React 组件",多文件项目 / @/ 路径别名 / CSS import 这类复杂场景会明确提示"当前不支持",不会无声失败
  • Artifact 支持 CSV / TSV 表格预览 — AI 生成或写入的 .csv/.tsv 文件在聊天里会有卡片,文件树里点击也默认进入表格视图。支持点列头排序、一键导出 CSV / JSON
  • Markdown 文件直接在预览面板里编辑 — 之前只能看不能改;现在 .md / .mdx / .txt 打开后可以在 "Edit" 视图直接用 CodeMirror 6 编辑,1 秒停笔后自动保存到磁盘,不用切到 Obsidian。Tab 缩进、⌘S 主动保存、深色主题跟随系统都已支持
  • HTML Artifact 一键导出长图 — 预览 HTML 时标题栏有"导出长图"按钮,一次把整页渲染成 PNG(超过视口高度也能完整抓到),直接下载到本地。同一张卡片在聊天里也能导出
  • 文件树新建文件 / 文件夹 — 文件树任务分割线下方有 VS Code 风格的 "New Markdown" / "New Folder" 按钮;点击某个文件夹会高亮选中,之后新建的文件会落到这个文件夹里
  • 聊天里 AI 修改过的文件变成 Artifact 卡片 — 以前 AI 修改多个文件时只是一行小字 "Modified 3 files",现在每个可预览的文件(Markdown / HTML / JSX / TSX / CSV / TSV)都是一张独立卡片,带 Created / Modified 状态 chip + "Open preview" 按钮,非预览类文件收进底部一行 "Also modified: ..." 不占空间
  • 文件写入 / 删除 / 改名 / 新建文件夹四套 API.md 编辑靠它保存;删除走系统回收站(不是真删),误操作可以在访达/资源管理器的回收站恢复;路径安全检查统一走 symlink 拒绝 + 真实路径比对,不允许跨工作区写入

修复问题

  • 快速切换多个 .tsx 文件时预览错乱 — 之前点 A.tsx 看到 A,切到 B.tsx 还是 A;根源是 Sandpack 运行入口没有按文件重建。现在每个文件有独立 provider 实例 + 内容哈希,切换即时生效
  • 文件预览首帧闪旧内容 — 点击新文件时面板会短暂显示上一个文件的内容再切到新的。现在内容会在新路径加载前被清空,不会再闪
  • Markdown 自动保存偶尔把 A 文件的内容写到 B 路径 — 快速切文件时的罕见 race condition,现在保存前先确认"当前预览的文件"和"编辑器里的文件"一致才写入
  • 预览文件请求能跟随符号链接到工作区外 — 即使工作区本身是 symlink 也能兼容,但如果目标文件自身是 symlink 则拒绝访问,防止信息泄露

优化改进

  • Markdown 预览上限从 1000 行 / ~30KB 放宽到 50000 行 / 10MB — 真实长文档(论文、长篇博客、大段 changelog)可以完整打开。超过上限时会在顶部显示截断提示,明确告诉你看到的是前 N 行
  • 预览列表加截断提示横幅 — 文件太大被截断时有一行黄色提示说明原因(按行数 / 按字节),而不是静默显示不完整的内容
  • 二进制文件预览时给占位说明 — 打开 PNG / 字体 / 可执行文件不会再看到一串乱码,会显示"该文件是二进制格式,无法作为文本预览"
  • 代码高亮缓存从聊天到预览共享 — 之前聊天和预览各用一套无上限的 Shiki 高亮器缓存,长会话后占内存。现在合并到同一个 10 个 highlighter + 200 个 token 结果的 LRU 上
  • Preview 面板现在支持聊天里提取的内联内容 — 为后续"AI 直接在聊天里出内联表格 / HTML 片段"铺垫好了数据模型(PreviewSource 联合类型)
  • 聊天 AI 生成的文件路径自动解析 — 有些工具返回的是相对路径,以前点击卡片会 404;现在会和当前工作目录拼接后再打开
  • 新建文件 / 编辑器 / 表格 / Sandpack 都是按需加载 — 不打开预览的场景不会多吃首屏 bundle

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.51.1

19 Apr 11:37

Choose a tag to compare

CodePilot v0.51.1

修复长会话在上下文压缩之后 Claude Code 引擎下的严重行为异常:工具调用被模型以纯文本形式写入聊天、反复触发自动压缩、压缩状态不更新等问题。强烈建议所有使用 Claude Code 引擎且会话偏长的用户升级。

修复问题

  • 压缩后模型不再调用工具,而是把工具调用写成文本 — 这是最严重的一个问题。到会话中段(通常是第一次自动压缩或手动 /compact 之后),模型会开始输出类似 (used Read: {"file_path":"..."}) 这样的纯文本,工具实际上没有执行,聊天气泡里只是在"叙述"它本该做的事情。本版从压缩时的历史重写机制入手彻底修复
  • 手动 /compact 之后反复被自动压缩 — 之前压缩只是把摘要写入数据库,但 Claude Code SDK 会继续用它自己的完整历史做 resume,摘要实际上没有被模型看到,下一轮又会命中上下文上限再次触发压缩。现在压缩成功后会强制切换到"摘要 + 最近消息 + 当前提问"的新会话,SDK 会从干净的状态继续
  • /compact 的"上下文已压缩..."系统提示被错误写入对话历史 — 这条本意是给用户看的消息被保存成了 assistant 消息,之后模型每轮都会看到它,多次压缩后甚至会被下一次压缩连同正文一起总结进新摘要。现在这条提示只在当轮通过 SSE 推给前端,不再进数据库
  • 对话很短时使用 /compact 的"新消息不多"提示同样被错误持久化 — 同上处理,只推前端不入库
  • 压缩成功后前端"已压缩"指示器偶尔不翻转 — 之前反应式压缩(上下文超长时后台自动触发的压缩重试)走的状态事件格式与前端期待的不一致,导致 hasSummary 不更新。三条压缩路径的事件格式现在收敛到同一个 helper,前端一致识别
  • 反应式压缩成功后新 SDK 会话未持久化 — 超长上下文触发的自动压缩重试如果成功,下一轮应该走新的 SDK 会话继续;之前没有把新 session id 写回数据库,下一轮又会走 fallback 全量历史,等于压缩白做。现在反应式压缩也会持久化新 session id
  • 二次手动 /compact 重复总结已压缩内容 — 第二次 /compact 之前会把已经被上次压缩覆盖过的全部历史再喂给摘要器一次,不仅浪费 token,还可能让新摘要里重复或偏移原内容。现在只会压缩"上次 boundary 之后的新消息"

优化改进

  • 压缩覆盖边界改用 SQLite rowid,不再用秒级时间戳。之前在消息写入速度足够快时(比如自动压缩和当前用户消息同秒落库),基于时间戳的边界判断可能把一条未被摘要的用户消息当成"已覆盖"误丢;rowid 是单调递增的,彻底消除了这类歧义
  • 长会话再次压缩时覆盖边界只会前进、不会回退。任何"降级路径"(比如拿不到消息元数据时)都会保留原有边界而非重置为 0,避免之前刚建立的边界被意外清除
  • 新增技术交接文档 docs/handover/compact-coverage-boundary.md,记录压缩覆盖边界的所有不变量、数据库 schema、三条压缩路径的写法,供后续维护

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.51.0

19 Apr 03:20

Choose a tag to compare

CodePilot v0.51.0

支持 Claude Opus 4.7(1M 上下文 + xhigh 推理),升级 Agent SDK 至 0.2.111 并落地新能力;输入框加入结构化 @ 文件/文件夹引用和拖拽识别;新增全局搜索(会话 / 消息 / 文件三类)。

新增功能

  • Claude Opus 4.7 作为默认 Opus 模型 — 首方 Anthropic 下默认 1M 上下文,新增 xhigh 推理档位。启用 extended thinking 时会自动切到 adaptive+summarized,让思考过程在 UI 上可见
  • @ 文件 / 文件夹 结构化引用 — 输入框敲 @ 唤起选择器(视觉上与 / 命令、CLI 工具、模型选择器统一),可选择文件或文件夹;选中后以 chip 展示,发送时作为结构化元数据一起送出,LLM 能直接读取被引用的目录内容摘要
  • 文件夹拖拽识别 — 从 Finder 拖文件夹到输入框,现在会被正确识别为 @directory mention 并插入 chip;之前会变成一个 0 字节的空附件
  • 全局搜索对话框 — 侧栏搜索按钮唤起,默认同时搜会话 / 消息 / 文件;支持 session: / message: / file: 前缀缩小范围;点击消息结果直达对应会话位置,点击文件结果直达文件
  • 对话结束原因 Chip — 当一轮对话因 prompt_too_long / blocking_limit / max_turns 等特殊原因结束时,末尾显示状态 chip,并附可操作按钮(压缩后重试、启用 1M 上下文、切换到 Sonnet、打开 hook 设置等 8 个动作,按终止原因匹配)
  • 订阅配额 Banner — 使用 claude.ai 订阅时遇到配额预警或拒绝,聊天页顶部显示倒计时 banner,按会话可关闭
  • 上下文指示器精确化 — 指示器现在用 SDK 返回的真实 usage 字段(input_tokens + cache_read + cache_creation),不再走 char-based 估算;tooltip 上新增数据来源标记

修复问题

  • 新聊天首轮的思考片段、结束原因 chip、订阅 banner 在页面从 /chat 跳到 /chat/[id] 后正确保留显示,之前首轮这些状态会被吃掉
  • 使用 /compact 或压缩失败后不小心在关闭窗口外重试的问题 — 现在 compress_and_retry 窗口会被后续的 /compact 或 compress_only 动作明确关闭
  • 空 base_url 的遗留 Anthropic 第三方 provider(GLM、Kimi、MiniMax 等)不会再因为协议校验错误被误判;第三方 Anthropic 代理选择推理强度时会弹出提示说明该参数在该运行时会被忽略
  • Bedrock / Vertex provider 的 base_url 缺省不会再被 provider-doctor 报错
  • @ 选择器的文件夹和文件图标统一为中性配色(之前是主题蓝,与其他 popover 不一致);Files 头换成和技能选择器一致的分组标签
  • 新聊天中当工作目录在 /tmp、外部盘或挂载盘时,@ 选择器不会再被错误拒绝(之前只认 $HOME 下的路径)

优化改进

  • 全局搜索性能 — 在历史会话较多(30+)的本地库上,默认 all-mode 每次键入不再扫描所有会话的工作目录,改为按 resolved 路径去重后只扫最近 5 个唯一 workspace;file: / files: 前缀放宽到 15 个。跨 10+ 项目找文件时需要显式用 file: 前缀才能覆盖更广
  • Claude Agent SDK 升级 至 0.2.111(从 0.2.62 跨越 49 个版本),带来 TerminalReason、RateLimitEvent、精确 context usage 等新能力;AI SDK Anthropic 同步升级到 3.0.70
  • Turbopack 构建期 NFT 警告从 16 条降到 1 条(通过 outputFileTracingExcludes + 静态 JSON import + 移除 db 层动态 require);剩余 1 条是 instrumentation 和 /api/files/suggest 共享 chunk 的已知限制,不影响实际运行

已知限制

  • @文件 / @文件夹 暂不识别含空格的路径(如 docs/Product Spec.md),picker 插入和拖拽都会在第一个空格处截断;含空格的目录/文件只能作为普通文本提到,chip 不显示、不发送结构化元数据。下个小版本单独修
  • E2E 自动化覆盖本版收窄到核心路径(≈44 条通过 / ≈112 条 skipped);layout / plugins / settings / skills 等 describe 块在新 UI 下 selectors 已全面失效,已明确 test.describe.skip 待重写。单元测试 1084 条、smoke 6 条全绿,核心主路径覆盖仍在,但上述区域的视觉/布局回归短期内靠手动 / CDP 抽查
  • 全局搜索 all-mode 只覆盖最近 5 个唯一 workspace,跨更多项目找文件需要显式使用 file: 前缀;未来计划引入文件索引替代每次递归扫盘

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter / OpenAI 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.50.3

15 Apr 17:15

Choose a tag to compare

CodePilot v0.50.3

Agent 引擎选择简化 + 入口引导收敛。此版本把 0.50.2 后冒出的 FileTree 崩溃、OpenAI OAuth 用户被错误拦截、阿里云百炼缺 Qwen 3.6 Plus 等问题一次性清掉;同时落地了之前积累已久的改动:Agent 引擎去掉"自动"选项、发消息时没配置服务商直接引导去设置中心。cc-switch 纯用户升级后首次发消息会被引导去添加 CodePilot 服务商,这是本版的主要行为变化,见下方说明。

新增功能

  • 阿里云百炼增加 Qwen 3.6 Plus 模型#483):替换原有 Qwen 3.5 Plus。已经在会话里显式选过旧模型名的用户,下次发消息时模型选择器会自动回到默认,手动重选即可
  • 没配置服务商时自动打开引导:首次安装或没在 CodePilot 里添加过任何服务商的用户,发消息时不会再出一条莫名其妙的"No provider credentials"错误,而是直接弹出 SetupCenter 的服务商卡片引导添加

改进体验

  • Agent 引擎选择从三项变两项:设置页的"Agent 内核"下拉只剩 Claude CodeAI SDK 两项,删掉了原先含义模糊的"自动"选项。原先选"自动"的用户,首次打开设置页时会按当前环境自动迁移到具体值(装了 Claude Code CLI → Claude Code,没装 → AI SDK),持久化写回,之后不再变动
  • 聊天页引擎标识同步:右侧聊天页的引擎 badge 不再出现"Agent: Auto",读到 legacy 'auto' 值会立即按同一规则折算显示具体引擎
  • 错误提示统一引导到"设置 → 服务商":Claude Code CLI 的 "Not logged in · Please run /login" 和 CodePilot 自己的"No provider credentials available"两种错误,现在统一归类为"未配置服务商",文案一致、都带"打开设置"按钮,不再让用户看到 /login 这种在 CodePilot 里走不通的引导
  • OpenAI OAuth 登录 / 登出同步 SetupCenter:之前 OAuth 登录成功、设置面板的 Provider 卡片不会实时翻绿;登出后也不会回灰。现在两条路径都立即更新

修复问题

  • 打开聊天页时 FileTree 崩溃(0.50.2 回归):Next.js 16 + Turbopack 生产构建在某种编译模式下会对解构默认参数里的 new Set()ReferenceError: defaultExpanded is not defined。将默认值提到模块顶层常量
  • OpenAI OAuth 用户发消息被 412 拦截:本版新加的"入口拦截"最初漏识别 OpenAI OAuth 这个虚拟服务商,导致用 OAuth 登录的用户一律被错误引导去配服务商。现补上 OAuth 存在性判定
  • Bedrock / Vertex 供应商被误判为"未配置":新 UI 把路由 flag 存到 env_overrides_json,旧代码只读 extra_env。改成和 resolver 一样的 env_overrides_json || extra_env 优先级 + JSON 解析
  • SetupCenter 对只装了 Claude Code CLI 的用户显示"服务商已配置":这些用户被新的入口拦截挡住,但 SetupCenter 还告诉他们"provider 已完成",陷入无可操作的死循环。现在两边判定口径对齐
  • OAuth 登出后 Provider 卡片不降级:之前只能升 completed 不能降 not-configured,登出后 SetupCenter 继续显示绿色假态
  • legacy 'auto' 迁移可能把装了 CLI 的用户错写成 AI SDK:迁移逻辑之前依赖异步 hook 状态,首次加载时 hook 还是 null 会被误判为 "CLI 未装"。改为迁移分支内直接查一次 /api/claude-status,状态查询失败时不持久化,保留旧值待下次重试

重要行为变化(cc-switch 用户必读)

从 0.50.3 起,CodePilot 的"有没有可用服务商"判定不再~/.claude/settings.json(cc-switch / 手动编辑)视作有效服务商。如果你之前纯靠 cc-switch 管理 Claude Code 凭据、从未在 CodePilot 设置里添加过任何服务商,升级后首次发消息会被引导去"设置 → 服务商"添加一个 CodePilot 自己的服务商记录。

这是为了让 CodePilot 的每个请求都能精确地知道该走哪个服务商的凭据,避免之前 cc-switch 代理模式下占位符 token 被错当成真凭据而导致的各种诡异失败。你仍可以继续用 cc-switch 管理 Claude Code CLI 本身的凭据——两者是独立的。

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter / OpenAI 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.50.2

15 Apr 11:09

Choose a tag to compare

CodePilot v0.50.2

稳定性与凭据隔离专项修复版。重点修复 cc-switch 用户切换 provider 后被默默改路由、OpenAI OAuth 在部分网络环境下 403、Turbopack 生产路径报 "streamClaudeSdk is not a function"、内置 Memory/Widget 等 MCP 不该弹权限还弹的问题,以及 v0.49.0 后新增的长对话 AI_MissingToolResultsError 回归。强烈建议所有 cc-switch / 第三方 API / OpenAI OAuth 用户升级。

修复问题

  • cc-switch 切换 provider 后请求被默默改路由#461/#478/#476/#457/#470/#474):显式选择 Kimi/GLM/OpenRouter 等第三方 provider 时,~/.claude/settings.json 里 cc-switch 写入的 ANTHROPIC_* 环境变量不再覆盖你选的 provider 凭据;env group(无显式 provider)则继续完整尊重 cc-switch 配置。每个请求建临时 shadow HOME 做隔离,不影响任何原有文件
  • OpenAI OAuth 登录 "Token exchange failed: 403 - [object Object]"#464):macOS/Windows 用户在边缘节点 propagation 延迟时登录失败。现加 3 次指数退避重试(1s/2s/4s),对 403、408、429、5xx、网络级失败(ECONNRESET/ETIMEDOUT/ECONNREFUSED/ENOTFOUND)自动重试;错误消息不再出现 [object Object]
  • 升级后 localStorage 配置全丢(主题 / 默认模型 / 工作目录记忆)#465/#466/#477):Electron 每次启动 renderer origin 变化导致 localStorage 整体作废。改用 47823-47830 稳定端口范围,并修复"探测后释放再绑定"的 TOCTOU race(两实例同时启动不再相互踢掉)
  • v0.49.0+ 长对话卡死 "AI_MissingToolResultsError":v0.49.0 Hermes 升级把上下文窗口的近期轮次数从 16 降到 6,导致工具密集对话中 tool_use 块还在窗口内、配对的 tool_result 被截断,Vercel AI SDK 抛错卡死。恢复为 16 轮,截断标记改为 [Pruned <toolName> result: ...] 让模型仍能配对
  • 第三方 provider 发消息报 "streamClaudeSdk is not a function":Next.js 16 + Turbopack 的 CJS↔ESM interop 问题,影响 chat 主路径。把 5 处内部 lazy require() 改为静态 ES import 修复
  • 内置 Memory / Widget / Notify 等 MCP 被反复弹权限确认:cc-switch 桥接工作上线后被误触发。7 个 CodePilot 内置 MCP 现通过 allowedTools 自动批准(用户自装的 MCP 仍按原权限模式走)
  • Windows 报 "Claude Code executable not found":247 events/14d 的 Sentry 顶部错误。SDK cli.js 之前没被复制到 standalone bundle,现加入 serverExternalPackages 让 SDK 随 extraResources 完整保留
  • 切换会话后计时器归零#480/#484):ElapsedTimer 之前 mount 时用 Date.now() 当起点,session 切换 remount 归零。改为从 stream-session-manager 透传起点时间,remount 后基于真实起点恢复
  • 选 slash 命令清空已输入文本#479/#486):弹窗选命令时触发位前后的用户已输入内容会被清掉。现在保留文本,光标定位到末尾
  • Skills 弹窗误触发 / 不能多选 / badge 占地方:输入框里带单斜杠路径(src/appfoo/bar~/bin)不再误触发弹窗;点击斜杠按钮时如前面是非空白字符会自动补空格,hellohello / 正常弹出 Skills 选择器;支持同时选多个 Skills(按 command 去重),发送时合并为一条 prompt;badge 显示只保留命令名,去掉占地方的描述文字
  • findClaudeBinary 首次启动误报:WSL2 / 跨境 VPN 用户 timeout 3s 改 5s;两遍策略先找存在路径再做 --version 校验,校验超时但文件存在仍返回该路径
  • OpenAI OAuth 误重试浪费时间:token exchange 的真实 auth 错误(400/401/404/422)不再参与重试

优化改进

  • Sentry 服务端 ignoreErrors 补齐 prompt() is not supported(Electron 未实现)和 ResizeObserver loop 两条规则,与 client 端同步(368 events/14d 噪声清理)
  • 内置 MCP 启动失败错误提示更清晰

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter / OpenAI 等)
  • 推荐安装 Claude Code CLI 以获得完整功能

CodePilot v0.50.1

14 Apr 17:53

Choose a tag to compare

CodePilot v0.50.1

飞书一键创建机器人 + SubAgent UI 可视化 + 消息队列模式 + 桥接稳定性大修 — 推荐所有飞书桥接用户升级。v0.50.0 因 CI lint 规则未通过构建未发布,v0.50.1 修复后重新发版。

新增功能

  • 飞书一键创建机器人:设置 → 飞书设置 → "创建并绑定飞书应用",浏览器自动打开飞书授权页面,确认后 Bot 能力、权限、事件订阅和长连接模式全部自动配置,无需再手动进飞书开放平台后台
  • SubAgent 执行过程可视化:Agent 调用子代理(explore / general)时,工具面板会显示闪电图标和子代理的嵌套工具调用进度(带 spinner / 完成 / 失败状态指示)
  • 输入框草稿持久化:在一个聊天中打了字还没发送,切换到别的聊天再切回来,输入内容仍然保留(按会话分别保存)
  • 消息队列模式:AI 正在响应时继续输入并回车,消息会显示在输入框上方的队列卡片里,AI 回复完成后自动发送。支持取消队列中的消息,参考 Codex 设计
  • 飞书 AskUserQuestion 交互卡片:Agent 在飞书桥接中使用 AskUserQuestion 时,现在会渲染为带选项按钮的交互卡片(之前直接被拒绝),点击选项即可继续对话
  • 飞书资源消息支持:飞书桥接现在可以接收图片、文件、音频、视频消息,自动下载并附加到对话上下文(带重试和 20MB 大小限制)

修复问题

  • 飞书群聊 @mention 过滤失效#384):设置"需要 @提及"开关后,机器人真的会在群里只响应 @bot 的消息
  • 飞书话题群串 session#321):未开启"话题会话"时,不同话题消息不再被错误地路由到独立会话
  • 飞书桥接鉴权配置失效:dmPolicy / groupPolicy / allowFrom / groupAllowFrom 配置现在真的会拦截未授权用户的消息和卡片点击(之前是配置存在但从未生效)
  • 飞书 WebSocket 幽灵连接:停止桥接或重绑应用时,旧的长连接现在会被正确关闭,不再出现重复消息投递
  • 桥接停止不中断任务:点击"停止桥接"后,正在运行的 Claude 会话会立刻被打断,不再继续写数据库
  • 历史回放二进制附件乱码:音频、视频、二进制文件在历史对话重放时不再被当成 UTF-8 文本注入上下文
  • 消息投递可靠性#266):飞书 outbound 消息加了指数退避重试,瞬时网络故障不再导致消息丢失
  • SubAgent 启动后后续消息排队:在 AI 执行子代理期间继续发消息不会阻塞,会进入队列等待当前轮次完成

优化改进

  • 队列中的消息以卡片形式悬浮在输入框上方(参考 Codex),可随时取消,不再混在聊天流里造成"两条用户消息一条没回复"的视觉错觉
  • Streaming 中输入时按钮图标智能切换:空输入 → 终止图标,有内容 → 发送图标(只对纯文本有效;slash 命令 / badge / Image Agent 保持终止图标避免误导)
  • 飞书快速创建支持已有应用场景:点击"已有飞书应用?点击手动配置"可展开原有的 App ID / App Secret 手动录入表单
  • 飞书多 question / multi-select 的 AskUserQuestion 会被明确拒绝并附带清晰原因,不再静默截断成半截答案
  • 飞书 bot identity 启动失败后会每 60s 后台重试,不再永久 fail-open(#384 的边界情况)

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter / OpenAI 等)
  • 可选安装 Claude Code CLI 以获得完整命令行能力

CodePilot v0.49.0

12 Apr 11:09

Choose a tag to compare

CodePilot v0.49.0

Agent Runtime 能力大升级 — 借鉴 Hermes Agent 框架的 6 项核心能力 + 12 项额外改进。Native Runtime 用户将获得更智能的工具调度、更低的 API 成本、跨会话记忆、以及全新的交互式提问和 Skill 建议功能。

新增功能

  • 历史会话搜索:Agent 现在可以搜索所有历史对话的内容。当你说"上次我们讨论 X 的结论是什么"时,它能自动检索并引用之前的对话,不再需要手动翻找和复制
  • Skill 自动保存建议:当 Agent 完成一个复杂多步工作流(8+ 步骤、3+ 种工具)后,会在对话区底部弹出持久提示条,建议你把这个流程保存为可复用的 Skill。点击"保存为 Skill"按钮可一键启动保存流程
  • 结构化提问(AskUserQuestion):Agent 现在可以向你提出结构化的多选题,而不只是文字提问。当需要你在多个方案之间做选择时,会弹出带选项按钮的交互卡片,所有问题必须回答完整才能提交
  • 辅助模型自动路由:上下文压缩、摘要等辅助任务现在会自动使用你配置中的小模型(如 Haiku),不再消耗主模型的额度。支持 5 级智能降级,即使主服务商不可用也能自动切换到备用服务商
  • 上下文压缩通知:长对话触发自动压缩时,状态栏会显示"已压缩 N 条消息,节省约 X tokens"的提示,持续 5 秒,让你知道发生了什么

优化改进

  • 辅助模型路由现在正确识别当前会话的服务商,不再错误使用全局默认服务商的凭证进行压缩
  • Bridge/IM 场景下 AskUserQuestion 会被明确拒绝并提示模型改用文字提问,而不是静默返回空答案
  • 权限系统新增"总是需要交互"工具类别,AskUserQuestion 和 ExitPlanMode 即使在信任模式下也会弹出 UI
  • permission-registry 的超时计时器添加了 unref(),不再阻止应用优雅退出
  • 上下文压缩器 shouldAutoCompact 标记为 @deprecated,指向真正在用的 needsCompression

基础设施(开发者相关)

  • 并行安全调度模块(parallel-safety.ts):4 层判定算法已就绪,等待 AI SDK 提供 batch 级 hook 后接入
  • 渐进式子目录发现模块(subdirectory-hint-tracker.ts):AGENTS.md/CLAUDE.md 懒加载已就绪,等待 agent-tools.ts 集成
  • Token 预算裁剪模块(pruneOldToolResultsByBudget):可选的增强裁剪策略已就绪
  • 新增 ~90 个单元测试,覆盖所有新模块

下载地址

macOS

Windows

安装说明

macOS: 下载 DMG → 拖入 Applications → 首次启动如遇安全提示,在系统设置 > 隐私与安全中点击"仍要打开"
Windows: 下载 exe 安装包 → 双击安装

系统要求

  • macOS 12.0+ / Windows 10+ / Linux (glibc 2.31+)
  • 需要配置 API 服务商(Anthropic / OpenRouter / OpenAI 等)
  • 可选安装 Claude Code CLI 以获得完整命令行能力