ais2api 是一个 C++20 编写的 AI Studio 网页会话网关:它驱动本地浏览器登录 Google AI Studio,把网页会话转换为 Gemini 原生 API、OpenAI Chat Completions 与 OpenAI Responses 接口,供 Cherry Studio、SillyTavern、RikkaHub 等客户端使用。支持 Windows、Linux 与 Android(Termux)。
开发版本:Windows 上已用真实账号验证基础文本生成、流式、多轮和搜索,但工具调用、生图以及 Linux / Termux 的真实账号场景尚未完成验收。详见 验证记录。
- 三种 API:Gemini
generateContent/streamGenerateContent、OpenAI/v1/chat/completions与/v1/responses,支持流式、多模态输入、函数调用、JSON Schema 输出。 - 真 role 与思考签名:保留完整历史中的消息边界和原生部件,思考签名可在多轮对话中往返。
- 搜索模型:每个模型自动提供
<模型>-search变体,无需客户端配置即可开启 Google 搜索。 - 多账号管理:账号轮换、按模型冷却与自动恢复、每个账号固定的浏览器指纹、Cookie 自动写回。
- 三种管理方式:命令行、独立鉴权的管理 API,以及嵌入程序的 Web 控制台(运行时无需 Node.js)。
- 便捷导入:Tampermonkey 脚本一键推送 Cookie,兼容原项目脚本。
- 便携部署:配置与数据都在程序目录旁,整个目录可以直接移动;附带一键启动脚本。
- 资源可控:请求、响应、队列都有上限;流式输出逐块确认、不整体缓存;可选空闲时关闭浏览器。
- 从 GitHub Actions 下载对应平台的运行包并解压(详见 快速开始)。
- 启动:Windows 双击
start.cmd;Linux / Termux 执行sh start.sh。首次运行会自动初始化并下载浏览器。 - 在生成的
config.json中填写api_key,执行ais2api config reload。 - 打开
http://127.0.0.1:18451/,用默认密码admin登录控制台并按提示修改。 - 导入 Google 账号:安装 Cookie 导入脚本,或在控制台“账号”页粘贴 Cookie。
- 在控制台“模型”页执行“实时发现”并保存清单,或通过
configured_models配置备用列表。客户端只读取本地清单,不会自动发现模型。 - 在客户端填写接口地址:
| 客户端 | 设置 |
|---|---|
| Cherry Studio / OpenAI 兼容 | Base URL http://127.0.0.1:18451/v1 |
| SillyTavern | Google AI Studio,反向代理 http://127.0.0.1:18451 |
| RikkaHub | Google 提供商,Base URL http://127.0.0.1:18451/v1beta |
API Key 均填写 config.json 中的 api_key。更多说明见 客户端接入。
curl http://127.0.0.1:18451/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"model":"gemini-3.1-flash-lite","messages":[{"role":"user","content":"你好"}],"stream":true}'| 使用 | 参考 | 开发 |
|---|---|---|
| 快速开始 | 协议合同 | 构建与打包 |
| 客户端接入 | Responses 接口 | 验证记录 |
| 配置参考 | 真 role 与思考签名 | 路线图 |
| 命令行 | 管理 API | 贡献指南 |
| Web 管理界面 | 浏览器网关 | 专项报告 |
| Cookie 导入 | ||
| 故障排查 |
完整目录见 docs/README.md。容器部署见 Docker 部署。
# Windows(开发者 PowerShell)
./scripts/build.ps1 -Package -WebUI# Ubuntu 24.04 / Debian 13
sh scripts/build.sh linux --package --webui
# Termux(需先 pkg install boost-headers)
CXXFLAGS=-fexperimental-library sh scripts/build.sh termux --install-deps依赖由 vcpkg.json 的固定 baseline 锁定。构建 WebUI 需要 Node.js 20.19+ 或 22.12+;运行时不需要 Node.js 或 Python。各平台的前提和选项见 构建与打包。
- 同一时间只处理一个生成请求,其余排队。
- Responses 为无状态模式;没有 Files、embeddings 或独立的图片/音频接口。
thinkingBudget与seed被接受但不生效;强制工具调用与 strict schema 默认拒绝(可选择舍弃后继续)。- 搜索来源与引用元数据暂不解析。
- 依赖 AI Studio 网页的私有协议,上游变化时需要更新适配器。
工作原理参考了 aistudio-api-termux;本项目的实现代码与测试样例为独立编写。
Copyright (c) 2026 Mana Nekoha (mananekoha114)。本项目自有源码、脚本、schema、测试与文档采用 Mozilla Public License 2.0,许可声明见 NOTICE。第三方依赖与浏览器保留各自的许可,其中可选 Browser-Local 包内的 CloakBrowser 仅限个人或内部使用,详见 第三方说明。
请勿将真实 Cookie、API Key 或数据目录提交到任何仓库。