SuperAPI AI 工具集

Butterfish

Butterfish 是一款开源的命令行 AI 工具,为 bash、zsh 等 shell 添加 AI 提示与自动补全能力,类似终端里的 GitHub Copilot。它能读取 shell 历史,让你以大写字母开头输入问题即可调用 OpenAI 或兼容 API 获得上下文帮助;支持命令自动建议(Tab 应用)、目标模式让代理执行命令、纯文本摘要与本地文件嵌入管理等功能。

访问官网

工具介绍

用途 Butterfish 面向在命令行中工作的开发者,将 LLM 能力直接嵌入 shell(bash、zsh),让用户无需复制粘贴即可获得高上下文的 AI 帮助,偏向软件工程场景。

主要能力

  • 在终端内直接向 AI 提问,凡是以大写字母开头的命令会被拦截并作为提示发送给模型。
  • AI 可读取 shell 历史与命令输出,因此支持“为什么那个命令失败了?”这类上下文问题。
  • 自动补全 shell 命令,AI 口头建议过的命令有可能出现在补全中,按 Tab 应用。
  • 目标模式(Goal Mode):以 ! 开头的命令触发代理模式,由 AI 提出命令并交给用户执行,结果回传给模型;以 !! 开头则不确认直接执行(存在风险)。
  • 也可当作通用 ChatGPT 界面使用,例如“给我一个意面食谱”。
  • 提供更细分的命令行工具,用于提示、生成命令、文本摘要以及管理本地文件嵌入。
  • butterfish.nvim 是一个 Neovim 插件,支持在 Neovim 内流畅地使用 LLM 提示,例如按指定指令重写代码块。

使用方式 支持 MacOS 与 Linux,可通过 Homebrew 或 go install 安装。首次运行会提示粘贴 OpenAI API 密钥,密钥写入 ~/.config/butterfish/butterfish.env。可把 butterfish 命令设置别名(如 bf)。运行 butterfish shell 会启动一个新的 shell 实例并拦截输入输出。默认使用 gpt-4-turbo 模型,可配置为其他模型;也可通过 --base-url(-u)指向任意 OpenAI 兼容 API 服务,包括本地模型。提示词包装器保存在 ~/.config/butterfish/prompts.yaml,可见且可编辑。使用 butterfish shell -v 查看原始 AI 请求/响应日志(MacOS 下位于 /var/tmp/butterfish.log),-vv 更详细。

适用场景 适合习惯在终端工作的开发者,用于快速获取命令、排查命令失败原因、自动补全、以代理方式完成诸如递归列出 golang 文件、查找隐藏文件、查看内存占用最高的进程等目标,也可进行一般的 LLM 对话。

限制 目标模式效果并不稳定,官方称“相当看运气”,成功与否取决于目标的复杂度和引导程度;代理可能偏向特定版本的命令,在 MacOS 与 Linux 上可能需要试错,也不擅长操作大型文本文件。历史上下文受模型 token 窗口限制,会尽量包含近期历史,单条历史最多使用 512 token,超长的命令输出会被截断。运行 vim、ssh 等交互式子进程时 Butterfish 会避免干扰。该工具默认会修改 shell 提示符以标识状态,属于实验性项目。