# 商户查找系统 自动从 Telegram 频道、搜索引擎、GitHub、导航网站挖掘商户联系方式。 ## 技术栈 - **后端**: Go + Gin + GORM + asynq - **前端**: React + Ant Design - **数据库**: MySQL - **缓存/队列**: Redis ## 快速开始 ### 1. 配置 编辑 `configs/config.yaml`,填写: - MySQL 连接信息(默认连接 host.docker.internal:3306) - Redis 连接信息(默认 db 3) - TG App ID/Hash(从 my.telegram.org 申请) - LLM API Key(OpenAI 兼容接口) - Serper API Key(Google 搜索) - GitHub Token(可选,提升 API 限额) ### 2. Docker 启动 ```bash # 启动所有服务(需要已有 MySQL 和 Redis) docker-compose -f deploy/docker-compose.yml up -d --build # 查看日志 docker-compose -f deploy/docker-compose.yml logs -f api ``` ### 3. 本地开发 ```bash # 后端 go run ./cmd/server # 前端(新终端) cd web && npm install && npm run dev ``` ### 4. 访问 - 管理后台: http://localhost (Docker) 或 http://localhost:5173 (本地开发) - API: http://localhost:8080/api/v1 ## 配置说明 如果 MySQL/Redis 是 Docker 容器(不是宿主机服务): 1. 找到容器所在的 Docker 网络名:`docker network ls` 2. 修改 `deploy/docker-compose.yml` 中 `external_db.name` 为实际网络名 3. 修改 `configs/config.yaml` 中 `mysql.host` 和 `redis.host` 为容器名 ## 7 阶段 Pipeline 1. **discover** - TG 频道裂变(从种子频道 BFS 发现新频道) 2. **search** - Serper 搜索引擎(关键词搜索发现频道和导航站) 3. **github** - GitHub README 挖掘(搜索含 TG 链接的仓库) 4. **scrape** - TG 消息采集(读取频道历史消息提取商户) 5. **crawl** - 网页爬取(爬取导航站提取商户) 6. **clean** - 数据清洗(黑名单过滤 + 去重 + TG 验证) 7. **score** - 质量评分(6 维度加权打分)