注意: 这是一个研究项目。请勿将其用于商业用途,并负责任地使用。
WebAI 转 API
本项目实现了一个网络 API,为 Google Gemini 和 Claude 3 提供统一接口。
主要特性
-
自托管: Python/FastAPI 使其可灵活地在任何地方运行。不受限于专有平台。
-
流式支持: 支持 Claude 流式实时响应。
-
轻量级且可扩展: 使用 FastAPI 构建,性能高。
-
API 密钥: 无需 API 密钥。
状态
✅ Claude-3 API 集成已完全实现并可用
✅ Google Gemini API 集成现已可用
✅ UI 配置:为 localhost:8000/WebAI 路径实现路由
⚙️ PIP:进行中
此仓库保持最新。
请别忘了给个星标 ⭐
前提条件
Python 版本 >= 3.10 以下账号(均提供免费注册):
- Google Gemini: https://gemini.google.com/
- Claude: https://claude.ai/
然后,将你的令牌添加到 Config.conf
文件中。(参见 配置 部分)。
[!注意]
安装
步骤 1. 克隆仓库
git clone https://github.com/Amm1rr/WebAI-to-API.git && cd WebAI-to-API
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
pip install -r requirements.txt
步骤 2. 启动 Web 服务器
进入 webai2api
目录,然后运行 web 服务器:
cd WebAI-to-API/webai2api/
python run.py
现在,API 文档 和 配置 Web UI 应该可以在以下地址访问:
[!提示]
打开 Web UI 配置:http://localhost:8000/WebAI
打开 API 文档:http://localhost:8000/docs
可用的 端点:
[!注意]
Gemini
Claude
Claude/Gemini
输入 / 输出
# 输入:
_____
{
"message": "你好,你是谁?",
"stream": true
}
--------------------
# 输出:
_____
{
我是一个聊天机器人助手 :)
}
--------------------
# 响应输出:
_____
# 流式
"字符串"
# 非流式
"字符串"
Web UI 开发环境设置(可选)
前提条件:
- Node.js:从官方网站下载并安装 (https://nodejs.org)
首先,进入 UI 目录:
cd WebAI-to-API/webai2api/UI
- 安装依赖:
npm install
- 构建项目:
npm run build
示例
一旦你使用 python webai2api\run.py
启动了 web 服务器:
[!注意]
注意:运行示例的第一个参数决定是否返回流式响应。
cd examples/
python WebAPI-to-API/webai2api/test.py
或者
python example_claude.py false
python example_claude.py true
python example_gemini.py
或者使用 cURL 尝试 Claude
在终端窗口中运行此 cURL 命令:
curl -X 'POST' \
'http://localhost:8000/claude' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"message": "你是谁?",
"stream": false
}'
[!注意]
注意:
session_id
在 Config.conf 文件中配置。如果你发送此变量为空,它将使用 Config.conf
使用方法
如何查找令牌
[!注意]
注意:Claude 和 Gemini 提供两种认证选项 - 你可以通过浏览器登录并跳过此步骤,或者按照以下说明配置认证。 [!重要]
"多账户或浏览器配置文件使用导致的浏览器自动登录问题需要一段时间才能完全解决。未来的更新将解决这个问题。目前,如果您在使用浏览器登录时遇到问题,请尝试仅使用一个浏览器登录,或按照以下说明手动复制会话和 cookie 作为临时解决方案。"
最简单的方法是直接登录聊天机器人网站。(Claude | Gemini)
或者
首先,您需要将令牌添加到 Config.conf
文件中(参见 配置 部分)。
Gemini
方法 1:
对于 Gemini,您只需使用网络浏览器登录您的账户即可。(Firefox、Chrome、Safari、Edge 等)
方法 2:
Google Gemini:
请从 gemini.google.com 上的授权会话中获取此处提到的 cookie。这些 cookie 可用于向 /gemini 端点发送 POST 请求,并在 JSON 负载中包含消息。重要的是,请求中必须包含 session_id(即您的 __Secure-1PSID cookie)以及 session_idts 和 session_idcc(即您的 Secure-1PSIDTS 和 Secure-1PSIDCC cookie)。(截图)
名称 | 会话名称 |
---|---|
session_id | __Secure-1PSID |
session_idts | __Secure-1PSIDTS |
session_idcc | __Secure-1PSIDCC |
- 登录 gemini.google.com
- 打开
开发者工具
(按 F12) - 转到
应用程序
标签 - 转到
Cookie
标签 - 复制
__Secure-1PSID
、__Secure-1PSIDTS
和__Secure-1PSIDCC
的内容。复制这些 cookie 的值。 - 在 Config.conf 文件中设置。
Claude
方法 1:
对于 Claude,您只需使用网络浏览器登录您的账户即可。(Firefox、Chrome、Safari、Edge 等)
方法 2:
Claude:
您可以从浏览器的开发者工具网络标签获取 cookie(查看任何 claude.ai 请求的 cookie,复制整个值)或存储标签(您可以找到 claude.ai 的 cookie,那里会有四个值)(截图)
- 登录 claude.ai
- 打开
开发者工具
(按 F12) - 转到
网络
标签 - 选择一个 ajax 请求(如图片中的步骤 3)
- 复制
Cookie
的内容 - 在 Config.conf 文件中设置。
配置
- 打开 Web UI 面板:http://localhost:8000/WebAI
如何查找令牌
[!注意]
注意:Claude 和 Gemini 提供自动登录选项 - 通过浏览器登录或使用提供的配置文件配置 Claude 和 Gemini。
为 /v1/chat/completions
配置模型类型
您可以在 /v1/chat/completions
端点的设置中指定模型类型。可用选项为 "Claude" 和 "Gemini"。
默认情况下,系统使用 "Claude" 模型。
# 区分大小写
[Main]
Model=Claude
# 或
Model=Gemini
配置文件路径:
- WebAI-to-API\webai2api\Config.conf
# 区分大小写
[Main]
Model = [Claude] 或 [Gemini]
[Claude]
COOKIE=[您的Cookie]
[Gemini]
SESSION_ID=[您的SESSION_ID]
SESSION_IDTS=[您的SESSION_IDTS]
SESSION_IDCC=[您的SESSION_IDCC]
许可
本项目采用 MIT 许可证。您可以随意使用。