kardolus/chatgpt-cli
ChatGPT CLI is a powerful, multi-provider command-line interface for working with modern LLMs. It supports OpenAI, Azure, Perplexity, LLaMA, and more, with features like streaming, interactive chat, prompt files, image/audio I/O, MCP tool calls, and an experimental agent mode for safe, multi-step automation.
ChatGPT CLI – 现代 LLM 的终端前端
这是什么 – 一个单一二进制文件的命令行工具,让您直接从 shell 与各种大型语言模型提供商 (OpenAI、Azure、Perplexity、LLaMA 等) 对话。它支持纯文本查询、流式响应、交互式 REPL 会话,以及一组“代理”功能,让模型能够调用工具 (shell、文件系统、网络搜索、MCP 服务) 来解决多步骤任务。
核心功能
- 流式与查询模式 – 实时逐字元输出或一次性请求与接收。
- 基于线程的上下文 – 每个逻辑对话 (线程) 都保留各自的历史记录与滑动窗口字元限制;历史记录存储在
~/.chatgpt-cli下。 - 提示文件 –
--prompt <file>在您的查询前注入可重复使用的指令文件。 - 代理模式 – 实验性的 ReAct 或 Plan/Execute 循环,让模型使用内置工具 (shell 命令、文件操作、网络搜索) 进行思考、行动和观察。预算 (步骤、字元、时间) 与策略规则 (允许的工具、工作目录沙盒) 确保执行的安全性。
- MCP (模型上下文协议) 集成 – 调用外部 HTTP 或 stdio 工具,将其 JSON-RPC 结果以
[MCP: <tool>]上下文插入对话中。 - 多媒体 I/O – 上传图片 (
--image)、生成或编辑图片 (--draw)、上传音频 (--audio)、转录 (--transcribe) 以及合成语音 (--speak)。 - 模型发现 –
-l/--list-models显示当前提供商提供的模型。 - 分层配置 – 命令行参数 > 环境变量 >
config.yaml> 默认值;每个提供商区块可让您存储 OpenAI、Azure、Perplexity、302 AI、Atlas Cloud 等的密钥。
安装
- Homebrew (macOS):
brew tap kardolus/chatgpt-cli && brew trust kardolus/chatgpt-cli && brew install chatgpt-cli - 预构建二进制文件 – 从最新的 GitHub release 中 curl 适当的
chatgpt-<os>-<arch>,使其具备可执行权限,并将其放置在您的$PATH中 (README 中有适用于 Apple Silicon、Intel macOS、Linux amd64/arm64/386、FreeBSD、Windows 的示例)。
入门指南
- 导出您的 OpenAI 密钥:
export OPENAI_API_KEY=sk-… - 创建历史记录文件夹:
mkdir -p ~/.chatgpt-cli - 尝试简单查询:
chatgpt "What is the capital of the Netherlands?" - 启动交互式 REPL:
chatgpt --interactive - 使用提示文件:
git diff | chatgpt --prompt ./prompts/write_pull-request.md - 运行代理:
chatgpt "Why is my test failing?" --agent
配置重点
config.yaml位于~/.chatgpt-cli中 (或通过--config-dir指定自定义目录)。- 提供商专属区块可让您设置 API 密钥、基础 URL 和模型默认值。
- 代理专属设置 (
budget、policy、work-dir) 可在同一文件中或通过--set-…参数进行配置。 - 可使用
--completion辅助工具为 Bash/Zsh/Fish 启用自动补全。
为何您可能会关心
- 让您保持在终端环境中,避免切换到网页 UI 的上下文。
- 代理模式提供了一个轻量级的“auto-GPT”,可以在遵守安全限制的同时运行脚本、编辑文件或获取实时网络数据。
- MCP 支持意味着您可以插入任何遵循模型上下文协议的自定义工具,而无需编写代码。
链接与资源
- 完整文档:上方 README 的各个章节。
- 提示库:https://github.com/kardolus/prompts
- 问题追踪器与贡献指南已链接于 repo 中。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目