核心用法
A-stock-report 是一套面向 A 股市场的自动化报告生成与推送系统,采用双轨架构:
- LLM 驱动型(晨报、晚报、财经周末版):通过
skill_dispatcher.py读取外置模板,动态注入日期后调用 LLM 生成内容,再落盘推送 - 独立脚本型(收盘小结、盘中预警、IPO 周报):Python 脚本内置全链路逻辑,由 cron 直接触发,无需 LLM 介入
关键操作路径
| 任务类型 | 配置位置 | 触发方式 |
|---------|---------|---------|
| LLM 型 | `templates/{morning,evening,weekend}.json` | `jobs.json` → dispatcher → 生成文件 → 推送脚本 || 脚本型 | `cron_jobs/cron_mirror.json` | OpenClaw 直接 `source .env && python3` |
投资者情绪打分系统
6 维度等权平均(满分 100):
1. 涨停家数(10~100 家映射)
2. 涨跌停比(对数插值)
3. 炸板率(40%~10%,越低越好)
4. 主力净流入占比(-5%~+5%)
5. 全市场换手率(1%~4%)
6. IF 基差(-300~+150 点)
分级标准:≥70 🟢做多 | ≥55 🟡偏多 | ≥40 ⚪分歧 | ≥25 🟠偏空 | <25 🔴冰点
数据溯源
- 指数行情:腾讯实时 API(
qt.gtimg.cn) - 涨跌停/炸板:同花顺问财 OpenAPI
- 两融数据:AKShare(
macro_china_market_margin_sh/sz) - 主力资金流:东方财富 RPT_MARKET_CAPITALFLOW
- 行业板块:hithink-sector-selector CLI
---
显著优点
1. 架构解耦:v3.0+ 将 prompt 外置到 templates/,cron 配置外置到 cron_jobs/,SKILL.md 不再硬编码,实现"一处修改、全局同步"
2. 4 端一致性护栏:check_consistency.py 机械检查 templates ↔ cron_mirror ↔ jobs.json ↔ SKILL.md 的一致性,将"人记对表"升级为"机器锁死"(v3.1.5)
3. 并发安全:scripts/_lock.py 共用库实现 fcntl 文件锁 + 残留锁自愈 + 超时报警,解决多任务同分钟触发时的数据竞争(v2.0.3)
4. 密钥最小权限:白名单制精确到每个脚本,禁止全量注入 .env,IWENCAI_API_KEY 等敏感变量进程内直连不泄露给子进程
5. 可观测性完备:退出码语义化(0/1/2),cron 失败可被 OpenClaw 标记,配合 notify_failure() 主动预警
---
潜在缺点与局限性
1. 被动自愈设计:锁残留清理依赖"下一次 lock() 调用"触发,若 6 天无任务则锁永久残留(v3.2.2 文档修正,非 bug)
2. LLM 型任务延迟:晨报/晚报需两段式执行(dispatcher 写 prompt → LLM 读 prompt 生成 → 脚本推送),端到端延迟受 LLM 响应时间影响
3. 数据时效性缺口:两融数据 T+1 更新,收盘小结/晚报中的两融余额永远比当天少一天(设计预期,非故障)
4. 高频任务无 LLM:盘中预警每 5 分钟执行,完全依赖规则引擎,无法做复杂语义分析
5. 回溯限制:IPO 周报回溯生成建议单次 ≤4 周,受 API 限速 + 报告耗时约束
---
适合人群
- 量化投资者:需要结构化情绪指标辅助择时决策
- 机构运营团队:需自动化生产多时段报告(晨报/收盘/晚报/周末)
- 财经自媒体:可对接 Webhook 输出格式化内容
- 技术运维:重视配置即代码、机械一致性护栏的工程团队
---
常规风险
| 风险类型 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 推送失败静默 | `wx()` 返回非 0 但脚本 exit 0(v3.1.2 前) | 统一 `_send_lib.py` + 强制 `exit 1` |
| 锁残留导致挂起 | PID 持有者已死但锁文件未清 | 手动 `rm /tmp/*_lock*` + 1h TTL 兜底 |
| 问财字段名漂移 | `炸板家数` ↔ `涨停开板家数` | 消费侧兼容多字段名(try/except 双路径) |
| 4 端配置漂移 | 改 templates 忘改 jobs.json | 跑 `check_consistency.py` 机械锁定 |
| LLM 生成空内容 | 未配置 cron LLM 步骤导致财经要闻为空 | 核对 `jobs.json` 任务完整性 |
关键安全原则:WECOM_WEBHOOK_KEY 配置即授权自动推送,属系统自动化组成部分,非人工干预。