j178 / chatgpt

An elegant interactive CLI for ChatGPT
693 stars 52 forks source link

我想到一个好玩的实现 例如 --once “msg” 单次的,无上下文的。并且直接输出到命令行的实现 #55

Closed yaocccc closed 1 year ago

yaocccc commented 1 year ago

例如将该工具作为cli用

比如 $ chatgpt -p translator --once "hello world"

你好世界!

如此可将该工具的玩法变的更有趣,例如

notify-send "$(xsel -o)" "$(chatgpt -p translator --once $(xsel -o))"

linux下的最小单位划词搜索(从剪切板读取最后选中内容、调用chatgpt、使用notify-send推送到系统通知)

yaocccc commented 1 year ago

我尝试下,比较忙。周末看看

yaocccc commented 1 year ago

另外就是,目前没看到快捷键来切换 Prompt 的,还挺不方便的。

j178 commented 1 year ago

已经可以这样的玩了哈,readme 里有提到:

echo "hello world" | chatgpt

或者

chatgpt "hello world"

yaocccc commented 1 year ago

我试试看,秀

yaocccc commented 1 year ago

还真是,了解,秀啊。是否可以支持流out

yaocccc commented 1 year ago

image

j178 commented 1 year ago

在这种 one-shot 的使用场景,感觉 stream output 必要性不大。另外因为 stream 输出的时候,OpenAI 不会返回接口的错误,请求出错只会返回一个 EOF error,只在 non-stream 的时候才会返回完整的错误原因。我想把 echo hello | chatgpt 保留作为一种调试的手段。

yaocccc commented 1 year ago

在这种 one-shot 的使用场景,感觉 stream output 必要性不大。另外因为 stream 输出的时候,OpenAI 不会返回接口的错误,请求出错只会返回一个 EOF error,只在 non-stream 的时候才会返回完整的错误原因。我想把 echo hello | chatgpt 保留作为一种调试的手段。

我尝试提交了根据conf.stream来判断是否用流输出的实现pr

yaocccc commented 1 year ago

r="" chatgpt -p translator "$(xsel -o)" | while IFS= read -r -n1 char do r="$r$char" notify-send -r 1234 "󰊿 translator" "$r" done

现在已经圆满实现了

j178 commented 1 year ago

能看看效果不 😃

yaocccc commented 1 year ago

迟一些,刚好下楼了,这里好像不好发视频文件

j178 commented 1 year ago

视频可以直接拖到输入框的

yaocccc commented 1 year ago

show

yaocccc commented 1 year ago

show

yaocccc commented 1 year ago

有这个东西,玩法就很丰富了。

j178 commented 1 year ago

哇,cool,有想法做个B站视频吗 (请求 py) 😎

yaocccc commented 1 year ago

可以的,我都快一个月没发视频了。等我周末看看。哈哈

j178 commented 1 year ago

哈哈,给大佬打 call