vs-hagicode

Gemini Vs HagiCode

Google Gemini CLI 是 Google 官方推出的终端 AI 编程工具,凭借 Gemini 模型的多模态理解能力、超长上下文窗口以及与 Google Cloud 生态的深度连接,在 AI 编程领域开辟了独特的定位。不过 Gemini CLI 本身是一个模型能力的命令行入口,而 HagiCode 是一个为 AI 编程场景设计的桌面工作台——两者配合,才能将 Gemini 的差异化优势转化为真正可用的生产级开发体验。

简体中文 2026-06-17

Gemini CLI 的核心能力

主要功能

Google Gemini CLI 的功能围绕 Gemini 模型的独特优势展开:

多模态代码理解:Gemini 可以同时理解代码、截图、架构图和文档。你可以把一张 UI 设计稿截图给 Gemini,让它直接生成对应的前端代码;也可以把一张系统架构图给它,让它分析并提出优化建议。这种"所见即可编码"的体验,是目前 AI 编程工具中非常独特的能力。

超长上下文处理:Gemini 支持百万级 token 的上下文窗口,这意味着你可以一次性投入大量代码文件、文档和历史记录,而 Gemini 能够在整个窗口范围内保持连贯的理解。对于需要全局感知的大型重构任务,这个能力是无价的。

命令行原生集成:Gemini CLI 提供完整的终端编程体验,支持文件读写、shell 命令执行、Git 操作等。你可以在终端里完成从分析到修改到提交的完整闭环。

模型特点

Gemini 在模型层面有几个区别于其他 AI 编程工具的特点:

原生多模态:不同于其他模型需要插件或额外适配才能理解非文本内容,Gemini 的多模态能力是原生内建的。代码、图片、图表——Gemini 从一开始就能同时处理,而不只是"也能看图片"。

Google 搜索与知识整合:Gemini 可以连接 Google 搜索和知识图谱,在编程时获取最新的技术文档、API 参考和社区讨论。对于需要查阅最新资料的技术决策,这是一种天然优势。

深度推理与长链思考:Gemini 在处理复杂的多步骤编程任务时,会展现出连贯的推理链。不是只给结论,而是展示完整的思考路径——这对于需要理解 AI 决策过程的开发者非常重要。

生态与集成

Gemini CLI 的生态围绕 Google 的技术栈展开:

Google Cloud 集成:Gemini CLI 与 Google Cloud 服务天然连接,可以直接操作 Cloud Run、BigQuery、Cloud Storage 等云服务,打通"本地开发→云端部署"的链路。

开源与社区驱动:Gemini CLI 是开源项目,托管在 GitHub 上。社区的贡献和反馈直接影响工具的迭代方向。

ACP 协议支持:Gemini CLI 支持 ACP(Agent Communication Protocol),可以与其他兼容 ACP 的 AI 工具和平台进行标准化通信。

为什么 Gemini CLI 需要 HagiCode

Gemini 的多模态能力和超长上下文窗口非常出众,但 CLI 形态的工具天然缺乏项目管理、任务编排和知识持久化能力。在真实开发场景中,这些能力决定了 AI 工具是"偶尔用一下"还是"天天离不开"。

多线程并行:让 Gemini 同时看代码、看设计、写文档

Gemini 在单个会话里已经能做很多事,但真实开发几乎从来不是一次只推进一个任务。

HagiCode 允许你把多个 Gemini 会话并行跑起来,每个会话都有独立上下文、明确职责和各自的推进节奏。

这样 AI 协作就不再是一条串行对话,而是一个真正贴近工程团队工作方式的并行工作台。

  • 线程 A 在完善后端 API 接口;
  • 线程 B 在重构前端组件;
  • 线程 C 在编写单元测试;
  • 线程 D 在审查代码安全漏洞。

OpenSpec 提案会话:让 Gemini 的每一次决策都有据可查

在日常开发中,最容易出现的混乱不是代码写不出来,而是改了一堆东西之后,忘了为什么这么改、改了哪些、以及这些改动之间有什么关系。

HagiCode 内置的 OpenSpec 提案工作流从根本上解决了这个问题。每次开发任务都会以"提案"的形式启动:

