Python AI 客户端库,用统一简单的接口调用多家大模型服务,支持文本、结构化数据和多轮对话。
tbckr/sgpt
一款用 Go 编写的命令行工具,可在终端中调用 OpenAI 及兼容模型,生成命令与代码。
- Star
- 461
- Fork
- 34
- 未关闭 Issue
- 3
- 最近提交
- 5天前
这是什么?
SGPT(又名 shell-gpt)是一款 OpenAI 模型的命令行客户端,可以直接在终端中提问、生成 shell 命令或代码,并进行多轮对话。查询既可以作为参数传入,也可以通过管道从标准输入读取,回复支持流式输出。
除了普通问答,SGPT 还提供 sh、code 等角色(persona),分别用于生成命令和代码,生成的命令确认后可直接执行。它支持为视觉模型输入图片、命名保存的对话会话,并可通过 YAML 或 JSON 数据配合 Go text/template 语法生成提示词模板。结合 bash 别名和函数,可以把它嵌入日常工作流。
SGPT 兼容 OpenAI 接口以及任何 OpenAI 兼容的服务端点,包括 OpenRouter、Requesty、Google Gemini 的兼容层,以及 Ollama、LiteLLM、vLLM、llama.cpp 等本地后端,只需设置 OPENAI_API_BASE 即可切换。安装方式包括 Homebrew、Scoop、go install、Docker 和 GitHub Releases。
核心功能
- 01支持通过参数或管道输入提问,并可选择流式输出回复。
- 02使用 sh 角色生成 shell 命令,确认后可直接执行。
- 03使用 code 角色生成各语言的代码片段。
- 04为支持视觉的模型附加本地或网络图片。
- 05通过 --chat 保存并延续命名的多轮对话。
- 06结合标准输入中的 YAML 或 JSON 数据,使用 Go 模板生成提示词。
适用场景
- 不离开终端快速查询答案或命令用法。
- 把用自然语言描述的任务转换为 shell 命令并执行。
- 在终端中为不熟悉的语言起草代码片段。
- 借助 bash 别名、函数或模板,编写可重复使用的提示词脚本。
快速上手
- 1
通过 Homebrew 安装(macOS)
brew install tbckr/tap/sgpt - 2
或使用 Go 安装
go install github.com/tbckr/sgpt/v2/cmd/sgpt@latest - 3
在 shell 配置文件中设置 OpenAI API 密钥
- 4
提出一个问题
sgpt "mass of sun"
使用前须知
- 需要 OpenAI 兼容的 API 密钥才能使用。
- README 指出 GPT-4o 和视觉 API 集成处于测试阶段,可能会变化。
- 这是 Go 实现版本;原始 Python 版 shell-gpt 的问题请到其他仓库反馈。
收录于专题
标签
常见问题
- sgpt 是什么?
- 一款用 Go 编写的命令行工具,可在终端中调用 OpenAI 及兼容模型,生成命令与代码。 SGPT(又名 shell-gpt)是一款 OpenAI 模型的命令行客户端,可以直接在终端中提问、生成 shell 命令或代码,并进行多轮对话。查询既可以作为参数传入,也可以通过管道从标准输入读取,回复支持流式输出。
- sgpt 可以免费使用吗?用的什么许可证?
- sgpt 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- sgpt 还在维护吗?
- 活跃维护中。sgpt 最近一次提交是在 2026年11月3日。
- sgpt 适合用来做什么?
- 不离开终端快速查询答案或命令用法。 把用自然语言描述的任务转换为 shell 命令并执行。 在终端中为不熟悉的语言起草代码片段。 借助 bash 别名、函数或模板,编写可重复使用的提示词脚本。
- sgpt 怎么安装和运行?
- 通过 Homebrew 安装(macOS): brew install tbckr/tap/sgpt 或使用 Go 安装: go install github.com/tbckr/sgpt/v2/cmd/sgpt@latest 在 shell 配置文件中设置 OpenAI API 密钥 提出一个问题: sgpt "mass of sun"
- 在哪里获取 sgpt?
- 源代码和安装说明在 GitHub 上:https://github.com/tbckr/sgpt
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Ruby 库,用于在 Ruby 应用中加入离散的大模型组件,支持对话补全、工具调用和结构化输出。
为 Vim 和 Neovim 提供 AI 能力的插件,可在编辑器内生成代码、编辑文本并与模型对话。
一个 Python 库,根据函数名、参数和上下文,在运行时借助 OpenAI 模型自动生成函数实现。