ChatGPT CLI 项目介绍
ChatGPT CLI 是一个为命令行用户设计的简单脚本,允许用户通过命令行与 ChatGPT 进行交流。该功能性工具于 2023 年 3 月 1 日发布,支持使用 OpenAI 的官方 API。这款工具通过输入有效的 API 密钥,能够以极高的效率使用 ChatGPT,并且费用相对于 ChatGPT Plus 订阅,大幅降低。尤其适合频繁但轻量使用的用户。
如何获取 API 密钥
要使用 ChatGPT CLI,用户首先需获取一个 API 密钥。用户需要在平台网站 platform.openai.com 上登录其 OpenAI 账号(如果没有需要先注册)。在网站右上角找到自己姓名的首字母,点击后选择“查看 API 密钥”,然后点选“创建新密钥”即完成。初次使用的账户可能还需添加付费方式,新账户通常包含一些免费额度,但添加付费方式可能仍是必须的。
安装和基础配置
要使用 ChatGPT CLI,需要在系统中安装 Python(最低版本需为 3.10)、Pip 和 Git。首先,用户需更新 Pip 以避免在某些系统上可能出现的问题:
pip install -U pip
然后,只需一条命令即可完成 ChatGPT CLI 的安装:
pip install git+https://github.com/marcolardera/chatgpt-cli
安装后,需配置 API 密钥,有三种方法可供选择:
- 在 config.yaml 文件中编辑
api-key
参数 - 设置环境变量
OPENAI_API_KEY
- 使用命令行选项
--key
或-k
如果提供多个 API 密钥,ChatGPT CLI 将按照以上顺序优先使用:命令行选项 > 环境变量 > 配置文件。
配置文件
配置文件 config.yaml 位于用户定义的默认配置目录中(根据 XDG 基目录规范)。在 Linux/MacOS 系统中,该目录由 $XDG_CONFIG_HOME 变量定义(可用 echo $XDG_CONFIG_HOME
检查)。若未设置该变量,默认目录应为 ~/.config
夹。在第一次执行脚本时,模板配置文件会自动生成。若文件已存在但缺少某些字段,系统将使用默认值填充。
供应商选择
配置文件 config.yaml 中,用户可以选择 openai
(默认值)或 azure
作为供应商,并记得设置对应的供应商参数。
模型选择
ChatGPT CLI 默认使用 gpt-3.5-turbo
模型。通过在 config.yaml 文件中编辑 model
参数或使用命令行选项 --model
,用户可以选择其他模型。以下是可选模型及其定价:
名称 | 输入令牌价格 | 输出令牌价格 |
---|---|---|
gpt-3.5-turbo | 0.0005 | 0.0015 |
gpt-4 | 0.03 | 0.06 |
gpt-4-turbo | 0.01 | 0.03 |
gpt-4o | 0.005 | 0.015 |
价格以每 1000 个令牌为单位计算。若选择 Azure 作为供应商,可能会影响定价的准确性。
基本用法
在终端输入以下命令启动 ChatGPT CLI:
chatgpt-cli
启动后即可开始交流!输入 /q
退出并显示当前会话使用的总令牌数及费用。输入 /copy
(或 /c
)命令可将生成输出中的代码块复制到剪贴板。
多行输入
使用 --multiline
(或 -ml
)标志可以切换至多行输入模式。在这种模式下,可以使用 Alt+Enter
或 Esc+Enter
提交信息。
提供上下文
使用 --context <FILE PATH>
命令行选项可为模型提供初始上下文。例如:
chatgpt-cli --context notes.txt
此选项可以多次指定,提供多个文件作为上下文。
Markdown 渲染
ChatGPT CLI 会自动渲染模型的 Markdown 输出,包括代码块、格式及语法高亮。如果不需要此功能,可在 config.yaml
文件中将 markdown
参数从 true
更改为 false
。
恢复先前会话
ChatGPT CLI 将所有过去的会话(含上下文和令牌记录)储存在 session-history
文件夹中。可以通过 --restore <YYYYMMDD-hhmmss>
命令来恢复某次会话。提供 last
特殊值可以恢复上次会话。
UNIX 管道使用
在 UNIX 环境中,ChatGPT CLI 可通过 --non-interactive
(或 -n
)模式在管道中使用。例如:
cat example_file.txt | chatgpt-cli -n
在此情况下,文件内容会直接发给 ChatGPT,结果输出至标准输出,可在 shell 脚本中使用。
JSON 模式
JSON 模式目前仅适用于 gpt-3.5-turbo-0125
和 gpt-4-turbo-preview
模型。可通过 --json
(或 -j
)标志启用此模式。请求时必须明确提出获取 JSON,否则会收到“无效请求”响应。
总体来说,ChatGPT CLI 提供了通过命令行使用 ChatGPT 的灵活性和高效性,兼具经济性及易用性,非常适合熟悉命令行的用户。