这种"先想清楚再动手"的工作方式,让 Gemini 的推理能力发挥得更加充分,也让你在几个月后回头看代码时,依然能快速理解当时的决策背景。

  • 先写清楚这次要解决什么问题,为什么这样做是合理的;
  • 在提案框架下与 Gemini 深入讨论技术方案,所有对话和决策都记录在提案上下文里;
  • 方案确定后,Gemini 在提案的约束范围内进行代码实现;
  • 最终提案文档、讨论记录和代码变更形成一条完整的追溯链。

AI 提交:让 Gemini 的代码产出自动入库

写完代码之后还要写 commit message,这件事对很多开发者来说是一种精神内耗。写得太随意回头找不到关键提交,写得太正式又觉得浪费时间。

HagiCode 的 AI 提交功能把这件事整个人交给了 Gemini:它会分析你的代码变更、理解改动的意图和影响范围,然后自动生成结构清晰、语义准确的 commit message。更关键的是,在 AI 提交的过程中,HagiCode 会自动锁定仓库,防止并发操作导致的状态冲突,确保提交安全可靠。

你把注意力留给创造,commit message 这种流水账交给 Gemini 就好。

Code Server 浏览器编辑:从多模态分析到可视化编辑

Gemini 分析完代码、定位到问题文件和具体行号之后,常见的尴尬发生了:你需要离开 AI 对话窗口,回到自己的 IDE 里重新找到那个文件,再手动跳到对应的位置。这个"分析→编辑"的上下文断点,不仅打断思路,也让 AI 的价值只停留在"告诉你问题在哪",走不到"直接帮你进入修改状态"。

HagiCode 内置了基于 code-server 的浏览器编辑器,专门解决这个断点:

Code Server 集成让 HagiCode 不是一个"会分析代码的前台页面",而是一个真正能让 Gemini 的分析结论直接落地为编辑动作的完整工作站。它把"AI 分析"和"动手修改"这两个步骤之间的工具切换成本降到了最低。

  • 一键从分析进入编辑:Gemini 在提案中定位到需要修改的文件后,HagiCode 可以直接在工作台内打开该文件进入编辑状态。你不需要切换工具、不需要重新定位文件——从分析结果到动手修改之间的距离是零。
  • 本地、容器、远程全覆盖:无论你的项目跑在本地机器、Docker 容器还是远程服务器上,HagiCode 的 Code Server 都能通过浏览器打开项目目录并进入编辑。你不再受限于"这个项目只在某个环境里能编辑"的约束。
  • Vault 直连编辑:你注册到 Vault 中的代码参考库和学习项目,同样可以通过 Code Server 直接打开浏览和编辑。Gemini 引用到的参考代码,你随时可以跳进去深入查看或临摹修改。

Preset Task:让 Gemini 的多模态能力模板化

Gemini 的能力很强,但每次都要手动打字描述需求确实不够高效。更关键的是,市面上已经涌现了大量社区贡献的优质 Skills——从代码审查模板到全栈 CRUD 生成器,从文档自动生成到测试用例编排,这些经过验证的实践方案散落在各处,没有一个统一的地方来承载和调用。

HagiCode 的 Preset Task 机制就是为解决这个问题而设计的。它做的不只是"快捷指令",更是一个可扩展的 Skills 集成平台:

Preset Task 让你和 Gemini 之间的协作从"每次都要从头沟通"升级为"站在社区的肩膀上,一键调用成熟流程"。你选好模板,Gemini 负责执行——这是真正的工作流自动化,而且整个过程赏心悦目。

  • 社区 Skills 即装即用:HagiCode 支持将市面上流行的 Skills 导入为 Preset Task。你不需要从头编写复杂的 prompt,社区已经沉淀了大量高质量的任务模板,直接导入就能用——新增 CRUD 模块、全面代码审查、API 文档生成,都有现成的方案。
  • 可扩展的 Skills 体系:如果你有独特的项目需求或团队规范,HagiCode 允许你在社区 Skills 的基础之上进行定制和组合。你可以调整检查清单、添加团队编码规范、甚至把多个 Skills 串联成一条完整的开发流水线,打造属于你自己团队的任务模板库。
  • 可视化操作,告别纯文本的枯燥:这是 HagiCode 与其他纯命令行工具最根本的区别。选择 Preset Task 不再需要在终端里敲命令、拼参数,而是通过精心设计的可视化界面完成——鼠标点击选择任务、下拉菜单切换参数、拖拽调整任务顺序,每一步都有清晰的视觉反馈和状态提示。把人机交互从"写代码来调用 AI"变成了"用 UI 来指挥 AI"。

游戏化界面:让终端里的多模态体验变得直观

编程本身可以是枯燥的,但也可以是好玩的。HagiCode 的游戏化界面设计,打破了命令行工具冷冰冰的体验:

Gemini 提供智力,HagiCode 提供体验——两者配合,才能让 AI 编程从"生产力工具"变成"让人愿意打开的开发环境"。

  • 视觉反馈清晰:每个会话的运行状态、进度和结果都通过直观的界面元素呈现,不需要在终端里使劲翻找。
  • 成就与进度可视化:任务完成、代码入库、提案通过——这些节点都被包装成可见的里程碑,让开发过程有节奏感和成就感。
  • 操作门槛低:鼠标点击、拖拽操作和快捷键结合的设计,让不习惯纯终端工作流的开发者也能轻松驾驭 Gemini 的全部能力。

Agents 多代理管理:把 Gemini 的多任务并行变成有序编排

并行会话本身很有价值,但当你同时开着多个会话时,真正的新瓶颈会变成“怎么调度和管理它们”。

HagiCode 的 Agents 管理层会把每个 Gemini 工作单元抽象成一个有名字、可调度、状态可见的 Agent。

你面对的不再是一堆打开的终端窗口,而是一支可以被统一编排的小型 AI 开发队伍。

  • Agent 身份与状态可视化:谁在运行、谁在等待、谁卡住、谁可归档,一眼就能看清。
  • 任务与 Agent 绑定:提案、审查、重构、测试等任务都可以分配给专属 Agent。
  • Agent 配置独立可控:不同 Agent 可以挂不同的模型路由、Skills 和上下文范围,彼此互不干扰。

Monospecs 多仓库管理:让 Gemini 的超长上下文物尽其用

实际项目中,代码往往不在一个仓库里。前端、后端、文档、共享库分散在不同仓库,而一个功能变更可能要同时修改好几个仓库。对 Gemini 来说,单仓库模式够用,但它无法天然理解跨仓库的关系——你得在每一次对话里手动告诉它"这个改动还要同步到另外两个仓库",这显然是低效的。

HagiCode 的 Monospecs 机制就是为多仓库场景而设计的结构化方案。它通过 .hagicode/monospecs.yaml 配置文件声明项目群中所有子仓库的地址、名称和关系,让 Gemini 在启动提案时就能自动获得完整的跨仓库地图:

Monospecs 本质上是在帮 Gemini 消除跨仓库协作的认知盲区。Gemini 的推理能力再强,也需要一份准确的"地图"来定位变化范围——而 Monospecs 就是这张被体系化管理的项目地图。

  • 自动感知仓库关系:创建开发提案时,Gemini 可以直接从 Monospecs 配置中读取子仓库列表,知道"这次变更的前端代码在 repos/frontend、API 定义在 repos/backend、文档在 repos/docs"——你不再需要每次手动列出涉及哪些仓库。
  • 跨仓库变更追踪:当一个提案同时涉及多个子仓库时,OpenSpec 提案目录保留在主仓库中,子仓库仅仅承载代码修改。这样 specs 与代码分离,子仓库保持纯净,但整个变更的决策链条和讨论记录都集中在一个地方。归档时 commit_when_archive 还可以自动提交 specs 到主仓库,省去手动管理版本控制的麻烦。
  • AI 提交精准识库:在做 AI 提交时,HagiCode 会根据 Monospecs 配置分析你的变更内容,自动建议应该提交到哪个目标仓库。你不用在终端里挨个切目录,HagiCode 帮你接管了"这段代码属于哪个仓库"的判断。
  • 每库可配 AGENTS.md:每个子仓库可以有自己专属的 AGENTS.md,告诉 Gemini 这个仓库的技术栈、代码规范和开发约定。Gemini 在操作不同仓库时自动读取对应的指导,行为始终符合你团队的标准。

Vault 跨项目知识库:让 Gemini 的超长上下文有价值地延续

