6个版本
0.1.5 | 2023年2月28日 |
---|---|
0.1.4 | 2023年2月21日 |
#24 in #作者
用于 binggpt-cli
19KB
364 行
BingGPT
BingGPT 命令行客户端,使用Rust编写
此项目是EdgeGPT的Rust语言实现,所有困难的工作都是由原始项目作者acheong08
完成的,我只是将其用Rust编写,所有功劳都归功于他,感谢这位大侠的辛勤工作!
安装
cargo install binggpt
或者从发布页面下载二进制文件。
要求
您必须有一个可以访问BingGPT的Microsoft账户。
配置(必需)
- 为安装
cookie-editor
扩展,请访问Chrome或Firefox - 访问bing.com并登录您的Microsoft账户
- 打开扩展
- 在右下角点击"导出"(这将把您的cookies保存到剪贴板)
- 将cookies创建或写入到
~/.config/bing-cookies.json
文件中
用法
首先,您需要执行上面的配置步骤。
如果您有一个Rust开发环境,首先需要克隆代码,进入此项目目录,然后运行cargo run
。
如果您想将其编译成二进制文件,可以运行cargo build --release
。编译完成后,您可以在target/release
目录中找到编译后的二进制文件。
如果您想将其安装在系统上,可以运行cargo install --path .
,这样您就可以在任何地方轻松使用binggpt
命令。
程序启动后,当您看到您:
,意味着您可以用BingGPT开始对话,按两次回车键发送消息。
在对话中,您可以使用以下命令。
:q
:quit
:exit
退出程序:more
进入多行模式,在这里您可以安全地输入更多文本,或者从剪贴板粘贴文本:end
退出多行模式
可能的问题
对于Windows10用户
查看#3
确保正在运行Windows 10的用户在终端中使用此命令,并具有管理员权限,以启用终端中的文本颜色。
reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1
作为一个Rust包
cargo add binggpt
cargo add utf8-slice
cargo add tokio --features full
use std::io::{stdout, Write};
#[tokio::main]
async fn main() {
let mut bing = binggpt::Bing::new("~/.config/bing-cookies.json")
.await
.unwrap();
// send message
bing.send_msg("hello").await.unwrap();
// receive message
let mut index = 0;
// loop until the chat is done
loop {
if bing.is_done() {
break;
}
let Some(answer) = bing.recv_text().await.unwrap() else{
continue;
};
// print the new part of the answer
if !answer.is_empty() {
print!("{}", utf8_slice::from(&answer, index));
if stdout().flush().is_err() {
println!("Warning: Failed to flush stdout");
};
index = utf8_slice::len(&answer);
}
}
}
贡献者
本项目得以存在,归功于所有贡献者。
许可证
依赖项
~10–27MB
~350K SLoC