什么是 Butterfish?
Butterfish 是一款专为终端工作者设计的创新命令行工具。它通过集成 OpenAI 的 API 来增强你的 shell(bash、zsh)体验,提供 AI 提示能力。它类似于 GitHub Copilot,但专门针对 shell 命令进行了定制,允许用户直接在命令行界面与 AI 交互。
使用 Butterfish Shell 能做什么?
运行 Butterfish Shell 时,用户可以执行多种任务,包括:
- 命令生成
- 请求执行特定任务的命令,例如“给我一个命令来做 x。”
- 故障排除
- 查询特定命令失败的原因,例如“为什么那个命令失败了?”
- 智能体功能
- 在目标模式下使用命令,例如“!在此目录运行 make,调试问题”,允许 AI 根据先前的输出采取行动。
- 烹饪助手
- 寻找食谱或进行一般性查询,展示其在终端任务之外的灵活性。
- 自动补全
- 根据上下文获取命令建议,提高效率。
安装与认证
Butterfish 兼容 MacOS 和 Linux 系统。以下是入门方法:
- 在 MacOS 上使用 Homebrew:
brew install bakks/bakks/butterfish
butterfish shell
- 使用 Go:
go install github.com/bakks/butterfish/cmd/butterfish@latest
$(go env GOPATH)/bin/butterfish shell
首次使用时,你需要提供一个 OpenAI API 密钥,可以在此处获取。
功能特性
- 无缝集成
- 与 bash 和 zsh 顺畅协作,启动新的 shell 实例同时保留自定义配置。
- 上下文感知
- AI 可以访问你的 shell 历史记录,从而提供更相关的响应和反馈。
- GPT 自动建议
- 就像代码补全一样,AI 会根据你的输入和过往历史建议命令。
- 自定义提示
- 在
~/.config/butterfish/prompts.yaml中配置你的提示语言,以获得更量身定制的交互。 - 多模型选择
- 默认使用
gpt-4-turbo,但你可以根据需要选择其他模型。
目标模式
Butterfish Shell 包含一个名为“目标模式”的功能,用户可以启动一个智能体代表他们执行命令。以 ! 开头的命令,AI 会给出指令,同时通过先前的 shell 活动保持上下文。例如,使用 !! 允许智能体无需确认即可执行命令,但应谨慎使用。
如何使用 Butterfish Shell
与 Butterfish Shell 交互非常简单:
- 像往常一样输入命令。
- 以大写字母开头的命令用于 AI 交互。
- 使用
!进入目标模式,使用!!执行无需确认的命令。 - 使用
butterfish shell --help访问命令参考,获取更高级的使用选项。
价格
虽然 Butterfish 本身是开源且免费使用的,但利用它需要访问 OpenAI 的 API,这可能会根据你的使用情况和所选计划产生费用。如果频繁使用超出了免费额度,可能需要订阅以获得持续访问。
实用技巧
- 为避免超额费用,可以考虑使用
-A标志禁用自动建议,或使用-t选项调整自动建议的超时时间。 - 始终审查 AI 提供的命令,尤其是在使用目标模式时,以确保它们符合你的目标。
常见问题
没有 OpenAI API 密钥可以使用 Butterfish 吗?
不可以,你需要一个 API 密钥来通过 Butterfish 进行身份验证并访问 AI 服务。
我的命令历史记录在 Butterfish 中安全吗?
是的,虽然 Butterfish 使用你的命令历史记录来实现上下文感知,但用户隐私是优先考虑的,敏感数据不会被存储。
Butterfish 支持哪些 shell 环境?
Butterfish 专为 bash 和 zsh 等 shell 环境设计,使其对 MacOS 和 Linux 用户都具有通用性。
如果我的命令没有按预期工作怎么办?
你可以直接询问 Butterfish 某些命令失败的原因,从而借助 AI 的协助高效地进行故障排除。
Butterfish
让我们在命令行中利用大模型做些有用的事,尤其侧重于软件工程领域。
在此投放广告
每日触达数千访客。立即获取您的位置!
