3 个版本
0.1.2 | 2023年3月20日 |
---|---|
0.1.1 | 2023年3月19日 |
0.1.0 | 2023年3月18日 |
#2503 in 命令行工具
18KB
308 行
Orphic
为 *nix 系统提供自然语言壳界面。
概览
Orphic 是一个 CLI 工具,使用 GPT 将复杂任务转换为在系统上执行的 shell 命令。它在需要复杂且难以理解命令的相对简单任务中表现出色。
$ orphic delete all installers or tars from ~/Downloads that are more than a week old
find ~/Downloads -name '*.tar.*' -mtime +7 -delete; find ~/Downloads -name '*.dmg' -mtime +7 -delete
Execute? [Y/n] Y
注意:Orphic 默认为安全模式,除非指定不安全模式,否则不会在没有确认的情况下自动执行命令。
安装
- 确保您的系统已安装 rust 和 cargo。
cargoinstall orphic
- Orphic 需要设置
OPENAI_API_KEY
环境变量。您可以在 此处 生成一个。
用法
Orphic 被设计成像使用其他 CLI 工具一样使用。
$orphic sort~根据媒体类型将 /Downloads 中的文件归类到文件夹中
$orphic 我的网络连接有多强
$orphic 我运行的是哪个内核版本
$orphic 显示 /Downloads/ 中所有大于 8MB 的文件的名称和大小~/
$orphic<执行您不知道如何执行但需要复杂命令的任务'>
-4
或 --unsafe
将在没有用户验证的情况下执行命令。
-4
或 --gpt4
将尝试使用 GPT-4 而不是 GPT-3.5-Turbo。请注意,这只有在您的 OpenAI 账户可以访问该模型时才会工作。
-i
或 --interpret
将以自然语言描述任务的输出(请注意,这通常非常慢)。
$ orphic -u -i how much disk space is available
You have 16GB available out of a total of 113GB on your main hard
drive, which is mounted on the root directory.
Other partitions and file systems are also listed with their
respective usage percentages and mount points.
-d
或 --debug
将在安全模式下显示 GPT 文本和常规输出。
$ orphic -u -d count the lines of rust code in this directory excluding /target/.
{"command": "find . -name target -prune -o -name '*.rs' -type f -print0 | xargs -0 wc -l"}
61 ./src/prompts.rs
219 ./src/main.rs
280 total
-r
或 --repl
将在 REPL 环境中启动 Orphic。
$ orphic -u -r
orphic> when did i last login
wtmp begins Sat Mar 18 14:55
orphic> quit
$
使用技巧和观察
有时Orphic工作正常,有时则不行。GPT的结果不一致,我使用的提示词也还有很多需要改进的地方。如果你的任务格式化为命令而不是问题(例如“列出当前打开的端口”而不是“当前打开了哪些端口”),似乎结果会更好。一个经常出现的错误是GPT会尝试使用不同操作系统/发行版的命令或软件包,或者尝试使用你没有安装的工具。一个快速的解决方案是在你认为任务需要特定操作系统的工具时指定你的操作系统,但我正在努力让Orphic更加了解它可以使用哪些命令以及哪些不可以。
贡献
欢迎提交拉取请求。如果你使用了Orphic并且获得了好的/有趣的结果,请发送给我。同样,如果你得到了非常差的结果,也请发送给我或者创建一个问题。这个系统非常实验性,我仍在尝试找出哪些提示和配置是有效的,哪些不是。
许可证
版权所有 (c) Will Savage, 2023
依赖项
约10-26MB
约368K SLoC