Repolode
tbckr

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. 1

    通过 Homebrew 安装(macOS)

    brew install tbckr/tap/sgpt
  2. 2

    或使用 Go 安装

    go install github.com/tbckr/sgpt/v2/cmd/sgpt@latest
  3. 3

    在 shell 配置文件中设置 OpenAI API 密钥

  4. 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 数据每日更新。

相关项目