跳到主要内容

6 篇博文 含有标签「Gemini CLI」

查看所有标签

Gemini CLI v0.49.0 发布 —— 零配额快速失败,traversal 漏洞修复,eval 命令

· 阅读需 2 分钟

Gemini CLI v0.49.0 封面

零配额快速失败

API 配额为零时不再陷入重试循环死等,直接快速失败报错,避免请求无限重试(#27698)。

安全修复

  • 路径遍历漏洞修复:skill 安装时阻止路径遍历攻击,不能通过 skill 文件名跳出目标目录(#27767)
  • 依赖锁定与更新冷却:npm 依赖锁定后设置 14 天更新冷却期(#27948)

功能改进

  • GDC 断网 Service Identity 支持:GDC 离线环境支持通过 Service Identity 认证(#27956)
  • eval:inventory CLI 命令:新增 eval 清单命令,支持 JSON 输出,可以查看所有评估数据的汇总报告(#28009, #28058)
  • 静态评估源分析器:新增源分析器用于评估数据溯源(#27631)
  • tmux 背景检测修复:修复 tmux 环境下被误判为后台进程的问题(#27572)
  • 多行转义引号处理:修复 shell 输出处理中的多行转义引号问题(#27467)
  • pending 工具与信任覆盖修复(#27854)

其他

  • 工具输出格式标准化(#27772)
  • coreTools 迁移到 tools.core(#27947)
  • 工作区发布失败和调度事件循环饥饿修复(#28063)

升级方式:

npm update -g @google-gemini/gemini-cli

完整更新日志:GitHub Release v0.49.0

📢 关注我,获取最新开源更新日志和开发者工具动态。

#GeminiCLI #v0.49.0 #Google #AI编程工具 #LLM更新报告 #AI写代码的小任

Gemini CLI v0.47.0 发布 —— 3.5 Flash 成了 auto 模式默认,MCP 发现不再漏配

· 阅读需 3 分钟

结果回复速度快了一截。翻了一下 Release,原来 v0.47.0 刚发布,最大的变化藏在 auto 模式的默认模型里。

Gemini CLI v0.47.0 封面

3.5 Flash 成了 auto 模式的默认

auto 模式现在默认使用 Gemini 3.5 Flash(对应 flag 启用时),后端定义也做了对齐。

之前 auto 模式会在 Pro 和 Flash 间按任务复杂度切换,但 Flash 一直是实验性的,不敢用于生产代码。v0.47.0 把 3.5 Flash 正式拉进 auto 调度队列,说明谷歌对这个模型的质量有了足够信心。

实际体验了一上午:写 SQL、改配置、写单元测试——3.5 Flash 跟之前 Pro 没差太多,但速度快了一截。之前因为速度对 auto 模式不满意的人,这次值得再给一次机会。

MCP 工具发现改成了原子更新

之前改 MCP 配置重启后,部分工具没加载出来,或者加载了旧版。原因是工具发现过程不是原子性的——配置更新和工具重新注册之间有个时间窗口,一旦竞态条件触发,就会漏掉部分工具。

v0.47.0 改成了原子更新:要么全部加载成功,要么回滚到上次可用状态,不会出现半个配置生效的中间态。"我明明配了,但工具列表里就是找不到"的玄学问题,应该不会再有了。

EBUSY 回退与 TOML 解析恢复

两个修复放在一起看更有意思:

EBUSY 回退。macOS 上两个进程同时读写同一个策略文件时,系统返回 "Resource busy" 错误,CLI 之前直接崩溃。现在加了回退机制重试。

TOML 解析恢复。策略文件里有某个语法不规范(多了一个空格或注释格式不对),之前整个策略层拒绝工作。现在能从单次解析失败中恢复。

这两个修复不会出现在产品宣传页上,但它们决定了一个工具能不能被当作日常主力来用。

Vertex AI 模型映射修复

通过 Vertex AI 端点使用 Gemini CLI 的用户,之前某些模型的映射关系存在偏差,实际调用的模型和期望的不一致。这次修正后,模型路由应该跟配置完全对齐了。

其他小改进

避免持久化空 resume 会话:创建了会话但什么都没做就退出,不会出现在历史列表里了

移除 browser agent 文档的"实验性"标签:浏览器代理通过了内部验证

升级方式:

npx @google/gemini-cli
npm install -g @google/gemini-cli
brew install gemini-cli

完整更新日志:GitHub Release

📢 关注我,获取最新开源更新日志和开发者工具动态。

#GeminiCLI #版本更新 #AI写代码的小任 #LLM更新报告

Gemini CLI v0.45.0 发布 —— 自动路由、上下文轻量化,一个隐形的重构版本

· 阅读需 3 分钟

这个版本改了路由、精简了上下文、封了几个藏得很深的错误。每一处改动用户都不一定能直观感受到,但错过了这个版本,下次碰到诡异行为时你可能想不起是什么时候修好的。

Gemini CLI v0.45.0 封面

简化上下文,不只是为了整洁

feat(context): Complete simplification work(#27345)——这个 PR 标题很平淡。但我翻了下 gemini-cli 的上下文系统,它负责管理 agent 和聊天模型之间的消息交换逻辑,包括历史构建、tool call 的追踪、会话状态的管理。这项简化工作不是一次完成的——前面几轮 preview 版本就在做,v0.45.0 收尾了。

影响是:如果你觉得 agent 有时"记不住之前做了什么",或者工具调用历史越来越重,这个版本改的就是这部分。不是加缓存——是把上下文追踪路径缩短了。

自动路由更新:默认路由变了

Update default auto routing(#27071)这条值得关注。Gemini CLI 的 auto routing 决定你的请求走哪个模型处理。更新默认路由意味着同一个 gemini 命令,背后可能换了一条路径到达模型。不是改模型能力,是改分配策略——如果之前的默认路由遇到瓶颈(延迟、失败率、配额),这个版本换了一条更稳定的路线。

三个「看不出来修了」的修复

孤儿 function response 错误(#27389):routing classifiers 绕过之后,tool call 的返回结果找不到对应请求,出现已 orphan 的 function response 错误。修的方法是不绕过 classifiers。

MCP 列表黑名单绕过(#27377):mcp list 可以在某些路径下绕过黑名单过滤展示不该看的工具。安全修复,建议更新。

PTY resize EBADF 错误(#27461):终端窗口大小变化时,PTY 的 ioctl 返回 EBADF——不是每次触发,是特定时序下才出现。这个错误被静默吞掉,不再喷到 stdout 里。

小修复集合

  • Termux 不再无限重连(#27110):Android Termux 终端用户终于不会被重启循环反复打断
  • 会话恢复时过滤内部上下文(#27391):resume 时之前 session 的内部状态不再泄露到新对话中
  • Vim 模式误触修复(#27102):jk 等 vim 标准导航键不再被当作 Gemini CLI 命令处理
  • A2A 暴露使用元数据(#27288):Agent-to-Agent 场景下透传用量信息

升级

npm install -g @google/gemini-cli

完整更新日志:Gemini CLI v0.45.0 Release

📢 关注我,获取最新开源更新日志和开发者工具动态。

#开源项目 #GeminiCLI #AI工具 #终端Agent #谷歌

Gemini CLI v0.44 发布 —— 从一个对话工具到多 Agent 工作台,Google 只用了两个版本

· 阅读需 4 分钟

v0.44 不一样。它把 Auto Edit 和 Auto Run 合并成了一个 Auto 模式、加入了本地/远程 Agent 会话调用、有了 Sublime Text 和 Emacs 编辑器集成、甚至支持了子代理(Subagent)隔离执行。这些改动加在一起,Gemini CLI 从「对话工具」变成了「开发工作台」。

Gemini CLI v0.44

以前:两个 Auto 模式,你用哪个?

之前的 Gemini CLI 有两种 Auto 模式:Auto Edit 和 Auto Run。Auto Edit 自动改代码但不执行,Auto Run 自动执行命令。你得自己判断当前任务适合哪种模式,选错了还得切。

本质上这是把决策压力推给了用户——「你去想你的意图属于哪个分类」。但实际的开发流程是混在一起的:先改代码,再跑测试,发现报错再改代码,循环往复。人为在这中间画一条「这是 Edit」「这是 Run」的分界线,只会打断心流。

现在:一个 Auto,全自动

v0.44 合并了两个 Auto 模式。不需要你判断,不需要你切模式。改动代码也好,执行命令也罢,全在一个 Auto 模式下完成。

有没有意思?本质上就是把「用户自己做分类」变成了「模型自己判断意图」。背后是模型的提升——Gemini 2.5 Pro 和 Gemini 3.1 系列上下文窗口够大、推理够稳,能分清「这里只需要改代码」和「改完需要跑一下看看」。既然模型自己能判断,何必让用户手动选。

Agent 会话系统:子代理有了独立上下文

另一个值得关注的变化是 Agent 会话的引入。v0.44 加入了 LocalSessionInvocationRemoteSessionInvocation——意味着 Gemini CLI 现在支持在同一个会话中启动子代理,且子代理拥有独立的上下文。

这不是简单的并发。子代理的上下文完全隔离:主代理的上下文不会泄漏到子代理里,子代理之间的上下文也互不干扰。这让并行任务(同时修两个不同模块的 bug、同时查两份文档)变成可行的架构。

同时加了一个 adk.agentSessionSubagentEnabled 标志来控制这个功能——典型的企业级控制,团队管理员可以决定是否允许用户开启子代理功能。

编辑器集成:终于轮到 Sublime 和 Emacs 用户了

之前 Gemini CLI 对编辑器的支持主要集中在 VS Code 和 JetBrains 上。v0.44 加上了 Sublime Text 和 Emacs 客户端。说实话这两个的用户量不算大,但 Google 的社区贡献者主动提交了这些支持——说明 Gemini CLI 的真实用户画像比想象中更广,不只有 VS Code 主流用户。

其他值得关注的更新

  • Agent 注册策略改为 first-wins:如果项目目录和全局都有同名 Agent,项目级别的优先。之前的行为不明确,现在有了确定的优先级
  • 子代理线程上下文隔离:子代理运行时不会污染主代理的线程上下文。修复了一些诡异的偶发崩溃
  • 上下文文件改为追加而非替换:之前每次编辑上下文文件会覆盖之前的内容,现在累积追加。如果你习惯一次次添加上下文,不会再丢失上一步的内容
  • Shell 输出节流:高频输出的命令(如 ping、日志 tail)不会让 TUI 卡死了,有实时 UI 缓冲区上限
  • RAG 片段本地日志:可以在本地日志中看到 RAG 检索到了哪些片段,对调试 Agent 行为很有帮助
  • NixOS 沙盒兼容修复:NixOS 上跑 sandbox 不再报 permission denied

升级:

npm update -g @google/gemini-cli
# 或用 npx
npx @google/gemini-cli

完整更新日志:https://github.com/google-gemini/gemini-cli/releases/tag/v0.44.1

📢 关注我,获取最新开源更新日志和开发者工具动态。如果觉得这篇文章有用,欢迎转发给身边的开发者朋友。

#GeminiCLI #GoogleAI #开发者工具 #Agents #版本更新