博主前些日子逛 V2EX 时,经常看到有人讨论各种 ChatGPT 的第三方客户端。作为一个月月被 ChatGPT-4 爆金币的人,自然对这些第三方客户端没有兴趣(毕竟咱可是高贵的官方用户)。直到 Google 发布了 Gemini 模型后,博主才想要体验一下这个 AI 模型到底有多厉害,于是在 GitHub 上搜索起了 Gemini 的第三方客户端。
好家伙,第一条结果的 babaohuang/GeminiProChat
居然有 3.5k 颗 Star,看来这个客户端还是挺受欢迎的,可顺着仓库给出的演示 URL 进去,结果却让博主大失所望。
这套客户端没有历史记录,发出去的消息也不能再编辑,另外 Gemini 很重要的识图功能居然也没有实现,这怎么能行?
鉴于以上种种不好的使用体验,因此博主最后决定自己开发一个山寨版的 ChatGPT 客户端,名字就叫 ChatGemini。
说干就干,博主花了 3 天时间,用 React + TypeScript + TailwindCSS 打造了出一款全新的,有如下功能的 Gemini 客户端,项目一经发布,截止博主写这篇文章时,已经收获了 470 颗 Star。
- 适配移动端
- 支持多 API 密钥分流
- 操作逻辑同 ChatGPT
- 仿 ChatGPT 3.5 界面
- 支持多轮聊天对话
- 支持上传图片进行识别
- 逐字输出(SSE)回应
- 集成 PHP 版反向代理
- 自定义 Gemini API 地址
- 可启用站点通行码防止滥用
- 聊天内容导出(HTML 和 PDF)
- 对话内容保存在 IndexedDB 中
- 在 AI 回应中运行 Python 代码
这篇文章并不打算将 README 中的内容再复述一遍,因此这里只会记录一些博主在开发过程中的细节。