GLM-5.1 全面支持与 Gemini CLI 集成:HagiCode 的多模型进化之路
本文介绍了 HagiCode 平台近期的重要更新——智谱 AI GLM-5.1 模型的全面支持,以及 Gemini CLI 作为第十个 Agent CLI 的成功集成。这两项更新进一步强化了平台的多模型能力和多 CLI 生态。
背景
时间过得真快,大语言模型的发展就像春天的竹子一样,蹭蹭地往上窜。曾经我们还在为"一个能写代码的 AI"而欢呼雀跃,如今已是多模型协同、多工具融合的时代了。这有意思吗?或许吧,毕竟开发者需要的从来都不只是工具本身,而是一种能够适应不同场景、灵活切换的从容。
HagiCode 作为一个 AI 辅助编码平台,最近也算是迎来了两件大事:一是智谱 AI 的 GLM-5.1 模型全面接入,二是 Gemini CLI 正式成为第十个支持的 Agent CLI。这两件事说大不大,说小也不小,只是对于平台的完善而言,总归是好事一桩。
GLM-5.1 是智谱 AI 的最新旗舰模型,相比 GLM-5.0,推理能力更强了,代码理解更深了,工具调用也更顺滑了。更重要的是,它是首个支持图片输入的 GLM 模型——这意味着什么?意味着用户可以直接截图让 AI 看问题,不用再费劲巴力地描述了。这便利性,用过就懂了。
与此同时,HagiCode 通过 HagiCode.Libs.Providers 架构,把 Gemini CLI 成功集成了进来。这是第十个 Agent CLI 了,说实话,能走到这一步,也算是有些许成就感罢了。
值得一提的是,HagiCode 的图片上传功能让用户可以直接截图与 AI 交流。即使运行的是 GLM 4.7 版本,平台依然能够良好运行,并且已经帮助项目完成了许多重要的构建工作。至于 GLM-5.1?那自然会更进一步。
关于 HagiCode
本文分享的方案来自我们在 HagiCode 项目中的实践经验。HagiCode 是一个开源的 AI 辅助编码平台,旨在通过多模型、多 CLI 的架构设计,为开发者提供灵活、强大的 AI 编程助手。项目地址:github.com/HagiCode-or…
多 CLI 架构设计
HagiCode 的核心优势之一,就是通过统一的抽象层支持多种不同的 AI 编程 CLI 工具。这种设计的好处,说穿了也就那么回事:新东西能进来,旧东西能留下,代码还不乱。毕竟,谁都希望生活能这样吧?
AIProviderType 枚举
平台通过 AIProviderType 枚举定义了支持的 CLI 提供商类型:
public enum AIProviderType
{
ClaudeCodeCli = 0, // Claude Code CLI
CodexCli = 1, // GitHub Copilot Codex
GitHubCopilot = 2, // GitHub Copilot
CodebuddyCli = 3, // Codebuddy CLI
OpenCodeCli = 4, // OpenCode CLI
IFlowCli = 5, // IFlow CLI
HermesCli = 6, // Hermes CLI
QoderCli = 7, // Qoder CLI
KiroCli = 8, // Kiro CLI
KimiCli = 9, // Kimi CLI
GeminiCli = 10, // Gemini CLI (新增)
}
可以看到,Gemini CLI 作为第十个成员加入了这个大家庭。每个 CLI 都有独特的特点和适用场景,用户可以根据自己的需求灵活选择。毕竟,条条大路通罗马,只是有的路好走一点,有的路稍微曲折一点罢了。
Provider 架构
HagiCode.Libs.Providers 提供了统一的 Provider 接口,让每个 CLI 的集成变得规范而简洁。以 Gemini CLI 为例:
public class GeminiProvider : ICliProvider<GeminiOptions>
{
private static readonly string[] DefaultExecutableCandidates = ["gemini", "gemini-cli"];
private const string ManagedBootstrapArgument = "--acp";
public string Name => "gemini";
public bool IsAvailable => _executableResolver.ResolveFirstAvailablePath(DefaultExecutableCandidates) is not null;
}
这种设计的好处是:
- 新 CLI 的集成只需要实现一个 Provider 类
- 统一的生命周期管理和会话池化
- 自动化的别名解析和可执行文件查找
说穿了,这种设计其实就是把复杂的事情简单化,让生活更轻松一点罢了。
Provider Registry
Provider Registry 自动处理别名映射和注册:
if (provider is GeminiProvider)
{
registry.Register(provider.Name, provider, ["gemini-cli"]);
continue;
}
这意味着用户可以使用 gemini 或 gemini-cli 两种方式来调用 Gemini CLI,系统会自动识别。这就像你朋友多,有的叫大名,有的叫小名,反正都是他,怎么叫都行。
GLM-5.1 模型支持
GLM-5.1 是智谱 AI 的最新旗舰模型,HagiCode 已完成对其的全面支持。
Secondary Professions Catalog
HagiCode 通过 Secondary Professions Catalog 管理所有支持的模型。以下是 GLM 系列的配置:
| Model ID | Name | SupportsImage | Compatible CLI Families |
|---|---|---|---|
glm-4.7 | GLM 4.7 | - | claude, codebuddy, hermes, qoder, kiro |
glm-5 | GLM 5 | - | claude, codebuddy, hermes, qoder, kiro |
glm-5-turbo | GLM 5 Turbo | - | claude, codebuddy, hermes, qoder, kiro |
glm-5.0 | GLM 5.0 (Legacy) | - | claude, codebuddy, hermes, qoder, kiro |
glm-5.1 | GLM 5.1 | true | claude, codebuddy, hermes, qoder, kiro |
GLM-5.1 的关键特性可以总结为:
- 独立的版本标识,没有 legacy 包袱
- 首个支持图片输入的 GLM 模型
- 更强的推理能力和代码理解
- 广泛的多 CLI 兼容性
GLM-5.1 vs GLM-5.0
从代码层面来看,GLM-5.1 与 GLM-5.0 的关键区别:
// GLM-5.0 (Legacy) - 有特殊保留逻辑
private const string Glm50CodebuddySecondaryProfessionId = "secondary-glm-5-codebuddy";
private const string Glm50CodebuddyModelValue = "glm-5.0";
// GLM-5.1 - 独立的新模型标识
private const string Glm51SecondaryProfessionId = "secondary-glm-5-1";
private const string Glm51ModelValue = "glm-5.1";
GLM-5.0 带有 "Legacy" 标记,是为了向后兼容而保留的旧版本标识。而 GLM-5.1 是一个全新的独立版本,没有任何历史包袱。这就像有些人,总是活在过去;而有些人,轻装上阵,走得更快罢了。
配置 GLM-5.1
在 HagiCode 中使用 GLM-5.1 的配置示例:
{
"primaryProfessionId": "profession-claude-code",
"secondaryProfessionId": "secondary-glm-5-1",
"model": "glm-5.1",
"reasoning": "high"
}
图片上传功能
HagiCode 的图片支持是通过 SecondaryProfession 的 SupportsImage 属性实现的:
public class HeroSecondaryProfessionSettingDto
{
public bool SupportsImage { get; set; }
}
在 Secondary Professions Catalog 中,GLM-5.1 的配置如下:
{
"id": "secondary-glm-5-1",
"supportsImage": true
}
这意味着用户可以直接上传截图让 AI 分析,比如:
- 错误信息的截图
- UI 界面的问题
- 数据可视化图表
- 代码运行结果
不用再手动描述问题了,直接截图就行——这个功能的便利性用过就知道了。毕竟,有些事情,说再多不如看一眼。
Gemini CLI 集成
Gemini CLI 作为第十个 Agent CLI,通过标准的 Provider 架构集成到 HagiCode 中。
配置选项
Gemini CLI 支持丰富的配置选项:
public class GeminiOptions
{
public string? ExecutablePath { get; set; }
public string? WorkingDirectory { get; set; }
public string? SessionId { get; set; }
public string? Model { get; set; }
public string? AuthenticationMethod { get; set; }
public string? AuthenticationToken { get; set; }
public Dictionary<string, string?> AuthenticationInfo { get; set; }
public Dictionary<string, string?> EnvironmentVariables { get; set; }
public string[] ExtraArguments { get; set; }
public TimeSpan? StartupTimeout { get; set; }
public CliPoolSettings? PoolSettings { get; set; }
}
这些选项覆盖了从基本配置到高级特性的方方面面,用户可以根据自己的需求进行灵活配置。毕竟,每个人的需求都不一样,能灵活一点总是好的。
ACP 通信协议
Gemini CLI 支持 ACP (Agent Communication Protocol) 通信协议,这是 HagiCode 统一的 CLI 通信标准。通过 ACP,不同的 CLI 可以以一致的方式与平台交互,大大简化了集成工作。说穿了,就是把复杂的事情统一化,让大家都能轻松一点罢了。
环境配置
使用智谱 AI 的模型,需要配置相应的环境变量。
智谱 AI ZAI 平台
export ANTHROPIC_AUTH_TOKEN="your-zai-api-key"
export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"
阿里云 DashScope
export ANTHROPIC_AUTH_TOKEN="your-aliyun-api-key"
export ANTHROPIC_BASE_URL="https://coding.dashscope.aliyuncs.com/apps/anthropic"
配置完成后,HagiCode 就可以正常调用 GLM-5.1 模型了。这事儿说难也不难,说简单也不简单,反正照着做就是了。
HagiCode 自身构建实践
说到实践,最好的例子就是 HagiCode 平台自身的构建流程。HagiCode 的开发过程已经充分利用了 AI 能力:
使用 GLM 4.7 即可良好运行
HagiCode 平台的设计优化得比较好,即使使用 GLM 4.7 也能获得良好的开发体验。平台已帮助完成多个重要构建项目,包括:
- 多 CLI Provider 的集成
- 图片上传功能的实现
- 文档生成和内容发布
这其实也挺好,毕竟不是所有人都需要用最新的东西。适合自己的,才是最好的。
GLM-5.1 事半功倍
升级到 GLM-5.1 后,这些能力将得到进一步增强:
- 更强的代码理解能力,减少来回沟通
- 更准确的依赖分析,一次性指对方向
- 更高效的错误诊断,快速定位问题
- 支持图片输入,加速问题描述
这就像从自行车换到汽车,能到的地方是一样的,只是速度和舒适度不一样罢了。
多 CLI 集成最佳实践
HagiCode.Libs.Providers 提供了统一的注册和使用机制:
services.AddHagiCodeLibs();
var gemini = serviceProvider.GetRequiredService<ICliProvider<GeminiOptions>>();
var codebuddy = serviceProvider.GetRequiredService<ICliProvider<CodebuddyOptions>>();
var hermes = serviceProvider.GetRequiredService<ICliProvider<HermesOptions>>();
这种依赖注入的设计让各个 CLI 的使用变得非常简洁,也方便进行单元测试和模拟。毕竟,代码写得干净一点,对自己也是一种负责。
注意事项
在实际使用中,有几个地方需要注意:
- API Key 配置:确保正确设置
ANTHROPIC_AUTH_TOKEN,否则无法调用模型 - 模型可用性:GLM-5.1 需要在对应的模型提供商处开通权限
- 图片功能:只有支持
supportsImage: true的模型才能使用图片上传功能 - CLI 安装:使用 Gemini CLI 前,确保
gemini或gemini-cli在系统 PATH 中
这些都是小事,但小事处理不好,也可能变成大事。所以还是要注意一下的。
总结
通过 GLM-5.1 的全面支持和 Gemini CLI 的成功集成,HagiCode 进一步强化了其作为多模型、多 CLI AI 编程平台的能力。这些更新不仅为用户提供了更多的选择,也展示了 HagiCode 在架构设计上的前瞻性和可扩展性。
GLM-5.1 的图片支持能力,结合 HagiCode 的截图上传功能,让"看图说话"成为可能——大大降低了问题描述的成本。而十个 CLI 的支持,意味着用户可以根据自己的偏好和场景,灵活选择最合适的 AI 编程助手。毕竟,选择多了,总是好事。
最重要的是,HagiCode 平台自身的构建实践证明:即使使用 GLM 4.7,平台也能良好运行并完成复杂任务;而升级到 GLM-5.1 后,开发效率将得到进一步提升。这就像人生一样,不一定非要追求最好,适合自己的就好。当然,如果能在适合自己的基础上变得更好,那自然更好。
如果你对多模型、多 CLI 的 AI 编程平台感兴趣,不妨试试 HagiCode——开源、免费、不断进化。反正试试又不花钱,万一真适合你呢?
参考资料
如果本文对你有帮助:
- 来 GitHub 给个 Star:github.com/HagiCode-or…
- 访问官网了解更多:hagicode.com
- 观看 30 分钟实战演示:www.bilibili.com/video/BV1pi…
- 一键安装体验:docs.hagicode.com/installatio…
- 公测已开始,欢迎安装体验
原文与版权说明
感谢您的阅读,如果您觉得本文有用,欢迎点赞、收藏和分享支持。 本内容采用人工智能辅助协作,最终内容由作者审核并确认。
- 本文作者: newbe36524
- 原文链接: docs.hagicode.com/go?platform…
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!