最近经常有朋友在后台私信,问智谱 GLM 有没有官方推出的终端 CLI 工具,能够像 OpenAI 那样在命令行里直接跑对话。说实话,官方目前似乎并没有单独发布一个开箱即用的 glm-cli 二进制程序。不过,既然 GLM 开放了兼容 OpenAI 格式的 API,那我们自己动手做一个命令行工具其实非常简单。

对于经常在服务器上操作、或者习惯用终端工作的开发者来说,有一个能直接在 Shell 里调用的 AI 助手真的能省不少事,比如查报错、写脚本,甚至解释复杂的正则表达式。今天我们就来聊聊如何利用现成的工具快速搭建一个属于你自己的 GLM 终端助手。

准备工作:搞定 API Key

API Key Management

获取和管理 API Key 的概念示意图

不管你是用 Python 封装还是直接用 curl,第一步肯定是要去智谱开放平台申请一个 API Key。目前主流的大模型厂商都提供了非常便捷的 Key 管理方式,注册实名后通常都能免费试用一定额度。拿到 Key 之后,记得保存好,后面配置环境变量时会用到。

方案一:使用现有的通用 CLI 工具

其实有很多优秀的大模型终端 CLI 工具是支持自定义 API 端点的,比如 gpt-cliaider 等开源项目。这些工具大多允许用户配置 base_urlapi_key。GLM 的官方 SDK 和 API 请求格式在设计上充分考虑了生态兼容性,因此我们只需要把 base_url 指向智谱的网关地址,填入你的 Key,就能立刻把一个通用的 GPT 客户端变成 GLM 客户端。

这种方式的好处是功能成熟,通常支持多轮对话上下文维护、流式输出甚至代码高亮。如果你不想自己写代码,推荐先去看看你常用的终端工具是否支持自定义 Endpoint。

Shell Script Terminal

在终端中运行 Shell 脚本调用 GLM 效果示意

方案二:极简派,Shell 脚本直接搞定

如果你跟我一样,喜欢极致的轻量级方案,不想安装依赖繁重的 Python 包,那写一个简单的 Shell 函数是最爽的。下面是一个基于 curl 的极简封装示例,你可以把它加到你的 .bashrc.zshrc 里:

export GLM_API_KEY="你的_API_Key"
export GLM_API_URL="https://open.bigmodel.cn/api/paas/v4/chat/completions"

function ask_glm() {
    if [ -z "$1" ]; then
        echo "Usage: ask_glm \"你的问题\""
        return 1
    fi

local PROMPT="$1"
    curl -s $GLM_API_URL \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $GLM_API_KEY" \
      -d "{\"model\": \"glm-4\", \"messages\": [{\"role\": \"user\", \"content\": \"$PROMPT\"}]}" | jq -r '.choices[0].message.content'
}

使用的时候,直接在终端输入: ask_glm "解释一下 awk 怎么用"

前提是你得装好 jq 来处理 JSON 返回结果。这个脚本虽然简单,但胜在没有任何依赖,除了 curljq 几乎哪里都能跑。对于临时查个命令、翻译一段文字来说,效率极高。

进阶玩法:Python 脚本封装

如果你需要更复杂的功能,比如保存历史记录、支持多轮对话,或者想要处理流式输出(打字机效果),那还是写一个小的 Python 脚本更合适。利用 requests 库和智谱官方的 Python SDK,十几行代码就能写出一个带上下文记忆的命令行交互程序。

核心逻辑无非就是 while True 循环读取用户输入,拼接 messages 列表,然后 POST 请求,最后把返回结果打印出来并更新上下文列表。这里就不贴具体代码了,稍微查一下 Python input()requests 的用法就能写出来。

总结

虽然智谱 GLM 目前还没推出像 gptme 那样独立的官方 CLI 工具,但得益于其优秀的 API 兼容性,无论是用现成的第三方终端工具,还是自己手搓 Shell 或 Python 脚本,实现这一步都非常容易。作为开发者,工具顺手才是最重要的,希望大家都能自己打造出终端里的最强 AI 助手。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