开源地址: https://github.com/evilpan/gptcli
前两天 OpenAI 公开了 gpt-3.5-turbo
的接口,于是想着能不能用命令行实现一个简单的版本。一方面是对于程序员而言命令行非常常用,另一方面也是因为 Web 版本的比较难部署,需要额外的服务器。
于是周末撸了两天,先是实现了一个简单的版本,可以请求 OpenAI api 并获取结果,然后把结果用 markdown 在终端上渲染出来。后来网友建议加上流式的输出,于是又调研了以下,发现确实可以实现。不过这期间有个小坑就是 openai 的流式 api 使用了 aiohttp
这个库,这个库本身支持 HTTP/HTTPS proxy,但是不支持 socks,所以后来通过一个三方的拓展去间接改造了以下。
总而言之,目前支持的功能如下:
- 流式输出
- Markdown/代码高亮
- 支持对话上下文
- 支持科学访问 api.openat.com
- 支持输入多行(通过
<
命令)
一些内置的命令:
Input: help
options:< 输入多行reset 清空会话,删除上下文help 帮助exit 退出
实现效果: https://asciinema.org/a/564585
ChatGPT 命令行版本
彩蛋:
开源地址: https://github.com/evilpan/gptcli