工具推荐·阅读约 3 分钟·
ShellGPT:在终端中直接使用 AI 命令行的生产力工具

ShellGPT:在终端中直接使用 AI 命令行的生产力工具

ShellGPT 是一款基于 AI 大语言模型的命令行生产力工具,支持在终端中直接生成 shell 命令、代码片段、文档等,无需离开命令行即可调用 AI 能力。

概述

ShellGPTGitHub: TheR1D/shell_gpt)是一款由 AI 大语言模型(LLM)驱动的命令行生产力工具。它能够直接在终端中生成 shell 命令、代码片段、文档和自然语言回答,让你无需离开终端去搜索 Google 或查阅文档。支持 Linux、macOS 和 Windows,兼容 PowerShell、CMD、Bash、Zsh 等主流 Shell。

默认情况下,ShellGPT 使用 OpenAI 的 API 和 GPT-4 模型。你也可以通过 Ollama 等后端使用本地开源模型(免费),不过本地模型可能需要额外配置。

核心功能

1. 智能 Shell 命令生成

忘记某个命令的语法时,无需再打开浏览器搜索。使用 --shell(或 -s)选项即可让 AI 根据你的自然语言描述生成对应的命令,并支持交互式执行、描述或中止。

code
# 查找当前目录下所有 JSON 文件
sgpt -s "find all json files in current folder"
# 输出: find . -type f -name "*.json"
# 交互: [E]xecute, [D]escribe, [A]bort

ShellGPT 会自动识别你的操作系统,生成适配的命令:

  • macOS 上询问系统更新 → 生成 softwareupdate --list
  • Ubuntu 上询问系统更新 → 生成 sudo apt update && sudo apt upgrade -y

它还支持通过管道传递输入:

code
# 分析日志文件中的错误
cat server.log | sgpt "check logs, find errors, provide possible solutions"

2. 纯代码生成

使用 --code(或 -c)选项可以生成纯代码输出,方便重定向到文件:

code
sgpt -c "solve fizz buzz problem using python" > fizzbuzz.py

结合管道使用,可以为代码自动添加注释:

code
cat my_code.py | sgpt "Generate comments for each line of my code"

3. 对话模式与 REPL

使用 --chat 选项可以开启持续对话,会话自动保存在 ~/.config/shell_gpt/chat_cache/ 中:

code
# 开启新会话
sgpt --chat session1 "please remember my favorite number: 4"
sgpt --chat session1 "what would be my favorite number + 4?"
# 输出: Your favorite number is 4, so if we add 4 to it, the result would be 8.

使用 --repl 可以进入 REPL(读取-求值-输出循环)交互模式,像聊天一样持续与 AI 交流:

code
sgpt --repl temp
# 进入 REPL 模式,按 Ctrl+C 退出

支持带 --shell--code 选项的 REPL 模式,特别适合交互式生成和执行命令。

4. Function Calling(函数调用)

ShellGPT 支持 OpenAI 的 Function Calling 功能,允许 LLM 在你的系统中执行函数。你可以在 ~/.config/shell_gpt/functions/ 目录下创建自定义函数。

示例:内置的 execute_shell_command 函数让 LLM 可以直接执行系统命令。如果某个工具未安装,LLM 甚至可能尝试自动安装:

code
# 请求解析 JSON 文件
sgpt "parse /tmp/test.json file using jq and return only email value"
# 如果 jq 未安装,LLM 可能会自动执行 brew install jq

支持链式函数调用:

code
sgpt "Play music and open hacker news"
# LLM 会依次调用播放音乐和打开浏览器的函数

⚠️ LLM 可能执行破坏性命令,使用时请注意风险。

5. 自定义角色(Roles)

通过 --create-role 可以创建自定义角色,用于特定场景:

code
sgpt --create-role json_generator
# 输入角色描述: Provide only valid json as response.
# 之后使用: sgpt --role json_generator "random: user, password, email, address"

使用 --list-roles(或 -lr)列出所有角色,--show-role 查看角色详情。

6. Shell 集成(Hotkey 模式)

运行 sgpt --install-integration 并重启终端后,你可以通过快捷键(默认 Ctrl+Space)在终端中直接调用 ShellGPT。它会替换当前输入行(buffer),让你可以即时编辑和执行建议的命令。

7. 缓存

ShellGPT 会对相同的查询进行缓存,下次同样的请求直接从缓存获取结果,速度更快。使用 --temperature 参数可以跳过缓存,获取新的回答。

安装与配置

安装

code
pip install shell-gpt

配置 API Key

首次运行时会提示输入 API Key,存储在 ~/.config/shell_gpt/config.yaml 中。也可以通过环境变量 OPENAI_API_KEY 设置。

运行时配置

配置文件 ~/.config/shell_gpt/config.yaml 支持丰富的自定义选项:

code
# API 密钥
OPENAI_API_KEY: your-key-here
# 后端服务器地址
API_BASE_URL: default
# 聊天缓存路径
CHAT_CACHE_PATH: /tmp/shell_gpt/chat_cache
# 请求缓存路径
CACHE_PATH: /tmp/shell_gpt/cache
# Shell 命令默认颜色
COLOR: blue
# 默认执行 shell 命令(无需确认)
DEFAULT_EXECUTE_SHELL_CMD: false
# 函数路径
OPENAI_FUNCTIONS_PATH: ~/.config/shell_gpt/functions

Docker 使用

ShellGPT 也支持 Docker 运行:

code
docker run --rm \
  --volume gpt-cache:/tmp/shell_gpt \
  --env OPENAI_API_KEY \
  --env OS_NAME=linux \
  ther1d/shell_gpt "what are the colors of a rainbow"

使用本地模型(Ollama)

如果需要使用本地模型(免费),需要配置 LiteLLM 和 Ollama:

code
# Dockerfile 示例
ENV DEFAULT_MODEL=ollama/mistral:7b-instruct-v0.2-q4_K_M
ENV API_BASE_URL=http://10.10.10.10:11434
RUN pip install --no-cache /app[litellm]

⚠️ ShellGPT 对本地模型的优化有限,可能不如 OpenAI 模型稳定。

命令行选项一览

选项说明
--model使用的 LLM 模型(默认: gpt-4o)
--temperature输出随机性(0.0~2.0,默认: 0.0)
--shell / -s生成并执行 shell 命令
--code / -c生成纯代码
--chat对话模式,指定会话 ID
--replREPL 交互模式
--role指定系统角色
--cache缓存完成结果(默认开启)
--md / --no-md美化 Markdown 输出
--editor用 $EDITOR 打开编辑器输入提示

适用场景

  • 开发者:快速生成 Git 提交信息、Docker 命令、正则表达式等
  • 运维工程师:分析日志、生成系统管理命令、排查网络问题
  • 数据科学家:生成数据处理脚本、SQL 查询
  • 技术写作者:生成文档示例、代码注释
  • 所有人:在终端中快速获得技术问题的答案,无需中断工作流

总结

ShellGPT 将 AI 大语言模型的强大能力直接嵌入命令行终端,让开发者无需切换上下文即可完成从命令生成到代码编写的各种任务。它的 Shell 集成、对话模式、Function Calling 等功能设计实用,能够显著提升终端工作的效率和流畅度。如果你经常在终端中工作,ShellGPT 是一个非常值得尝试的生产力工具。

项目地址https://github.com/TheR1D/shell_gpt

分享到
微博Twitter

© 2026 四月 · CC BY-NC-SA 4.0

原文链接:https://aprilzz.com/tools/shellgpt-ai-terminal