惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园_首页
博客园 - 聂微东
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
D
Docker
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Jina AI
Jina AI
博客园 - Franky
D
DataBreaches.Net

Jiajun的技术笔记

你好,2026! TiDB 源码阅读(六):TiDB Coprocessor 源码解析 性能优化的核心思想 TiDB 源码阅读(五):索引 TiDB 源码阅读(四):AST、逻辑计划、物理计划 CockroachDB Serverless Architecture podman 无故退出 Cursor Control-L (CTRL-L) Keyboard Shortcuts in Terminal Replace docker with podman Using xmonad with xfce4 A RC script for freebsd frpc 自己动手写一个k8s controller AI 会取代你的(编程)岗位吗? 自建DERP服务器提升Tailscale连接速度(使用Nginx转发) 自动升级Docker容器 再读《程序员修炼之道-从小工到专家》 让浏览器下载文件 再读《软件随想录》/《黑客与画家》/《软技能》 HTTP 压力测试中的 Coordinated Omission 2的补码 编程语言中的 context 是什么? flutter macOS 构建出错 Flatpak 使用小记 Golang CAS 操作是怎么实现的 PostgreSQL 当MQ来使用 Clash 结合 工作VPN 的网络设计 使用 PostgreSQL 搭建 JuiceFS PostgreSQL 配置优化和日志分析 窗口函数的使用(以PG为例) 读《为什么学生不喜欢上学》
有GitHub Copilot?那就可以搭建你的ChatGPT4服务
Jiajun Huang · 2024-03-03 · via Jiajun的技术笔记

我有Github Copilot,也订阅了GPT Plus,GPT Plus 20刀每月,我看了一下其实我用的不是特别多。本着开猿节流,降本增笑的精神, 我停止续订了GPT Plus,并且着手于找到 GPT Plus 的替代方案。

方案1:直接使用API Key搭建

如果你有 API Key,那么可以直接使用 API Key来搭建,这个很简单,方案也很多,比如川虎,lobe-chat, ChatGPT-Next-Web,然后 输入你的 API Key就可以。

我有 API Key,但是折腾是一种乐趣,所以我选择了方案2。

方案2:把 Github Copilot 转化成 API

之前在Hacker News看到过,Github Copilot底层其实就是用的OpenAI,因此有人开发了将 Github 接口转化成 OpenAI API 的服务。 因此我们想要搭建一套自己私有的 ChatGPT Web的话,需要3步:

  1. 获取 Github Copilot Token
  2. 搭建 Github Copilot 转化为 OpenAI API 的客户端并且配置域名
  3. 搭建并配置 ChatGPT-Next-Web 或其他Web客户端

第一步,其实比较难,现在网上很多方案都失效了,但是记住一点,既然 Copilot 要在本地使用,而Copilot服务端是要鉴权的, 本地就必然保存了Token在磁盘上,要不然它下次咋鉴权呢?我用的是 vim-copilot,所以我直接在家目录找:

$ find .config -name '*copilot*'
.config/github-copilot
.config/gh-copilot
.config/nvim/plugged/copilot.vim
.config/nvim/plugged/copilot.vim/autoload/copilot
.config/nvim/plugged/copilot.vim/autoload/copilot.vim
.config/nvim/plugged/copilot.vim/lua/_copilot.lua
.config/nvim/plugged/copilot.vim/doc/copilot.txt
.config/nvim/plugged/copilot.vim/plugin/copilot.vim
.config/nvim/plugged/copilot.vim/syntax/copilot.vim

然后一个一个翻,果然,配置文件就藏在 .config/github-copilot/hosts.json 里,找出来,是一个 ghu_ 开头的token,保存。

第二步,搭建Copilot 转化为 API 的服务,我直接用Docker:

docker run -d \
    -e COPILOT_TOKEN=<刚才找到的Copilot里的token,ghu_ 开头的那个> \
    -e SUPER_TOKEN=<自定义的token,等会儿给 ChatGPT-Next-Web使用> \
    -e ENABLE_SUPER_TOKEN=true \
    --name copilot-gpt4-service \
    --restart always \
    -p 8080:8080 \
    aaamoon/copilot-gpt4-service:latest

为了方便,我配置了一个域名,假设为 https://openai.example.com

第三步,搭建 ChatGPT-Next-Web,同样,我直接使用 Docker:

docker run -d -p 3000:3000 \
    -e BASE_URL=<你配置的域名> \
    -e OPENAI_API_KEY=<刚才设置的 SUPER_TOKEN,也就是自定义的token> \
    -e CODE=<等于一个登录密码,防止 ChatGPT-Next-Web 被他人滥用> \
    yidadaa/chatgpt-next-web

同样为了方便,为 ChatGPT-Next-Web 也配置一个域名,然后就可以访问了。

访问以后,在设置里,设置登录密码,将模型改为 GPT4 或者 GPT4-Turbo,将界面语言改为中文,如果想要同步聊天记录的话, 可以配置上自己的 webdav。

至此,大功告成!注意一点,就是搭建出来的服务,仅限于自己使用,不要到处发,否则使用频率太高,被Github检测出来,那有可能 就被拉黑了以后就无法使用Copilot了💔


Refs: