#ChatGPT #命令行 #客户端 #语言 #文本 #作者 #edge-gpt

binggpt

BingGPT 命令行客户端,使用Rust编写

6个版本

0.1.5 2023年2月28日
0.1.4 2023年2月21日

#24 in #作者


用于 binggpt-cli

MIT 许可证

19KB
364

BingGPT

BingGPT

BingGPT 命令行客户端,使用Rust编写


中文说明

此项目是EdgeGPT的Rust语言实现,所有困难的工作都是由原始项目作者acheong08完成的,我只是将其用Rust编写,所有功劳都归功于他,感谢这位大侠的辛勤工作!

安装

cargo install binggpt

或者从发布页面下载二进制文件。

要求

您必须有一个可以访问BingGPT的Microsoft账户。

配置(必需)

  • 为安装cookie-editor扩展,请访问ChromeFirefox
  • 访问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);
        }
    }
}

贡献者

本项目得以存在,归功于所有贡献者。

许可证

MIT

依赖项

~10–27MB
~350K SLoC