|
|
5 روز پیش | |
|---|---|---|
| backend | 5 روز پیش | |
| docs | 5 روز پیش | |
| frontend | 1 هفته پیش | |
| .gitignore | 1 هفته پیش | |
| README.md | 1 هفته پیش |
阿里云百炼模型价格监控系统,自动爬取模型价格、限流信息、工具调用价格,提供可视化仪表盘和对外价格查询 API。
├── backend/
│ ├── app/
│ │ ├── routers/ # API 路由
│ │ ├── services/ # 爬虫、调度器、WebSocket
│ │ └── utils/ # 价格解析工具
│ ├── crawl/ # 爬虫核心逻辑
│ ├── migrations/ # 数据库迁移 SQL
│ └── requirements.txt
├── frontend/
│ └── src/
│ ├── pages/ # 页面组件
│ ├── components/ # 公共组件
│ └── hooks/ # 自定义 Hook
├── docs/
│ └── api.md # 接口文档
└── README.md
创建 PostgreSQL 数据库,按顺序执行 backend/migrations/ 下的 SQL 文件:
psql -U <user> -d <dbname> -f backend/migrations/001_init.sql
psql -U <user> -d <dbname> -f backend/migrations/002_models.sql
# ... 依次执行到最新
cd backend
cp .env.example .env
# 编辑 .env 填写数据库连接信息
pip install -r requirements.txt
playwright install chromium
python main.py
后端默认运行在 http://localhost:8000。
环境变量说明
| 变量 | 说明 | 默认值 |
|---|---|---|
HOST |
监听地址 | 0.0.0.0 |
PORT |
监听端口 | 8000 |
DB_HOST |
数据库地址 | localhost |
DB_PORT |
数据库端口 | 5432 |
DB_USER |
数据库用户名 | — |
DB_PASSWORD |
数据库密码 | — |
DB_NAME |
数据库名 | — |
ALLOWED_ORIGINS |
前端跨域地址 | http://localhost:5173 |
GEOIP_DB_PATH |
GeoLite2 City 数据库路径 | ./GeoLite2-City.mmdb |
PLAYWRIGHT_EXECUTABLE |
Chromium 可执行文件路径(可选) | 系统默认 |
JWT_SECRET |
JWT 签名密钥(生产环境必须修改) | change-me-in-production |
cd frontend
npm install
npm run dev
前端默认运行在 http://localhost:5173。
环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
VITE_API_BASE_URL |
后端 API 地址 | http://localhost:8000 |
默认账户:
| 账户名 | 密码 |
|---|---|
| admin | admin123 |
生产环境请修改
.env中的JWT_SECRET,并在登录后及时修改密码。
在「爬取」页面底部配置定时爬取,设置间隔天数和开始时间后开启即可。
对外暴露的价格接口无需认证,可直接调用:
GET http://localhost:8000/api/public/prices
GET http://localhost:8000/api/public/prices?url=<模型页面URL>
响应中的 discounted_prices 会根据请求来源域名自动应用折扣,折扣配置在「折扣」页面管理。
在「折扣」页面为指定域名配置折扣率(如 0.8 表示八折)。当该域名的前端页面调用价格 API 时,返回的 discounted_prices 中的价格会自动乘以折扣率。
详见 docs/api.md。