商户查找系统
自动从 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 启动
# 启动所有服务(需要已有 MySQL 和 Redis)
docker-compose -f deploy/docker-compose.yml up -d --build
# 查看日志
docker-compose -f deploy/docker-compose.yml logs -f api
3. 本地开发
# 后端
go run ./cmd/server
# 前端(新终端)
cd web && npm install && npm run dev
4. 访问
配置说明
如果 MySQL/Redis 是 Docker 容器(不是宿主机服务):
- 找到容器所在的 Docker 网络名:
docker network ls
- 修改
deploy/docker-compose.yml 中 external_db.name 为实际网络名
- 修改
configs/config.yaml 中 mysql.host 和 redis.host 为容器名
7 阶段 Pipeline
- discover - TG 频道裂变(从种子频道 BFS 发现新频道)
- search - Serper 搜索引擎(关键词搜索发现频道和导航站)
- github - GitHub README 挖掘(搜索含 TG 链接的仓库)
- scrape - TG 消息采集(读取频道历史消息提取商户)
- crawl - 网页爬取(爬取导航站提取商户)
- clean - 数据清洗(黑名单过滤 + 去重 + TG 验证)
- score - 质量评分(6 维度加权打分)