重写为 AI 情报 Agent 并接入 Jenkins 流水线
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# 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/
|
||||
```
|
||||
Reference in New Issue
Block a user