返回产品页
自动化指纹浏览器 · 使用文档
本地优先的桌面指纹浏览器,同一份 Python core 同时给 CLI / HTTP API / Electron GUI 用。下面把安装、命令、API、数据位置和环境变量集中列出来。
安装与启动
推荐先用源码模式跑通,再切到 Electron 安装包。官方提供 Win 单文件 NSIS 安装包,内嵌 PyInstaller 打包的后端。
# 1. 安装 Python 包与 Chromium
pip install -e .
playwright install chromium
# 2. 任选一种跑起来
yycbf serve # 启动 HTTP API + WebSocket
yycbf launch alice # 直接命令行启动一个 profile
# 3. Electron GUI 开发模式
cd electron && npm install && npm run dev发行版安装包名为 yyc-browser-fingerprint-0.1.0-x64-setup.exe (~129 MB),Electron 打包结果在仓库 electron/dist/ 下。
数据位置
| 名称 | 说明 |
|---|---|
| SQLite 元数据(Alembic 管理 schema) | ~/.yyc-bf/db.sqlite |
| 每个 profile 的 Chromium user-data-dir | ~/.yyc-bf/profiles/<name>/ |
| 截图与流程产物 | ~/.yyc-bf/artifacts/<flow>/<ts>.png |
| tar.gz 备份目标目录 | ~/.yyc-bf-backups/yycbf-<ts>.tar.gz |
CLI 速查
yycbf 与 yyc-browser-fingerprint 是同一个 CLI 的两个别名,基于 typer。子命令组按功能划分:
| 命令 | 用途 |
|---|---|
| yycbf profile <list|create|delete|...> | profile CRUD,绑定指纹与代理 |
| yycbf fingerprint generate | 随机生成一份指纹(只打印不入库) |
| yycbf pool <list|create|import|export|...> | 代理池管理 |
| yycbf entry <add|test|delete> | 池里的单条代理(测连通、增删) |
| yycbf migrate <up|down|revision|history|current|stamp> | 数据库迁移(Alembic) |
| yycbf task <list|show|run|delete> | 批量任务 |
| yycbf schedule <list|add|toggle|delete> | cron / 事件触发的计划 |
| yycbf channel <list|add|test|delete> | 飞书 / webhook / 钉钉通知通道 |
| yycbf event <list|emit|clear> | 事件总线 |
| yycbf backup [-o file] | 整个 ~/.yyc-bf 打 tar.gz |
| yycbf restore <file> | 从备份恢复(旧数据保留为 .bak.<ts>) |
| yycbf launch <name> | 直接启动一个 profile |
| yycbf serve | 启动 HTTP API + WebSocket server |
HTTP API + WebSocket
yycbf serve 启动 FastAPI(uvicorn,默认监听 127.0.0.1:18789)。生产环境通过 Electron main 进程自动 spawn。
| 名称 | 说明 |
|---|---|
| 交互式 OpenAPI docs | http://127.0.0.1:18789/docs |
| 路由总数(详见仓库 docs/API.md) | 85 routes / 14 tags |
| WebSocket 实时事件流 | ws://127.0.0.1:18789/events |
订阅事件类型(支持 glob 模式):
log
event.fired
flow.run
chrome.progress
record.action_captured
task.run
session.*任务编排
- Task = profile 列表 + flow + 可选代理池 + rounds + concurrency + headless
- 运行历史持久化在 task_run 表,记录每个 profile 的状态
- 失败重试:POST /task-runs/{id}/retry 仅重跑上次 failed 的 profile
- 软依赖 depends_on:触发前检查依赖任务最近一次必须 success
- 通知通道(飞书 / webhook / 钉钉)按订阅分发,可挂在事件触发与计划上
重要环境变量
| 名称 | 说明 |
|---|---|
| ANTHROPIC_API_KEY | AI 流程生成 / AI selector 必需 |
| ANTHROPIC_BASE_URL | 可选,自托管中转站填 https://your-relay/v1 |
| ALEMBIC_URL | 测试 / 临时数据库覆盖,默认 ~/.yyc-bf/db.sqlite |
| YYCBF_REPO_ROOT | PyInstaller 打包后定位 alembic.ini / migrations 目录 |
| ELECTRON_MIRROR | 国内构建 Electron 时建议指向 npmmirror |
| ELECTRON_BUILDER_BINARIES_MIRROR | electron-builder 二进制依赖镜像(国内必备) |