Files

98 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gemini Go Web - Node.js 版 (精简版)
Google 账号自动化管理工具,基于 Node.js + Express + Playwright 构建的 Web 版本。
## 功能
- Google 账号管理(批量导入、查看、删除)
- 自动登录 / 2FA 绑定 / 2FA 更换
- 密码修改 / 重置
- 检查 GCP (Google Cloud Platform) 限制及状态
- 提取凭证 / Captcha 登录
- 代理配置
- 截图记录操作过程
- SSE 实时日志推送
## 目录结构
```
nodejs-app/
├── server.js # Express 服务器入口
├── src/
│ ├── core/ # 核心模块(配置、数据库、SSE)
│ ├── routes/ # API 路由
│ ├── services/ # 业务逻辑服务
│ ├── workers/ # 后台任务
│ └── utils/ # 工具函数
├── public/ # 前端静态资源
└── data/
└── screenshots/ # 操作截图(自动生成,不纳入版本控制)
```
## 环境要求
- Node.js >= 18.0.0
- pnpm(推荐)或 npm
## 安装与启动
### 方式一:手动
```bash
# 安装依赖
pnpm install
# 或
npm install
# 安装 Playwright 浏览器
npx playwright install chromium
# 启动服务
node server.js
```
启动后访问 [http://localhost:3001](http://localhost:3001)
> 端口由 `src/core/config.js` 中的 `PORT` 决定(当前为 **3001**),也可用环境变量 `PORT` 临时覆盖。
> `启动程序.bat` 会自动读取该端口并打开对应地址,修改端口时只需改 `config.js` 一处。
### 方式二:Windows 批处理
双击运行 `安装依赖.bat` 完成依赖安装,然后双击 `启动程序.bat` 启动服务。
`启动程序.bat` 会:结束占用端口的旧 node 进程 → 启动服务器(窗口标题 "Gemini Go Server",最小化)→ 等待端口就绪 → 自动打开浏览器。
若 30 秒内未就绪,会提示到 "Gemini Go Server" 窗口查看报错(该窗口在出错时不会自动关闭)。
> 浏览器自动化功能依赖本机运行的「比特浏览器」(本地接口 `127.0.0.1:54345`)。服务器本身不需要它即可启动,但执行"打开浏览器"等任务前必须先启动比特浏览器,否则日志会出现 `ECONNREFUSED 127.0.0.1:54345`。
账号导入和暂存恢复只写入数据库,不预创建比特浏览器窗口。执行登录、改密、获取凭证、打开浏览器或打开网址等浏览器任务时,系统会为当前邮箱创建或复用临时比特窗口并同步代理;单账号任务结束后立即关闭、删除窗口并清空本地浏览器编号,然后再处理下一个邮箱。
## 主要依赖
| 包 | 用途 |
|---|---|
| express | Web 服务器框架 |
| better-sqlite3 | 本地 SQLite 数据库 |
| playwright | 浏览器自动化 |
| axios | HTTP 请求 |
| otpauth | TOTP/2FA 验证码生成 |
| uuid | 唯一 ID 生成 |
## API 路由
| 路径 | 说明 |
|---|---|
| `/api/accounts` | 账号 CRUD |
| `/api/settings` | 系统设置(代理等) |
| `/api/operations` | 自动化操作执行 |
| `/screenshots/*` | 操作截图静态访问 |
## 数据存储
- 数据库:`data/accounts.db`(SQLite,不纳入版本控制)
- 截图:`data/screenshots/`(不纳入版本控制)
## 项目知识库
充值、套餐查询、退款、飞书同步、定时任务、状态机和故障经验见 [知识库总索引](./knowledge-base/00-total-index.md)。知识库只保存可复用的工程事实,不保存账号、令牌、代理凭据、卡密或运行数据。