Gorilla CLI 项目介绍
Gorilla CLI 是一个以用户为中心的终端工具,旨在使命令行交互更加简便。用户只需表述他们的目标,Gorilla CLI 就能生成可供执行的可能命令。Gorilla CLI 目前支持约 1500 种 API,包括 Kubernetes、AWS、GCP、Azure、GitHub、Conda、Curl、Sed 等,这意味着不用再记住那些复杂的命令行参数。
Gorilla CLI 是由加州大学伯克利分校开发的研究原型,重视用户控制和隐私保护:
- 命令只会在用户明确批准后才会被执行。
- 虽然我们会使用查询和错误日志(stderr)来提升模型,但绝不会收集输出数据(stdout)。
快速开始
用户可以通过 pip 轻松安装 Gorilla CLI:
pip install gorilla-cli
使用说明
用户可以通过在终端中使用 gorilla
命令并附加简单的英文任务描述,来激活 Gorilla CLI。例如,要生成一个包含 100 个随机字符的文件,可以输入:
$ gorilla generate 100 random characters into a file called test.txt
或者,为了避免解析字符串的问题,用户可以选择使用引号:
$ gorilla "generate 100 random characters into a file called test.txt"
Gorilla CLI 将生成候选命令,用户可以使用箭头键浏览这些选项,并按下回车键以执行选定命令。
示例
下面是一些使用 Gorilla CLI 的示例:
- 列出所有 GCP 实例:
$ gorilla list all my GCP instances
Gorilla CLI 将给出如下命令选项:
» gcloud compute instances list --format="table(name,zone,status)"
gcloud compute instances list --format table
gcloud compute instances list --format="table(name, zone, machineType, status)"
- 获取 Kubernetes 中所有命名空间中正在运行的所有 pod 的镜像 ID:
$ gorilla get the image ids of all pods running in all namespaces in kubernetes
Gorilla CLI 将给出如下命令选项:
» kubectl get pods --all-namespaces -o jsonpath="{..imageID}"
kubectl get pods --all --namespaces
kubectl get pod -A -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{"\t"}{.spec.containers[].image}{"\n"}{end}'
工作原理
Gorilla CLI 集成了多种语言学习模型(LLMs)的功能,如 Gorilla LLM、OpenAI 的 GPT-4、Claude v1 等,为用户呈现一个易用的命令行界面。对于每个用户查询,我们汇集所有贡献的 LLMs 的响应,进行筛选和排序,最后为用户提供最相关的选项。
参数说明
Gorilla CLI 允许用户使用不同的参数来调整其功能:
usage: go_cli.py [-h] [-p] [command_args ...]
Gorilla CLI 帮助文档
位置参数:
command_args 要输入给 Gorilla 的提示信息
可选参数:
-h, --help 显示此帮助信息并退出
-p, --history 显示命令历史
历史功能允许用户返回到他们之前执行过的命令,以类似于终端历史的方式重新执行。
贡献
Gorilla CLI 欢迎用户的各种增强和改进!用户可以在 GitHub 页面提交拉取请求。
许可证
Gorilla CLI 采用 Apache 2.0 许可证。更多详细信息可以在 LICENSE 文件中找到。我们也对 questionary 的出色 UI 表示感谢!