Hagicode 联合 GLM-5.1 多 CLI 集成指南
Hagicode 联合 GLM-5.1 多 CLI 集成指南
Section titled “Hagicode 联合 GLM-5.1 多 CLI 集成指南”在 Hagicode 项目中,用户可以选择多种 CLI 工具来驱动 AI 编程助手,包括 Claude Code CLI、GitHub Copilot、OpenCode CLI、Codebuddy CLI、Hermes CLI 等。这些 CLI 工具本身是通用的 AI 编程工具,但通过 Hagicode 的抽象层,可以灵活地接入不同的 AI 模型提供商。
智谱 AI(ZAI)提供了与 Anthropic Claude API 兼容的接口,使得这些 CLI 工具可以直接使用国产 GLM 系列模型。其中 GLM-5.1 是智谱最新发布的大语言模型,相比 GLM-5.0 有显著的改进。
Hagicode 的 CLI 抽象架构
Section titled “Hagicode 的 CLI 抽象架构”Hagicode 通过 AIProviderType 枚举定义了 11 种 CLI 提供商类型,覆盖了主流的 AI 编程 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}每种 CLI 都有对应的模型参数配置,支持 model 和 reasoning 参数:
private static readonly IReadOnlyDictionary<AIProviderType, IReadOnlyList<string>> ManagedModelParameterKeysByProvider = new Dictionary<AIProviderType, IReadOnlyList<string>> { [AIProviderType.ClaudeCodeCli] = ["model", "reasoning"], [AIProviderType.CodexCli] = ["model", "reasoning"], [AIProviderType.OpenCodeCli] = ["model", "reasoning"], [AIProviderType.HermesCli] = ["model", "reasoning"], [AIProviderType.CodebuddyCli] = ["model", "reasoning"], [AIProviderType.QoderCli] = ["model", "reasoning"], [AIProviderType.KiroCli] = ["model", "reasoning"], [AIProviderType.GeminiCli] = ["model"], // Gemini 不支持 reasoning 参数 // ... };GLM 模型支持体系
Section titled “GLM 模型支持体系”Hagicode 的 Secondary Professions Catalog 中定义了完整的 GLM 系列模型支持:
| Model ID | Name | Default Reasoning | Compatible CLI Families |
|---|---|---|---|
glm-4.7 | GLM 4.7 | high | claude, codebuddy, hermes, qoder, kiro |
glm-5 | GLM 5 | high | claude, codebuddy, hermes, qoder, kiro |
glm-5-turbo | GLM 5 Turbo | high | claude, codebuddy, hermes, qoder, kiro |
glm-5.0 | GLM 5.0 (Legacy) | high | claude, codebuddy, hermes, qoder, kiro |
glm-5.1 | GLM 5.1 | high | claude, codebuddy, hermes, qoder, kiro |
GLM-5.1 vs GLM-5.0 的关键区别
Section titled “GLM-5.1 vs GLM-5.0 的关键区别”从 AcpSessionModelBootstrapper.cs 的实现中,我们可以清楚地看到 GLM-5.1 与 GLM-5.0 的区别:
GLM-5.1 的独立实现
Section titled “GLM-5.1 的独立实现”GLM-5.1 是独立的新模型标识,没有任何 legacy 处理逻辑:
private const string Glm51ModelValue = "glm-5.1";在 Secondary Professions Catalog 中的定义:
{ "id": "secondary-glm-5-1", "name": "GLM 5.1", "family": "anthropic", "summary": "hero.professionCopy.secondary.glm51.summary", "sourceLabel": "hero.professionCopy.sources.aiSharedAnthropicModel", "sortOrder": 64, "supportsImage": true, "compatiblePrimaryFamilies": [ "claude", "codebuddy", "hermes", "qoder", "kiro" ], "defaultParameters": { "model": "glm-5.1", "reasoning": "high" }}模型提供商配置
Section titled “模型提供商配置”智谱 AI (ZAI)
Section titled “智谱 AI (ZAI)”智谱 AI 提供最完整的 GLM 模型支持:
{ "providerId": "zai", "name": "智谱 AI", "description": "智谱 AI 提供的 Claude API 兼容服务", "category": "china-providers", "apiUrl": { "codingPlanForAnthropic": "https://open.bigmodel.cn/api/anthropic" }, "recommended": true, "region": "cn", "defaultModels": { "sonnet": "glm-4.7", "opus": "glm-5", "haiku": "glm-4.5-air" }, "supportedModels": [ "glm-4.7", "glm-5", "glm-4.5-air", "qwen3-coder-next", "qwen3-coder-plus" ], "features": ["experimental-agent-teams"], "authTokenEnv": "ANTHROPIC_AUTH_TOKEN", "referralUrl": "https://www.bigmodel.cn/claude-code?ic=14BY54APZA", "documentationUrl": "https://open.bigmodel.cn/dev/api"}特点:
- 支持最多样的 GLM 模型变体
- 提供 Sonnet/Opus/Haiku 三层级的默认映射
- 支持 experimental-agent-teams 功能
在不同 CLI 中使用 GLM-5.1
Section titled “在不同 CLI 中使用 GLM-5.1”1. Claude Code CLI + GLM-5.1
Section titled “1. Claude Code CLI + GLM-5.1”Claude Code CLI 是 Hagicode 的核心 CLI 之一,通过 Hero 配置系统设置:
{ "primaryProfessionId": "profession-claude-code", "secondaryProfessionId": "secondary-glm-5-1", "model": "glm-5.1", "reasoning": "high"}对应的 HeroEquipmentCatalogItem 配置:
{ id: 'secondary-glm-5-1', name: 'GLM 5.1', family: 'anthropic', kind: 'model', primaryFamily: 'claude', compatiblePrimaryFamilies: ['claude', 'codebuddy', 'hermes', 'qoder', 'kiro'], defaultParameters: { model: 'glm-5.1', reasoning: 'high' }}2. OpenCode CLI + GLM-5.1
Section titled “2. OpenCode CLI + GLM-5.1”OpenCode CLI 是最灵活的 CLI,支持 provider/model 格式指定任意模型:
方式一:使用 ZAI provider 前缀
{ "primaryProfessionId": "profession-opencode", "model": "zai/glm-5.1", "reasoning": "high"}方式二:直接使用模型 ID
{ "model": "glm-5.1"}方式三:前端配置界面
在 HeroModelEquipmentForm.tsx 中,OpenCode CLI 有特殊的占位符提示:
const OPEN_CODE_MODEL_PLACEHOLDER = 'myprovider/glm-4.7';
const modelPlaceholder = primaryProviderType === PCode_Models_AIProviderType.OPEN_CODE_CLI ? OPEN_CODE_MODEL_PLACEHOLDER : 'gpt-5.4';用户可以输入:
zai/glm-5.1glm-5.1OpenCode CLI 的模型解析逻辑:
internal OpenCodeModelSelection? ResolveModelSelection(string? rawModel){ var normalized = NormalizeOptionalValue(rawModel); if (normalized == null) return null;
var slashIndex = normalized.IndexOf('/'); if (slashIndex < 0) { // 无斜杠:直接使用模型 ID return new OpenCodeModelSelection { ProviderId = string.Empty, ModelId = normalized, }; }
// 有斜杠:解析 provider/model 格式 var providerId = normalized[..slashIndex].Trim(); var modelId = normalized[(slashIndex + 1)..].Trim();
return new OpenCodeModelSelection { ProviderId = providerId, ModelId = modelId, };}3. Codebuddy CLI + GLM-5.1
Section titled “3. Codebuddy CLI + GLM-5.1”Codebuddy CLI 有特殊的 legacy 处理逻辑:
{ "primaryProfessionId": "profession-codebuddy", "model": "glm-5.1", "reasoning": "high"}注意:Codebuddy 对 GLM-5.0 有特殊保留,不走 legacy normalization:
return !string.Equals(providerName, "CodebuddyCli", StringComparison.OrdinalIgnoreCase) && string.Equals(normalizedModel, LegacyGlm5TurboModelValue, StringComparison.OrdinalIgnoreCase) ? Glm5TurboModelValue : normalizedModel;// CodebuddyCli 时,glm-5.0 不会被规范化为 glm-5-turbo环境变量配置
Section titled “环境变量配置”使用智谱 AI ZAI
Section titled “使用智谱 AI ZAI”# 设置 API Keyexport ANTHROPIC_AUTH_TOKEN="your-zai-api-key"
# 可选:指定 API 端点(ZAI 默认使用此端点)export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"使用阿里云 DashScope
Section titled “使用阿里云 DashScope”# 设置 API Keyexport ANTHROPIC_AUTH_TOKEN="your-aliyun-api-key"
# 指定阿里云端点export ANTHROPIC_BASE_URL="https://coding.dashscope.aliyuncs.com/apps/anthropic"获取 API Key
Section titled “获取 API Key”- 智谱 AI:https://www.bigmodel.cn/claude-code?ic=14BY54APZA
- 阿里云:https://www.aliyun.com/benefit/ai/aistar?userCode=vmx5szbq
GLM-5.1 的改进优势
Section titled “GLM-5.1 的改进优势”相比 GLM-5.0,GLM-5.1 有以下显著改进:
1. 更好的推理能力
Section titled “1. 更好的推理能力”根据智谱官方发布信息,GLM-5.1 的改进包括:
- 更强的代码理解能力:对复杂代码结构的解析更准确
- 更长的上下文理解:支持更长的对话上下文
- 工具调用增强:MCP 工具调用的成功率提升
- 输出稳定性:减少随机性和幻觉
2. 多 CLI 全面兼容
Section titled “2. 多 CLI 全面兼容”GLM-5.1 覆盖了 Hagicode 支持的所有主流 CLI:
compatiblePrimaryFamilies: [ "claude", // Claude Code CLI "codebuddy", // Codebuddy CLI "hermes", // Hermes CLI "qoder", // Qoder CLI "kiro" // Kiro CLI]1. API Key 配置
Section titled “1. API Key 配置”确保正确设置 ANTHROPIC_AUTH_TOKEN 环境变量,这是所有 CLI 连接模型的必要凭证。
2. 模型可用性
Section titled “2. 模型可用性”GLM-5.1 需要在对应的模型提供商处开通:
- 智谱 AI ZAI 平台默认支持
- 阿里云 DashScope 可能需要单独申请
3. OpenCode CLI 格式
Section titled “3. OpenCode CLI 格式”使用 provider/model 格式时,确保 provider ID 正确:
- 智谱 AI:
zai或zhipuai - 阿里云:
aliyun或dashscope
4. Reasoning 参数
Section titled “4. Reasoning 参数”- 建议使用
high级别以获得最佳代码生成效果 - Gemini CLI 不支持 reasoning 参数,会自动忽略该配置
Hagicode 通过统一的抽象层,实现了 GLM-5.1 与多种 CLI 的灵活集成。开发者可以根据自己的偏好和使用场景,选择合适的 CLI 工具,并通过简单的配置使用最新的 GLM-5.1 模型。
GLM-5.1 作为智谱最新的模型版本,相比 GLM-5.0 有明显的改进:
- 独立的版本标识,无 legacy 包袱
- 更强的推理能力和代码理解
- 广泛的多 CLI 兼容性
- 灵活的推理级别配置
通过正确配置环境变量和 Hero 装备,玩家可以在不同的 CLI 环境中充分发挥 GLM-5.1 的强大能力。
感谢您的阅读,如果您觉得本文有用,欢迎点赞、收藏和分享支持。 本内容采用人工智能辅助协作,最终内容由作者审核并确认。
- 本文作者: newbe36524
- 原文链接: https://docs.hagicode.com/blog/2026-03-28-hagicode-glm5-1-multi-cli-integration/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!