98 lines
2.6 KiB
Markdown
98 lines
2.6 KiB
Markdown
# 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_LLM_MAX_TOKENS=8000
|
||
SIGNALSCOUT_NEWS_RECENT_DAYS=3
|
||
SIGNALSCOUT_NEWS_MAX_ITEMS=60
|
||
SIGNALSCOUT_NEWS_SEARCH_MAX_RECORDS=100
|
||
SIGNALSCOUT_GITHUB_RECENT_DAYS=30
|
||
SIGNALSCOUT_GITHUB_MIN_STARS=20
|
||
SIGNALSCOUT_GITHUB_MAX_PROJECTS=40
|
||
SIGNALSCOUT_AGENT_INTERVAL_MINUTES=30
|
||
```
|
||
|
||
单次运行的目标上限是新闻 60 条、GitHub 项目 40 条;实际入库数量会根据候选质量、链接去重和模型筛选结果浮动。
|
||
|
||
## 本机运行
|
||
|
||
按项目规则,本机 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`:查看结构化情报,可用 `source_type=news` 或 `source_type=github` 查看单类信号
|
||
- `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/
|
||
```
|