1个不稳定版本
0.1.5 | 2023年2月28日 |
---|
#7 in #chat-gpt
每月30次下载
36KB
570 行
BingGPT
BingGPT命令行客户端,用Rust编写
此项目是EdgeGPT的Rust语言实现,所有困难的工作都由原始项目作者 acheong08
完成,我只是用Rust编写了它,所有功劳都归他,感谢你的辛勤工作,大兄弟!
安装
cargo install binggpt-cli
# use `binggpt`
binggpt
或从发布页面下载二进制文件。
需求
您必须有一个可以访问BingGPT的Microsoft账户。
配置(必需)
- 对于Chrome或Firefox,安装
cookie-editor
扩展程序 - 前往bing.com并登录您的Microsoft账户
- 打开扩展程序
- 点击右下角的"导出"(这将把您的cookies保存到剪贴板)
- 将cookies创建或写入到
~/.config/bing-cookies.json
文件中
用法
首先您需要执行上述配置步骤。
如果您有一个Rust开发环境,首先需要克隆代码,进入此项目目录,然后运行cargo run
。
如果您想将其编译成二进制文件,可以运行cargo build --release
。编译完成后,您可以在target/release
目录中找到编译后的二进制文件。
如果您想将其安装到系统中,可以运行cargo install --path binggpt-cli
,这样您就可以在任何地方轻松使用binggpt
命令。
程序启动后,当您看到您:
时,这意味着您可以与BingGPT开始对话,按两次Enter键发送消息。
在对话中,您可以使用以下命令。
: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);
}
}
}
贡献者
本项目之所以存在,离不开所有贡献者的努力。
许可证
依赖项
~13–27MB
~386K SLoC