介绍

在生活和板砖奔波两地,ChatGPT 官网又经常抽风,碰巧两地都有软路由 OpenWrt,所以我将 ChatGPT 部署到软路由上。两地的网关都是 192.168.2.1,再把软路由上的 ChatGPT 加入 Google Chrome 收藏夹,这样就能随时在两地快速访问。

项目

这次使用的是潘多拉 (Pandora),一个使用 Access Token 实现了网页版 ChatGPT 的开源项目。后端优化,绕过 Cloudflare,速度喜人。

项目 地址
潘多拉 (Pandora) https://github.com/pengzhile/pandora
Access Token http://chat.openai.com/api/auth/session

Access Token 有效期 14 天,期间访问不需要梯子

部署

安装 Docker

打开 OpenWrt 我使用的固件是 https://supes.top/ ,找到系统软件包,点击更新列表

更新后分别安装:

  1. luci-lib-jsonc

  2. luci-lib-docker

  3. luci-app-dockerman

安装完成后就可以在左栏找到 Docker

下面的操作建议在 SSH 完成,OpenWrt 上操作 Docker 真难用!

使用 SSH 工具连接 OpenWrt 网关 192.168.2.1,用户名和密码就是 OpenWrt 的用户名和密码。推荐工具 electerm

拉取镜像

1
docker pull pengzhile/pandora

运行镜像

1
docker run -e PANDORA_CLOUD=cloud -e PANDORA_SERVER=0.0.0.0:8899 -p 8899:8899 -d pengzhile/pandora

更多 Docker 环境变量请看: pandora 环境变量

获取 Access Token

  • 官方登录,然后访问 这里Access Token 有效期 14

  • 也可以直接用 OpenAI 帐号登录
    打开 http://网关:8899/
    我使用 Access Token

搞定,使用 cloud 模式,和 ChatGPT 官网无异,聊天记录同步更新,比官网稳定快捷。

设置开机启动 (非必须)

  • 使用/etc/rc.local 文件来执行自定义的启动脚本

  • 找到/etc/rc.local文件

  • 在文件的末尾添加以下内容

1
2
3
#!/bin/sh
/etc/init.d/dockerd restart # 重启Docker服务
sleep 10 # 等待10秒,确保Docker服务已启动 docker start my_container # 启动Docker容器

把上面的 docker start my_container 替换成 openwrt Docker 里的容器 ID 比如我的是 3c3ab7807401
docker start 3c3ab7807401

  • 保存并关闭文件。

授予/etc/rc.local文件执行权限:

1
chmod +x /etc/rc.local