SuperAPI AI 工具集

shell_gpt

ShellGPT 是一个由 AI 大语言模型(如 GPT-5)驱动的命令行生产力工具,帮助用户更快、更高效地完成任务。它支持在终端中快速生成 Shell 命令、代码片段和文档,无需再切换到外部资源(如 Google 搜索)查找资料。该工具支持 Linux、macOS、Windows 以及 PowerShell、CMD、Bash、Zsh 等主流 Shell。默认使用 OpenAI 的 API 和 GPT-4 模型,需要用户提供 API 密钥,OpenAI API 并非免费;也可在本地免费运行开源模型,但需要自行搭建 LLM 后端(如 Ollama),且 ShellGPT 未针对本地模型优化,可能无法按预期工作。

访问官网

工具介绍

用途

ShellGPT 是一个命令行生产力工具,由 AI 大语言模型(LLM)驱动。它旨在帮助用户更快、更高效地完成任务,主要用途包括生成 Shell 命令、代码片段和文档,减少对外部资源(如搜索引擎)的依赖。

主要能力

  • 生成 Shell 命令:通过 --shell 或 -s 选项,可根据用户描述快速生成并执行所需命令。ShellGPT 能感知操作系统和当前使用的 $SHELL,从而给出适配具体系统的命令。
  • 生成代码:通过 --code 或 -c 选项,请求纯代码输出,可将输出重定向到文件。
  • 会话与 REPL:支持聊天模式(--chat)和 REPL 模式(--repl),会话保存在可配置的 CHAT_CACHE_PATH。可用 --list-chats 列出会话、--show-chat 查看会话消息。
  • 函数调用:OpenAI 提供的函数调用能力允许 LLM 在用户系统中执行函数。可安装默认函数,也可在 ~/.config/shell_gpt/functions 创建自定义 .py 文件,类内 docstring 会作为函数描述传给 OpenAI API。
  • 自定义角色:使用 --create-role 创建角色,角色文件保存在 ~/.config/shell_gpt/roles,可用 --list-roles 和 --show-role 管理。若角色描述包含“APPLY MARKDOWN”,聊天会使用 Markdown 格式显示。
  • 缓存控制:使用 --cache(默认)和 --no-cache 控制请求缓存。相同查询会命中本地缓存,但若改变了 --temperature 或 --top-probability 等参数会发起新请求。
  • Shell 集成:运行 sgpt --install-integration 后重启终端,可在 .bashrc 或 .zshrc 中添加相关配置。默认使用 Ctrl+l 调用 ShellGPT,将建议命令直接放入终端输入行,便于编辑后回车执行。

使用方式

ShellGPT 接受来自标准输入(stdin)和命令行参数的提示。可通过管道传递输入,例如根据 diff 生成 git 提交信息,或传递日志进行分析并获取错误与建议。使用 --no-interaction 选项可禁用交互模式,将生成的命令直接输出到 stdout,便于通过管道复制到剪贴板等操作。

运行时配置文件位于 ~/.config/shell_gpt/.sgptrc,可设置 DEFAULT_COLOR(black、red、green、yellow、blue、magenta、cyan、white 及 bright_ 系列等)、CODE_THEME(参考 pygments 样式链接)、MARKDOWN_LIVE_VERTICAL_OVERFLOW(ellipsis、visible、crop)。默认 ellipsis 模式在 Markdown 输出超过终端高度时仅显示“...”;visible 模式(推荐用于 REPL 会话)可实时显示全部生成内容。

Docker 使用方式:通过 OPENAI_API_KEY 环境变量和 docker volume 存储缓存运行容器,可根据偏好设置 OS_NAME 和 SHELL_NAME 环境变量。也可使用提供的 Dockerfile 自行构建镜像。

适用场景

适用于在终端中快速分析和检索信息,处理从技术配置到通用知识的各种直接请求。可用于生成 git 提交信息、分析日志、查找并执行 Shell 命令、生成代码、进行多轮对话以迭代改进建议等。

限制

默认依赖 OpenAI API 和 GPT-4 模型,需要 API 密钥,且 OpenAI API 并非免费。若在本地运行开源模型,需要自行搭建 LLM 后端(如 Ollama),且 ShellGPT 未针对本地模型优化,可能无法按预期工作。LLM 可能会执行破坏性命令,使用时需自行承担风险。