自动完成“数据采集 -> 智能分析 -> 飞书推送”的每日市场分析任务。
- 新闻数据:
NewsAPI+AKShare新闻(可用时) - 量价数据:加密自选列表(
binance_spot/binance_futures/coinapi) - 加密辅助信息源:Fear & Greed、CoinGecko Global(免 API Key)
- 分析生成:OpenAI 兼容
chat/completions接口 - 推送渠道:飞书自定义机器人(支持可选签名)
- 调度方式:GitHub Actions 每日两次(北京时间 09:05 / 18:00)
- 额外推送:GitHub Actions 每日一次前端面试题(北京时间 20:00,5条中级 React 题)
- 报告结构:消息面与技术面共振 + 加密(1小时/4小时)多空计划(含止盈止损、支撑压力)
main.py:入口,编排完整流水线interview_main.py:前端面试题推送入口(每日5题)src/config.py:配置加载与参数校验src/data/news.py:新闻采集与标准化src/data/market.py:市场数据采集与指标计算src/analysis/context_builder.py:分析上下文构建src/analysis/llm.py:LLM调用 + 降级报告src/analysis/interview_questions.py:面试题生成(LLM + 兜底)src/push/feishu.py:飞书推送与签名.github/workflows/daily.yml:定时任务.github/workflows/frontend-interview-daily.yml:前端面试题定时任务
python -m venv .venv
. .venv/Scripts/activate # Windows PowerShell: .venv\\Scripts\\Activate.ps1
pip install -r requirements.txt复制 .env.example 为 .env 并填写:
- 必填:
FEISHU_WEBHOOK_URL - 推荐配置:
LLM_API_KEY(不配则走降级报告) - 可选:
NEWSAPI_KEYCOINAPI_KEYFEISHU_SECRETLLM_BASE_URLLLM_MODEL等 - 自选配置:
CRYPTO_SOURCE=binance_spot(可选:binance_futures、coinapi)CRYPTO_SYMBOLS=BTCUSDT,ETHUSDT(当 source 为币安时)COINAPI_SYMBOLS=BITSTAMP_SPOT_BTC_USD(当 source 为 coinapi 时)
python main.py在仓库 Settings -> Secrets and variables -> Actions 中配置:
- Secrets:
NEWSAPI_KEYCOINAPI_KEYLLM_API_KEYFEISHU_WEBHOOK_URLFEISHU_SECRET(可选)
- Variables(可选覆盖默认值):
CRYPTO_SOURCECRYPTO_SYMBOLSCOINAPI_SYMBOLSLLM_BASE_URLLLM_MODELLLM_TIMEOUT_SECONDSNEWS_QUERYNEWS_LANGUAGENEWS_PAGE_SIZEMARKET_LOOKBACK_DAYS
工作流支持手动触发(workflow_dispatch)和定时触发:
daily.yml:每日两次(北京时间 09:05 / 18:00)frontend-interview-daily.yml:每日一次(北京时间 20:00,推送 5 条中级 React 面试题)
- 任一数据源失败:不中断流程,在报告中记录异常
- LLM失败:自动降级为结构化摘要报告并继续推送
- 飞书推送失败:任务返回非零状态,便于在 Actions 中告警
Missing required environment variable:检查.env或 Actions secretsnewsapi failed:检查NEWSAPI_KEY、额度和 querybtc failed:检查COINAPI_KEY、COINAPI_SYMBOLScrypto failed:检查CRYPTO_SOURCE与对应 symbol 列表格式是否匹配LLM returned empty content:切换模型或检查LLM_BASE_URLFeishu push failed:检查 webhook 地址、签名密钥是否匹配
当前版本已能输出“消息面+技术面共振”的结构化加密报告。
若要提升交易信号可信度,可按需增加以下可选API:
- BTC衍生品面:资金费率、未平仓量、清算热力(如交易所或聚合服务API)
- 宏观事件面:美债利率、美元指数、大宗商品联动
建议策略:先跑现有版本,观察1-2周后再逐项增加数据源,避免一次性扩展过大影响稳定性。