Releases: op7418/CodePilot
CodePilot v0.54.0
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
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
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
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
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
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 拖文件夹到输入框,现在会被正确识别为
@directorymention 并插入 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
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 Code 和 AI 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
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/app、foo/bar、~/bin)不再误触发弹窗;点击斜杠按钮时如前面是非空白字符会自动补空格,hello→hello /正常弹出 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
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
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 以获得完整命令行能力