# SignalScout SignalScout 是一个自动运行的 AI 情报 Agent。它先用动态新闻搜索和 GitHub 官方搜索抓取候选证据,再使用 Grok 通过中转 API 生成最新 AI 新闻、模型发布、Agent 工具、融资动态和 GitHub 热门项目日报,并把结构化情报保存到 MySQL。 ## 主流程 ```text Scheduler -> AgentRunner -> News Search API 采集近期 AI 新闻候选 -> GitHub Search API 采集近期热门 AI 项目候选 -> Grok 研判新闻候选与 GitHub 候选 -> MySQL signals/reports -> Markdown report file ``` ## 本地配置 复制环境变量: ```bash cp .env.example .env ``` 关键配置: ```env SIGNALSCOUT_DATABASE_URL=mysql+pymysql://user:password@host:3306/signalscout?charset=utf8mb4 SIGNALSCOUT_LLM_BASE_URL=https://api.zayuapi.com/v1 SIGNALSCOUT_LLM_API_KEY=你的中转站 key SIGNALSCOUT_LLM_MODEL=grok-4.3 SIGNALSCOUT_NEWS_RECENT_DAYS=3 SIGNALSCOUT_NEWS_MAX_ITEMS=12 SIGNALSCOUT_NEWS_SEARCH_MAX_RECORDS=20 SIGNALSCOUT_GITHUB_RECENT_DAYS=30 SIGNALSCOUT_GITHUB_MIN_STARS=20 SIGNALSCOUT_GITHUB_MAX_PROJECTS=5 SIGNALSCOUT_AGENT_INTERVAL_MINUTES=30 ``` ## 本机运行 按项目规则,本机 Python 使用: ```text D:\Python\Python39\python.exe ``` 在 WSL shell 中对应命令已经写进 `Makefile`: ```bash make install make migrate make seed make run ``` 后端启动后访问: ```text http://127.0.0.1:8010/health http://127.0.0.1:8010/docs ``` ## API - `GET /health`:服务健康检查 - `GET /agent/runs`:查看最近运行记录 - `GET /signals`:查看结构化情报 - `GET /reports/latest`:查看最新日报 - `GET /dashboard`:获取仪表盘数据 - `POST /topics`:新增 Agent 跟踪主题 - `GET /topics`:查看 Agent 跟踪主题 - `GET /logs/recent`:查看最近运行日志 ## 部署 部署文件使用和 `agent-desk` 一致的 Gitea + Jenkins 流水线结构: - Gitea 仓库:`https://gitea.jaycode.online/gitadmin/signalscout-backend` - Jenkins Job:`signalscout-backend` - 源码目录:`/opt/signalscout-source` - 发布目录:`/opt/signalscout` - 部署脚本:`deployment/jenkins/deploy_backend.sh` - systemd 服务:`deployment/systemd/signalscout.service` - Jenkins 流水线:`Jenkinsfile` 默认域名: ```text https://signalscout.jaycode.online/ https://gitea.jaycode.online/ https://jenkins.jaycode.online/ ```