GLM 有官方终端 CLI 工具吗?自己动手丰衣足食
最近经常有朋友在后台私信,问智谱 GLM 有没有官方推出的终端 CLI 工具,能够像 OpenAI 那样在命令行里直接跑对话。说实话,官方目前似乎并没有单独发布一个开箱即用的 glm-cli 二进制程序。不过,既然 GLM 开放了兼容 OpenAI 格式的 API,那我们自己动手做一个命令行工具其实非常简单。
对于经常在服务器上操作、或者习惯用终端工作的开发者来说,有一个能直接在 Shell 里调用的 AI 助手真的能省不少事,比如查报错、写脚本,甚至解释复杂的正则表达式。今天我们就来聊聊如何利用现成的工具快速搭建一个属于你自己的 GLM 终端助手。
准备工作:搞定 API Key
获取和管理 API Key 的概念示意图
不管你是用 Python 封装还是直接用 curl,第一步肯定是要去智谱开放平台申请一个 API Key。目前主流的大模型厂商都提供了非常便捷的 Key 管理方式,注册实名后通常都能免费试用一定额度。拿到 Key 之后,记得保存好,后面配置环境变量时会用到。
方案一:使用现有的通用 CLI 工具
其实有很多优秀的大模型终端 CLI 工具是支持自定义 API 端点的,比如 gpt-cli、aider 等开源项目。这些工具大多允许用户配置 base_url 和 api_key。GLM 的官方 SDK 和 API 请求格式在设计上充分考虑了生态兼容性,因此我们只需要把 base_url 指向智谱的网关地址,填入你的 Key,就能立刻把一个通用的 GPT 客户端变成 GLM 客户端。
这种方式的好处是功能成熟,通常支持多轮对话上下文维护、流式输出甚至代码高亮。如果你不想自己写代码,推荐先去看看你常用的终端工具是否支持自定义 Endpoint。
在终端中运行 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 返回结果。这个脚本虽然简单,但胜在没有任何依赖,除了 curl 和 jq 几乎哪里都能跑。对于临时查个命令、翻译一段文字来说,效率极高。
进阶玩法:Python 脚本封装
如果你需要更复杂的功能,比如保存历史记录、支持多轮对话,或者想要处理流式输出(打字机效果),那还是写一个小的 Python 脚本更合适。利用 requests 库和智谱官方的 Python SDK,十几行代码就能写出一个带上下文记忆的命令行交互程序。
核心逻辑无非就是 while True 循环读取用户输入,拼接 messages 列表,然后 POST 请求,最后把返回结果打印出来并更新上下文列表。这里就不贴具体代码了,稍微查一下 Python input() 和 requests 的用法就能写出来。
总结
虽然智谱 GLM 目前还没推出像 gptme 那样独立的官方 CLI 工具,但得益于其优秀的 API 兼容性,无论是用现成的第三方终端工具,还是自己手搓 Shell 或 Python 脚本,实现这一步都非常容易。作为开发者,工具顺手才是最重要的,希望大家都能自己打造出终端里的最强 AI 助手。

评论已关闭