Files
signalscout-backend/README.md
T

96 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SignalScout
SignalScout 是一个定时运行的 AI 情报 Agent。它先用动态新闻搜索和 GitHub 官方搜索抓取候选证据,再使用 Grok 通过中转 API 生成最新 AI 新闻、模型发布、Agent 工具、融资动态和 GitHub 热门项目日报,并把结构化情报保存到 MySQL。
## 主流程
```text
Scheduler/API
-> 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
```
## 本机运行
按项目规则,本机 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`:服务健康检查
- `POST /agent/runs/daily`:手动触发每日 Agent
- `POST /agent/runs/daily/stream`:以 SSE 方式触发每日 Agent
- `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/
```