hongery-chat


Namehongery-chat JSON
Version 0.9.6 PyPI version JSON
download
home_pagehttps://github.com/pengzhile/pandora
SummaryA command-line interface to ChatGPT
upload_time2023-04-05 16:08:47
maintainer
docs_urlNone
authorhongery
requires_python>=3.7
license
keywords openai chatgpt chatgpt-plus gpt-3.5-turbo gpt-3.5-turbo-0301
VCS
bugtrack_url
requirements certifi pyreadline3 httpx requests rich appdirs werkzeug flask flask-cors waitress loguru sentry-sdk pyjwt
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pandora

![Python version](https://img.shields.io/badge/python-%3E%3D3.7-green)
[![Issues](https://img.shields.io/github/issues-raw/pengzhile/pandora)](https://github.com/pengzhile/pandora/issues)
[![Commits](https://img.shields.io/github/last-commit/pengzhile/pandora/master)](https://github.com/pengzhile/pandora/commits/master)
[![PyPi](https://img.shields.io/pypi/v/pandora-chatgpt.svg)](https://pypi.python.org/pypi/pandora-chatgpt)
[![Downloads](https://static.pepy.tech/badge/pandora-chatgpt)](https://pypi.python.org/pypi/pandora-chatgpt)

[![PyPi workflow](https://github.com/pengzhile/pandora/actions/workflows/python-publish.yml/badge.svg)](https://github.com/pengzhile/pandora/actions/workflows/python-publish.yml)
[![Docker workflow](https://github.com/pengzhile/pandora/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/pengzhile/pandora/actions/workflows/docker-publish.yml)

### `潘多拉`,一个不只是命令行的`ChatGPT`。

### 实现了网页版`ChatGPT`的主要操作。能过`Cloudflare`,理论上速度还可以。

## 为什么要用

1. 高峰期能绕过官方限制,继续使用。
2. 应答速度直逼`PLUS`,白嫖用户的福音。
3. 官方故障的时候,它可能还是能跑。
4. 多模式:网页/命令行/API,私有化部署。
5. 不会像官方那样无故断线、报错。

## 界面截图

  <details>

  <summary>

  ![alt Screenshot5](https://github.com/pengzhile/pandora/raw/master/doc/images/s05.png)
  ![alt Screenshot10](https://github.com/pengzhile/pandora/raw/master/doc/images/s10.jpeg)

  </summary>

  ![alt Screenshot1](https://github.com/pengzhile/pandora/raw/master/doc/images/s01.png)
  ![alt Screenshot2](https://github.com/pengzhile/pandora/raw/master/doc/images/s02.png)
  ![alt Screenshot3](https://github.com/pengzhile/pandora/raw/master/doc/images/s03.png)
  ![alt Screenshot4](https://github.com/pengzhile/pandora/raw/master/doc/images/s04.png)
  ![alt Screenshot6](https://github.com/pengzhile/pandora/raw/master/doc/images/s06.png)
  ![alt Screenshot11](https://github.com/pengzhile/pandora/raw/master/doc/images/s11.jpeg)

  </details>

## 如何运行

* Python版本目测起码要`3.7`

* pip安装运行

  ```shell
  pip install pandora-chatgpt
  pandora
  ```
  * 如果你想支持`gpt-3.5-turbo`模式:

    ```shell
    pip install 'pandora-chatgpt[api]'
    pandora
    ```
  * 如果你想启用`cloud`模式:

    ```shell
    pip install 'pandora-chatgpt[cloud]'
    pandora-cloud
    ```

* 编译运行

  ```shell
  pip install .
  pandora
  ```

  * 如果你想支持`gpt-3.5-turbo`模式:

    ```shell
    pip install '.[api]'
    pandora
    ```

  * 如果你想启用`cloud`模式:

    ```shell
    pip install '.[cloud]'
    pandora-cloud
    ```

* Docker Hub运行

  ```shell
  docker pull pengzhile/pandora
  docker run -it --rm pengzhile/pandora
  ```

* Docker编译运行

  ```shell
  docker build -t pandora .
  docker run -it --rm pandora
  ```

* 输入用户名密码登录即可,登录密码理论上不显示出来,莫慌。
* 简单而粗暴,不失优雅。

## 程序参数

* 可通过 `pandora --help` 查看。
* `-p` 或 `--proxy` 指定代理,格式:`protocol://user:pass@ip:port`。
* `-t` 或 `--token_file` 指定一个存放`Access Token`的文件,使用`Access Token`登录。
* `-s` 或 `--server` 以`http`服务方式启动,格式:`ip:port`。
* `-a` 或 `--api` 使用`gpt-3.5-turbo`API请求,**你可能需要向`OpenAI`支付费用**。
* `--sentry` 启用`sentry`框架来发送错误报告供作者查错,敏感信息**不会被发送**。
* `-v` 或 `--verbose` 显示调试信息,且出错时打印异常堆栈信息,供查错使用。

## Docker环境变量

* `PANDORA_ACCESS_TOKEN` 指定`Access Token`字符串。
* `PANDORA_PROXY` 指定代理,格式:`protocol://user:pass@ip:port`。
* `PANDORA_SERVER` 以`http`服务方式启动,格式:`ip:port`。
* `PANDORA_API` 使用`gpt-3.5-turbo`API请求,**你可能需要向`OpenAI`支付费用**。
* `PANDORA_SENTRY` 启用`sentry`框架来发送错误报告供作者查错,敏感信息**不会被发送**。
* `PANDORA_VERBOSE` 显示调试信息,且出错时打印异常堆栈信息,供查错使用。
* 使用Docker方式,设置环境变量即可,无视上述`程序参数`。

## 关于 Access Token

* 使用`Access Token`方式登录,可以无代理直连。
* [这个服务](https://chat.gateway.do/auth) 可以帮你安全有效拿到`Access Token`,无论是否第三方登录。
* 其中`accessToken`字段的那一长串内容即是`Access Token`。
* `Access Token`可以复制保存,其有效期目前为`1个月`。
* 不要泄露你的`Access Token`,使用它可以操纵你的账号。

## HTTP服务文档

* 如果你以`http`服务方式启动,现在你可以打开一个极简版的`ChatGPT`了。通过你指定的`http://ip:port`来访问。
* API文档见:[doc/HTTP-API.md](https://github.com/pengzhile/pandora/blob/master/doc/HTTP-API.md)

## 操作命令

* 对话界面**连敲两次**`Enter`发送你的输入给`ChatGPT`。
* 对话界面使用`/?`可以打印支持的操作命令。
* `/title` 重新设置当前对话的标题。
* `/select` 回到选择会话界面。
* `/reload` 重新加载当前会话所有内容,`F5`你能懂吧。
* `/regen` 如果对`ChatGPT`当前回答不满意,可以让它重新回答。
* `/continue` 让`ChatGPT`继续输出回复的剩余部分。
* `/edit` 编辑你之前的一个提问。
* `/new` 直接开启一个新会话。
* `/del` 删除当前会话,回到会话选择界面。
* `/token` 打印当前的`Access Token`,也许你用得上,但不要泄露。
* `/clear` 清屏,应该不用解释。
* `/version` 打印`Pandora`的版本信息。
* `/exit` 退出`潘多拉`。

## 高阶设置

* 本部分内容不理解的朋友,**请勿擅动!**
* 环境变量 `OPENAI_API_PREFIX` 可以替换OpenAI Api的前缀`https://api.openai.com`。
* 如果你想持久存储`Docker`中`Pandora`产生的数据,你可以挂载宿主机目录至`/data`。
* 如果你在国内使用`pip`安装缓慢,可以考虑切换至腾讯的源:```pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple```
* 镜像同步版本可能不及时,如果出现这种情况建议切换至官方源:```pip config set global.index-url https://pypi.org/simple```
* 默认使用`sqlite3`存储会话数据,如果你希望更换至`mysql`,可以这么做:
  * 执行```pip install PyMySQL```安装驱动。
  * 设置环境变量:`DATABASE_URI`为类似`mysql+pymysql://user:pass@localhost/dbname`的连接字符串。
* 环境变量指定`OPENAI_EMAIL`可以替代登录输入用户名,`OPENAI_PASSWORD`则可以替代输入密码。

## Cloud模式

* 搭建一个跟官方很像的`ChatGPT`服务,不能说很像,只能说一样。
* 该模式使用`pandora-cloud`启动,前提是你如前面所说安装好了。
* Docker环境变量:`PANDORA_CLOUD` 启动`cloud`模式。
* 该模式参数含义与普通模式相同,可`--help`查看。

## 其他说明

* 项目是站在其他巨人的肩膀上,感谢!
* 报错、BUG之类的提出`Issue`,我会修复。
* 因为之后`ChatGPT`的API变动,我可能不会跟进修复。
* 喜欢的可以给颗星,都是老朋友了。
* 不影响`PHP是世界上最好的编程语言!`



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pengzhile/pandora",
    "name": "hongery-chat",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "OpenAI ChatGPT ChatGPT-Plus gpt-3.5-turbo gpt-3.5-turbo-0301",
    "author": "hongery",
    "author_email": "huanggang1106@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7e/f2/8f9057ecfe7e23af48b6b02ba8e0ae999f8bb8758fc167eac413d452ffc0/hongery-chat-0.9.6.tar.gz",
    "platform": null,
    "description": "# Pandora\n\n![Python version](https://img.shields.io/badge/python-%3E%3D3.7-green)\n[![Issues](https://img.shields.io/github/issues-raw/pengzhile/pandora)](https://github.com/pengzhile/pandora/issues)\n[![Commits](https://img.shields.io/github/last-commit/pengzhile/pandora/master)](https://github.com/pengzhile/pandora/commits/master)\n[![PyPi](https://img.shields.io/pypi/v/pandora-chatgpt.svg)](https://pypi.python.org/pypi/pandora-chatgpt)\n[![Downloads](https://static.pepy.tech/badge/pandora-chatgpt)](https://pypi.python.org/pypi/pandora-chatgpt)\n\n[![PyPi workflow](https://github.com/pengzhile/pandora/actions/workflows/python-publish.yml/badge.svg)](https://github.com/pengzhile/pandora/actions/workflows/python-publish.yml)\n[![Docker workflow](https://github.com/pengzhile/pandora/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/pengzhile/pandora/actions/workflows/docker-publish.yml)\n\n### `\u6f58\u591a\u62c9`\uff0c\u4e00\u4e2a\u4e0d\u53ea\u662f\u547d\u4ee4\u884c\u7684`ChatGPT`\u3002\n\n### \u5b9e\u73b0\u4e86\u7f51\u9875\u7248`ChatGPT`\u7684\u4e3b\u8981\u64cd\u4f5c\u3002\u80fd\u8fc7`Cloudflare`\uff0c\u7406\u8bba\u4e0a\u901f\u5ea6\u8fd8\u53ef\u4ee5\u3002\n\n## \u4e3a\u4ec0\u4e48\u8981\u7528\n\n1. \u9ad8\u5cf0\u671f\u80fd\u7ed5\u8fc7\u5b98\u65b9\u9650\u5236\uff0c\u7ee7\u7eed\u4f7f\u7528\u3002\n2. \u5e94\u7b54\u901f\u5ea6\u76f4\u903c`PLUS`\uff0c\u767d\u5ad6\u7528\u6237\u7684\u798f\u97f3\u3002\n3. \u5b98\u65b9\u6545\u969c\u7684\u65f6\u5019\uff0c\u5b83\u53ef\u80fd\u8fd8\u662f\u80fd\u8dd1\u3002\n4. \u591a\u6a21\u5f0f\uff1a\u7f51\u9875/\u547d\u4ee4\u884c/API\uff0c\u79c1\u6709\u5316\u90e8\u7f72\u3002\n5. \u4e0d\u4f1a\u50cf\u5b98\u65b9\u90a3\u6837\u65e0\u6545\u65ad\u7ebf\u3001\u62a5\u9519\u3002\n\n## \u754c\u9762\u622a\u56fe\n\n  <details>\n\n  <summary>\n\n  ![alt Screenshot5](https://github.com/pengzhile/pandora/raw/master/doc/images/s05.png)\n  ![alt Screenshot10](https://github.com/pengzhile/pandora/raw/master/doc/images/s10.jpeg)\n\n  </summary>\n\n  ![alt Screenshot1](https://github.com/pengzhile/pandora/raw/master/doc/images/s01.png)\n  ![alt Screenshot2](https://github.com/pengzhile/pandora/raw/master/doc/images/s02.png)\n  ![alt Screenshot3](https://github.com/pengzhile/pandora/raw/master/doc/images/s03.png)\n  ![alt Screenshot4](https://github.com/pengzhile/pandora/raw/master/doc/images/s04.png)\n  ![alt Screenshot6](https://github.com/pengzhile/pandora/raw/master/doc/images/s06.png)\n  ![alt Screenshot11](https://github.com/pengzhile/pandora/raw/master/doc/images/s11.jpeg)\n\n  </details>\n\n## \u5982\u4f55\u8fd0\u884c\n\n* Python\u7248\u672c\u76ee\u6d4b\u8d77\u7801\u8981`3.7`\n\n* pip\u5b89\u88c5\u8fd0\u884c\n\n  ```shell\n  pip install pandora-chatgpt\n  pandora\n  ```\n  * \u5982\u679c\u4f60\u60f3\u652f\u6301`gpt-3.5-turbo`\u6a21\u5f0f\uff1a\n\n    ```shell\n    pip install 'pandora-chatgpt[api]'\n    pandora\n    ```\n  * \u5982\u679c\u4f60\u60f3\u542f\u7528`cloud`\u6a21\u5f0f\uff1a\n\n    ```shell\n    pip install 'pandora-chatgpt[cloud]'\n    pandora-cloud\n    ```\n\n* \u7f16\u8bd1\u8fd0\u884c\n\n  ```shell\n  pip install .\n  pandora\n  ```\n\n  * \u5982\u679c\u4f60\u60f3\u652f\u6301`gpt-3.5-turbo`\u6a21\u5f0f\uff1a\n\n    ```shell\n    pip install '.[api]'\n    pandora\n    ```\n\n  * \u5982\u679c\u4f60\u60f3\u542f\u7528`cloud`\u6a21\u5f0f\uff1a\n\n    ```shell\n    pip install '.[cloud]'\n    pandora-cloud\n    ```\n\n* Docker Hub\u8fd0\u884c\n\n  ```shell\n  docker pull pengzhile/pandora\n  docker run -it --rm pengzhile/pandora\n  ```\n\n* Docker\u7f16\u8bd1\u8fd0\u884c\n\n  ```shell\n  docker build -t pandora .\n  docker run -it --rm pandora\n  ```\n\n* \u8f93\u5165\u7528\u6237\u540d\u5bc6\u7801\u767b\u5f55\u5373\u53ef\uff0c\u767b\u5f55\u5bc6\u7801\u7406\u8bba\u4e0a\u4e0d\u663e\u793a\u51fa\u6765\uff0c\u83ab\u614c\u3002\n* \u7b80\u5355\u800c\u7c97\u66b4\uff0c\u4e0d\u5931\u4f18\u96c5\u3002\n\n## \u7a0b\u5e8f\u53c2\u6570\n\n* \u53ef\u901a\u8fc7 `pandora --help` \u67e5\u770b\u3002\n* `-p` \u6216 `--proxy` \u6307\u5b9a\u4ee3\u7406\uff0c\u683c\u5f0f\uff1a`protocol://user:pass@ip:port`\u3002\n* `-t` \u6216 `--token_file` \u6307\u5b9a\u4e00\u4e2a\u5b58\u653e`Access Token`\u7684\u6587\u4ef6\uff0c\u4f7f\u7528`Access Token`\u767b\u5f55\u3002\n* `-s` \u6216 `--server` \u4ee5`http`\u670d\u52a1\u65b9\u5f0f\u542f\u52a8\uff0c\u683c\u5f0f\uff1a`ip:port`\u3002\n* `-a` \u6216 `--api` \u4f7f\u7528`gpt-3.5-turbo`API\u8bf7\u6c42\uff0c**\u4f60\u53ef\u80fd\u9700\u8981\u5411`OpenAI`\u652f\u4ed8\u8d39\u7528**\u3002\n* `--sentry` \u542f\u7528`sentry`\u6846\u67b6\u6765\u53d1\u9001\u9519\u8bef\u62a5\u544a\u4f9b\u4f5c\u8005\u67e5\u9519\uff0c\u654f\u611f\u4fe1\u606f**\u4e0d\u4f1a\u88ab\u53d1\u9001**\u3002\n* `-v` \u6216 `--verbose` \u663e\u793a\u8c03\u8bd5\u4fe1\u606f\uff0c\u4e14\u51fa\u9519\u65f6\u6253\u5370\u5f02\u5e38\u5806\u6808\u4fe1\u606f\uff0c\u4f9b\u67e5\u9519\u4f7f\u7528\u3002\n\n## Docker\u73af\u5883\u53d8\u91cf\n\n* `PANDORA_ACCESS_TOKEN` \u6307\u5b9a`Access Token`\u5b57\u7b26\u4e32\u3002\n* `PANDORA_PROXY` \u6307\u5b9a\u4ee3\u7406\uff0c\u683c\u5f0f\uff1a`protocol://user:pass@ip:port`\u3002\n* `PANDORA_SERVER` \u4ee5`http`\u670d\u52a1\u65b9\u5f0f\u542f\u52a8\uff0c\u683c\u5f0f\uff1a`ip:port`\u3002\n* `PANDORA_API` \u4f7f\u7528`gpt-3.5-turbo`API\u8bf7\u6c42\uff0c**\u4f60\u53ef\u80fd\u9700\u8981\u5411`OpenAI`\u652f\u4ed8\u8d39\u7528**\u3002\n* `PANDORA_SENTRY` \u542f\u7528`sentry`\u6846\u67b6\u6765\u53d1\u9001\u9519\u8bef\u62a5\u544a\u4f9b\u4f5c\u8005\u67e5\u9519\uff0c\u654f\u611f\u4fe1\u606f**\u4e0d\u4f1a\u88ab\u53d1\u9001**\u3002\n* `PANDORA_VERBOSE` \u663e\u793a\u8c03\u8bd5\u4fe1\u606f\uff0c\u4e14\u51fa\u9519\u65f6\u6253\u5370\u5f02\u5e38\u5806\u6808\u4fe1\u606f\uff0c\u4f9b\u67e5\u9519\u4f7f\u7528\u3002\n* \u4f7f\u7528Docker\u65b9\u5f0f\uff0c\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5373\u53ef\uff0c\u65e0\u89c6\u4e0a\u8ff0`\u7a0b\u5e8f\u53c2\u6570`\u3002\n\n## \u5173\u4e8e Access Token\n\n* \u4f7f\u7528`Access Token`\u65b9\u5f0f\u767b\u5f55\uff0c\u53ef\u4ee5\u65e0\u4ee3\u7406\u76f4\u8fde\u3002\n* [\u8fd9\u4e2a\u670d\u52a1](https://chat.gateway.do/auth) \u53ef\u4ee5\u5e2e\u4f60\u5b89\u5168\u6709\u6548\u62ff\u5230`Access Token`\uff0c\u65e0\u8bba\u662f\u5426\u7b2c\u4e09\u65b9\u767b\u5f55\u3002\n* \u5176\u4e2d`accessToken`\u5b57\u6bb5\u7684\u90a3\u4e00\u957f\u4e32\u5185\u5bb9\u5373\u662f`Access Token`\u3002\n* `Access Token`\u53ef\u4ee5\u590d\u5236\u4fdd\u5b58\uff0c\u5176\u6709\u6548\u671f\u76ee\u524d\u4e3a`1\u4e2a\u6708`\u3002\n* \u4e0d\u8981\u6cc4\u9732\u4f60\u7684`Access Token`\uff0c\u4f7f\u7528\u5b83\u53ef\u4ee5\u64cd\u7eb5\u4f60\u7684\u8d26\u53f7\u3002\n\n## HTTP\u670d\u52a1\u6587\u6863\n\n* \u5982\u679c\u4f60\u4ee5`http`\u670d\u52a1\u65b9\u5f0f\u542f\u52a8\uff0c\u73b0\u5728\u4f60\u53ef\u4ee5\u6253\u5f00\u4e00\u4e2a\u6781\u7b80\u7248\u7684`ChatGPT`\u4e86\u3002\u901a\u8fc7\u4f60\u6307\u5b9a\u7684`http://ip:port`\u6765\u8bbf\u95ee\u3002\n* API\u6587\u6863\u89c1\uff1a[doc/HTTP-API.md](https://github.com/pengzhile/pandora/blob/master/doc/HTTP-API.md)\n\n## \u64cd\u4f5c\u547d\u4ee4\n\n* \u5bf9\u8bdd\u754c\u9762**\u8fde\u6572\u4e24\u6b21**`Enter`\u53d1\u9001\u4f60\u7684\u8f93\u5165\u7ed9`ChatGPT`\u3002\n* \u5bf9\u8bdd\u754c\u9762\u4f7f\u7528`/?`\u53ef\u4ee5\u6253\u5370\u652f\u6301\u7684\u64cd\u4f5c\u547d\u4ee4\u3002\n* `/title` \u91cd\u65b0\u8bbe\u7f6e\u5f53\u524d\u5bf9\u8bdd\u7684\u6807\u9898\u3002\n* `/select` \u56de\u5230\u9009\u62e9\u4f1a\u8bdd\u754c\u9762\u3002\n* `/reload` \u91cd\u65b0\u52a0\u8f7d\u5f53\u524d\u4f1a\u8bdd\u6240\u6709\u5185\u5bb9\uff0c`F5`\u4f60\u80fd\u61c2\u5427\u3002\n* `/regen` \u5982\u679c\u5bf9`ChatGPT`\u5f53\u524d\u56de\u7b54\u4e0d\u6ee1\u610f\uff0c\u53ef\u4ee5\u8ba9\u5b83\u91cd\u65b0\u56de\u7b54\u3002\n* `/continue` \u8ba9`ChatGPT`\u7ee7\u7eed\u8f93\u51fa\u56de\u590d\u7684\u5269\u4f59\u90e8\u5206\u3002\n* `/edit` \u7f16\u8f91\u4f60\u4e4b\u524d\u7684\u4e00\u4e2a\u63d0\u95ee\u3002\n* `/new` \u76f4\u63a5\u5f00\u542f\u4e00\u4e2a\u65b0\u4f1a\u8bdd\u3002\n* `/del` \u5220\u9664\u5f53\u524d\u4f1a\u8bdd\uff0c\u56de\u5230\u4f1a\u8bdd\u9009\u62e9\u754c\u9762\u3002\n* `/token` \u6253\u5370\u5f53\u524d\u7684`Access Token`\uff0c\u4e5f\u8bb8\u4f60\u7528\u5f97\u4e0a\uff0c\u4f46\u4e0d\u8981\u6cc4\u9732\u3002\n* `/clear` \u6e05\u5c4f\uff0c\u5e94\u8be5\u4e0d\u7528\u89e3\u91ca\u3002\n* `/version` \u6253\u5370`Pandora`\u7684\u7248\u672c\u4fe1\u606f\u3002\n* `/exit` \u9000\u51fa`\u6f58\u591a\u62c9`\u3002\n\n## \u9ad8\u9636\u8bbe\u7f6e\n\n* \u672c\u90e8\u5206\u5185\u5bb9\u4e0d\u7406\u89e3\u7684\u670b\u53cb\uff0c**\u8bf7\u52ff\u64c5\u52a8\uff01**\n* \u73af\u5883\u53d8\u91cf `OPENAI_API_PREFIX` \u53ef\u4ee5\u66ff\u6362OpenAI Api\u7684\u524d\u7f00`https://api.openai.com`\u3002\n* \u5982\u679c\u4f60\u60f3\u6301\u4e45\u5b58\u50a8`Docker`\u4e2d`Pandora`\u4ea7\u751f\u7684\u6570\u636e\uff0c\u4f60\u53ef\u4ee5\u6302\u8f7d\u5bbf\u4e3b\u673a\u76ee\u5f55\u81f3`/data`\u3002\n* \u5982\u679c\u4f60\u5728\u56fd\u5185\u4f7f\u7528`pip`\u5b89\u88c5\u7f13\u6162\uff0c\u53ef\u4ee5\u8003\u8651\u5207\u6362\u81f3\u817e\u8baf\u7684\u6e90\uff1a```pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple```\n* \u955c\u50cf\u540c\u6b65\u7248\u672c\u53ef\u80fd\u4e0d\u53ca\u65f6\uff0c\u5982\u679c\u51fa\u73b0\u8fd9\u79cd\u60c5\u51b5\u5efa\u8bae\u5207\u6362\u81f3\u5b98\u65b9\u6e90\uff1a```pip config set global.index-url https://pypi.org/simple```\n* \u9ed8\u8ba4\u4f7f\u7528`sqlite3`\u5b58\u50a8\u4f1a\u8bdd\u6570\u636e\uff0c\u5982\u679c\u4f60\u5e0c\u671b\u66f4\u6362\u81f3`mysql`\uff0c\u53ef\u4ee5\u8fd9\u4e48\u505a\uff1a\n  * \u6267\u884c```pip install PyMySQL```\u5b89\u88c5\u9a71\u52a8\u3002\n  * \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a`DATABASE_URI`\u4e3a\u7c7b\u4f3c`mysql+pymysql://user:pass@localhost/dbname`\u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u3002\n* \u73af\u5883\u53d8\u91cf\u6307\u5b9a`OPENAI_EMAIL`\u53ef\u4ee5\u66ff\u4ee3\u767b\u5f55\u8f93\u5165\u7528\u6237\u540d\uff0c`OPENAI_PASSWORD`\u5219\u53ef\u4ee5\u66ff\u4ee3\u8f93\u5165\u5bc6\u7801\u3002\n\n## Cloud\u6a21\u5f0f\n\n* \u642d\u5efa\u4e00\u4e2a\u8ddf\u5b98\u65b9\u5f88\u50cf\u7684`ChatGPT`\u670d\u52a1\uff0c\u4e0d\u80fd\u8bf4\u5f88\u50cf\uff0c\u53ea\u80fd\u8bf4\u4e00\u6837\u3002\n* \u8be5\u6a21\u5f0f\u4f7f\u7528`pandora-cloud`\u542f\u52a8\uff0c\u524d\u63d0\u662f\u4f60\u5982\u524d\u9762\u6240\u8bf4\u5b89\u88c5\u597d\u4e86\u3002\n* Docker\u73af\u5883\u53d8\u91cf\uff1a`PANDORA_CLOUD` \u542f\u52a8`cloud`\u6a21\u5f0f\u3002\n* \u8be5\u6a21\u5f0f\u53c2\u6570\u542b\u4e49\u4e0e\u666e\u901a\u6a21\u5f0f\u76f8\u540c\uff0c\u53ef`--help`\u67e5\u770b\u3002\n\n## \u5176\u4ed6\u8bf4\u660e\n\n* \u9879\u76ee\u662f\u7ad9\u5728\u5176\u4ed6\u5de8\u4eba\u7684\u80a9\u8180\u4e0a\uff0c\u611f\u8c22\uff01\n* \u62a5\u9519\u3001BUG\u4e4b\u7c7b\u7684\u63d0\u51fa`Issue`\uff0c\u6211\u4f1a\u4fee\u590d\u3002\n* \u56e0\u4e3a\u4e4b\u540e`ChatGPT`\u7684API\u53d8\u52a8\uff0c\u6211\u53ef\u80fd\u4e0d\u4f1a\u8ddf\u8fdb\u4fee\u590d\u3002\n* \u559c\u6b22\u7684\u53ef\u4ee5\u7ed9\u9897\u661f\uff0c\u90fd\u662f\u8001\u670b\u53cb\u4e86\u3002\n* \u4e0d\u5f71\u54cd`PHP\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684\u7f16\u7a0b\u8bed\u8a00\uff01`\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A command-line interface to ChatGPT",
    "version": "0.9.6",
    "split_keywords": [
        "openai",
        "chatgpt",
        "chatgpt-plus",
        "gpt-3.5-turbo",
        "gpt-3.5-turbo-0301"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29d429c9155cd03fa0dd66a1a9896ada9995be897d94b7e0dc0a67ba9a3e1d70",
                "md5": "ea0beac051d516540c163361f114e285",
                "sha256": "0f82b575b21615bb399f9dd31740b75e26c8f9878fb49fafbd3d461de925afc3"
            },
            "downloads": -1,
            "filename": "hongery_chat-0.9.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ea0beac051d516540c163361f114e285",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1354306,
            "upload_time": "2023-04-05T16:08:44",
            "upload_time_iso_8601": "2023-04-05T16:08:44.318412Z",
            "url": "https://files.pythonhosted.org/packages/29/d4/29c9155cd03fa0dd66a1a9896ada9995be897d94b7e0dc0a67ba9a3e1d70/hongery_chat-0.9.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ef28f9057ecfe7e23af48b6b02ba8e0ae999f8bb8758fc167eac413d452ffc0",
                "md5": "e7d9bd65f079ca22cb515c86a4fc5b8d",
                "sha256": "a2ef1256b9879a530c1ebf08c530633ab913a7162abc122a9e352519fad7d17c"
            },
            "downloads": -1,
            "filename": "hongery-chat-0.9.6.tar.gz",
            "has_sig": false,
            "md5_digest": "e7d9bd65f079ca22cb515c86a4fc5b8d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1287990,
            "upload_time": "2023-04-05T16:08:47",
            "upload_time_iso_8601": "2023-04-05T16:08:47.705038Z",
            "url": "https://files.pythonhosted.org/packages/7e/f2/8f9057ecfe7e23af48b6b02ba8e0ae999f8bb8758fc167eac413d452ffc0/hongery-chat-0.9.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-05 16:08:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "pengzhile",
    "github_project": "pandora",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "certifi",
            "specs": []
        },
        {
            "name": "pyreadline3",
            "specs": [
                [
                    "~=",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "httpx",
            "specs": [
                [
                    "~=",
                    "0.23.3"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "~=",
                    "2.28.2"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "~=",
                    "13.3.2"
                ]
            ]
        },
        {
            "name": "appdirs",
            "specs": [
                [
                    "~=",
                    "1.4.4"
                ]
            ]
        },
        {
            "name": "werkzeug",
            "specs": [
                [
                    "~=",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "flask",
            "specs": [
                [
                    "~=",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "flask-cors",
            "specs": [
                [
                    "~=",
                    "3.0.10"
                ]
            ]
        },
        {
            "name": "waitress",
            "specs": [
                [
                    "~=",
                    "2.1.2"
                ]
            ]
        },
        {
            "name": "loguru",
            "specs": [
                [
                    "~=",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "sentry-sdk",
            "specs": [
                [
                    "~=",
                    "1.17.0"
                ]
            ]
        },
        {
            "name": "pyjwt",
            "specs": [
                [
                    "~=",
                    "2.6.0"
                ]
            ]
        }
    ],
    "lcname": "hongery-chat"
}
        
Elapsed time: 0.05277s