Gemini 的上下文窗口虽然很大,但每次新会话都是从零开始——上一轮提案中积累的经验、分析过的项目结构、讨论出的最佳实践,全都会随着会话结束而"失忆"。这在纯对话工具中只能默默接受,但在 HagiCode 里,Vault 系统改变了游戏规则。

Vault 是 HagiCode 提供的跨项目持久化知识存储层,它的核心设计理念是"一次注册,处处复用":

如果说 Monospecs 是让 Gemini 看懂"项目在哪里",那 Vault 就是让 Gemini 记住"我们之前学会了什么"。前者拓展了 Gemini 的空间视野,后者延续了 Gemini 的时间记忆——两者叠加,Gemini 不再是每一次都要重新打招呼的陌生人,而是一个真正了解你项目全景和知识积累的长期搭档。

  • 多类型知识容器:Vault 支持四种类型——folder(通用文件目录)、coderef(专门用于临摹开源项目,自动初始化标准化目录结构)、obsidian(直接接入你已有的 Obsidian 笔记库)和 system-managed(系统自动管理项目配置和 prompt 模板库)。你可以把分散在不同地方的代码仓库、学习笔记、设计文档全部注册到 Vault 中,Gemini 在任何一个提案里都能自动感知到这些知识资源的存在。
  • AI 上下文自动注入:每次启动新提案时,HagiCode 会自动将你注册的 Vault 信息注入到 Gemini 的上下文里。你不用手动复制代码片段、不用重新解释项目背景——Gemini 拿到提案的同时就已经"知道"你有哪些可用的学习资源和参考项目,可以直接基于既有知识开展工作。
  • 访问权限精细化控制:每个 Vault 可以标记为 reference(只读)或 editable(可编辑)。开源项目的参考代码库设定为只读,Gemini 可以阅读和分析但不能修改,防止误操作。你自己的项目 Vault 设为可编辑,Gemini 就能帮你直接写代码。这种边界让 AI 的"自由度"始终可控。
  • 跨项目知识复用:在分析项目 A 时注册了一个"设计模式参考"Vault,之后在任何提案中 Gemini 都能访问它。你不用重复积累知识库,Vault 让你的学习成果和参考资源变成了可继承的长期资产。

OmniRoute 模型路由:让 Gemini CLI 不只是一条路

团队应该能保留自己喜欢的工作流,而不是被某一个模型供应商或订阅路径反向绑死。

OmniRoute 把交互层和模型路由层拆开,让 HagiCode 可以继续把 Gemini 放在工作流里,同时在底层灵活切换模型来源。

这样你就能同时获得更好的成本控制、更合适的任务匹配,以及模型供应变化时更低的迁移摩擦。

  • 保留你已经习惯的 CLI 或交互方式,只替换底层模型路由。
  • 一套路由策略可以被多个 Agent 和多个接入 HagiCode 的 AI 工具共享。
  • 针对快速编码、深度审查、架构规划等不同任务配置不同模型路线。
  • 在路由层一次调整成本与能力配置,而不是逐个工作流重复折腾。

总结

Google Gemini CLI 是一个多模态能力独特、超长上下文出众的 AI 编程工具,HagiCode 是一个功能完整的 AI 编程工作台。它们的关系是互补:

如果你已经在用 Gemini CLI,不妨试试把它接入 HagiCode——你会发现 Gemini 的多模态能力不再只是"也能看图片"的新奇功能,而是融入日常开发全流程的核心生产力。

  • Gemini 提供视野:多模态理解、超长上下文、Google 搜索整合;
  • HagiCode 提供效率:多线程并行、Agents 编队管理、OpenSpec 提案、AI 提交、Code Server 编辑器、Preset Task;
  • HagiCode 拓展边界:Monospecs 让 Gemini 理解跨仓库项目关系,Vault 让 Gemini 拥有跨会话长期记忆,OmniRoute 让 Gemini 突破模型订阅的锁死;
  • 两者结合提供体验:可追溯的决策链、自动化的日常事务、让人愉悦的操作界面,以及一个真正了解你项目全景、可自由配置模型来源的长期 AI 搭档。
桌面版

本地化的 AI 代码助手,保护隐私,提升效率