59API

← 返回教程列表

从零构建同时调用 GPT 与 Claude 的 CLI 工具

入门教程 · ZH · 2026-07-11

为什么要做一个 GPT + Claude CLI 工具

如果你经常在终端里写代码、查日志、生成提交信息或整理文档,一个命令行 AI 工具会比网页聊天更顺手。本文会带你用 Node.js 从零构建一个简单但可扩展的 CLI:输入一段问题,选择 GPT 或 Claude 模型,直接在终端得到回答。教程面向初学者,重点是跑通真实流程,而不是堆概念。

为了降低试错成本,我们使用 59API 作为 API 入口。它的 API Base URL 是 https://api.59api.com,兼容 OpenAI SDK,也兼容 Claude Code、Codex 等常见开发工具。对个人开发者来说,59API 的优势是按量付费、价格低、模型质量接近官方原生体验,没有“降级模型”的使用感;如果你后续把 CLI 分享给团队,还可以利用推荐返佣降低长期成本。

准备工作

你需要先安装 Node.js 18 或更高版本,并准备一个 59API 的 API Key。建议新建一个独立目录,避免和其他项目混在一起。

创建项目:

mkdir gpt-claude-cli && cd gpt-claude-cli

npm init -y

npm install openai dotenv commander

这里使用 openai SDK 的原因是 59API 兼容 OpenAI SDK,你不需要为不同模型重写大量请求逻辑。commander 用来解析命令行参数,dotenv 用来读取本地环境变量。

配置环境变量

在项目根目录创建 .env 文件:

API_KEY=你的59API密钥

API_BASE_URL=https://api.59api.com

不要把 .env 提交到 Git 仓库。真实项目里可以再加一个 .env.example,写上变量名但不写密钥,方便别人配置。

编写第一个 CLI 版本

创建文件 cli.js,核心思路是:读取用户输入、读取模型参数、调用兼容接口、输出结果。你可以先实现一个最小可用版本。

#!/usr/bin/env node

import 'dotenv/config';

import { Command } from 'commander';

import OpenAI from 'openai';

const program = new Command();

const client = new OpenAI({ apiKey: process.env.API_KEY, baseURL: process.env.API_BASE_URL });

program.option('-m, --model <model>', '模型名称', 'gpt-4o-mini').argument('<prompt>', '你的问题').action(async (prompt, options) => { const res = await client.chat.completions.create({ model: options.model, messages: [{ role: 'user', content: prompt }] }); console.log(res.choices[0].message.content); });

program.parse();

由于 JSON 和 HTML 场景里尖括号容易冲突,上面的代码在页面中做了转义;实际写入文件时,正常使用命令行参数语法即可。如果你的 package.json 默认不是 ESM,需要添加 "type":"module"。

让命令真正可执行

在 package.json 中加入 bin 配置:

"bin": { "aicli": "./cli.js" }

然后执行:

chmod +x cli.js

npm link

现在你可以在终端运行:

aicli "用三句话解释什么是向量数据库"

如果想切换到 Claude 系列模型,只要传入 59API 支持的 Claude 模型名即可,例如 Sonnet、Haiku 或 Opus 对应的模型标识。实际模型名称以 59API 控制台文档为准:

aicli -m claude-3-5-sonnet-latest "帮我生成一个 Git commit message"

增加系统提示词,让输出更稳定

一个好用的 CLI 不只是“能回答”,还要回答得符合场景。你可以加入 system prompt,让它默认像开发助手一样工作。

const messages = [{ role: 'system', content: '你是一个简洁、准确的终端开发助手。优先给出可执行步骤。' }, { role: 'user', content: prompt }];

然后把 create 请求里的 messages 替换为这个变量。这样无论使用 GPT 还是 Claude,输出都会更偏向实用命令、排错步骤和代码解释。

支持从管道读取内容

CLI 的真正威力在于可以和其他命令组合。例如你可能想让 AI 解释一段错误日志:

cat error.log | aicli -m gpt-4o-mini "分析这个错误并给出修复建议"

实现方式是检测 stdin。如果有管道输入,就把管道内容和用户问题拼在一起。这样你的工具可以用于日志分析、代码审查、SQL 优化、文档总结等任务。

成本控制与模型选择建议

构建 CLI 时,不建议所有任务都用最贵模型。简单改写、摘要、翻译、命令解释可以用更便宜的 Haiku 或轻量 GPT 模型;复杂架构设计、长代码审查、严谨推理再切换到 Sonnet、Opus 或更强的 GPT 模型。59API 的低价按量付费很适合这种“按任务选模型”的模式,尤其适合个人开发者频繁试验。

另一个实用做法是给 CLI 加默认模型和快捷别名,例如 fast、smart、deep。fast 对应便宜快速模型,smart 对应日常开发模型,deep 对应复杂推理模型。这样你不需要每次记完整模型名。

常见问题与排查

下一步可以扩展什么

跑通基础版本后,你可以继续加入会话历史、流式输出、配置文件、多模型对比、结果保存到 Markdown、为 git diff 自动生成 commit message 等功能。如果你想快速体验 Claude 和 GPT 的组合开发流程,可以用 59API 注册一个账号,拿到 Key 后直接替换 baseURL 开始测试。

这个小工具的价值不在于代码复杂,而在于把 AI 放进你每天使用的终端工作流。先做一个最小可用版本,再根据自己的真实任务持续改进,你会很快拥有一个便宜、顺手、可定制的个人 AI 开发助手。

价格 · 接入文档

准备好开始了吗?

几分钟接入 Claude 与 GPT,全网超低价,原生不降智。立即注册即可领取 API 密钥。

免费注册