【免费下载链接】WyckoffTradingAgent
Open-source Wyckoff trading agent and AI stock screener for volume-price analysis, A-share screening, CLI workflows, and MCP tools.灵感来自秋生trader @Hoyooyoo
WyckoffTradingAgent 是一款开源 Wyckoff 交易 Agent 与 AI 股票筛选器,支持 A 股漏斗筛选、AI 三阵营研报与每日自动任务。把飞书 / 钉钉 / 企业微信 / Telegram 的通知渠道配好之后,筛选结果、研报和买卖工单会自动推送到手机,不必守在终端前。本文按通道给出完整的环境变量配置清单与验证方法。
为什么要把信号推送到手机
- 无人值守运行:每日漏斗 + Step3 研报 + Step4 再平衡按定时任务自动执行,结果第一时间出现在你的 IM 里;
- 跳过也会通知:非交易日任务自动跳过,并主动推送「📅 明日非 A 股交易日,任务跳过」,不会让你误以为程序挂了;
- 推送是可选的:不配置任何渠道时,筛选与研报照常执行,只是跳过推送(预检逻辑见 workflows/daily_job_runtime.py)。
一张表看懂 4 个通知渠道
| 渠道 | 配置方式 | 消息形态 | 单条上限 |
|---|---|---|---|
| 飞书 | Webhook | 富文本卡片(语义标题色、风险提示高亮),支持发文件 | 11,000 字节 |
| 企业微信 | Webhook | Markdown | 4,000 字节 |
| 钉钉 | Webhook | Markdown | 4,000 字节 |
| Telegram | Bot Token + Chat ID | 纯文本 | 约 4,000 字符 |
渠道上限集中定义在 utils/notification_capabilities.py;超限内容会自动拆成多条消息,标题带上(1/3)、(2/3)编号,正文不会丢。
飞书配置步骤(推荐首选)
飞书是主通道,展示效果最好:报告卡片自动提取摘要区、按标题分节、突出风险提示;新版富卡片被拒绝时还会自动回退为普通 Markdown 卡片,保证通知不丢。
Step 1:创建自定义机器人,拿到 Webhook
- 打开飞书群 → 设置 → 群机器人 → 添加机器人 → 自定义机器人;
- 复制 Webhook 地址(形如
https://open.feishu.cn/open-apis/bot/v2/hook/xxxx); - 若开启安全设置,选「自定义关键词」模式并填一个报告里必然出现的词(如「研报」)。
Step 2:写入.env
FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-apis/bot/v2/hook/xxxx模板位置:.env.example。
Step 3(可选):把完整研报作为文件发进群
长报告(如漏斗全量名单)可升级为 Markdown 文件发送,需要自建应用凭证:
FEISHU_APP_ID=cli_xxx FEISHU_APP_SECRET=xxx FEISHU_PREVIEW_CHAT_ID=oc_xxx文件上传与发送逻辑见 utils/feishu.py;卡片拆分阈值由FEISHU_LARK_MAX_LEN控制(默认 2800 字)。
钉钉 / 企业微信配置
两者都是 markdown webhook,套路与飞书一致:建群机器人 → 复制 Webhook → 写入.env。
DINGTALK_WEBHOOK_URL=https://oapi.dingtalk.com/robot/send?access_token=xxxx WECOM_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx⚠️ 钉钉安全设置建议选「自定义关键词」(如填「通知」);发送入口为 send_dingtalk_notification 与 send_wecom_notification,超过 4000 字节自动分片。
Telegram Bot 配置
Telegram 是Step4 私人再平衡工单与持仓诊断推送的主通道(私有工单只走 Telegram,公开研报走 IM 群),配置方式与前三个不同:
- 在 Telegram 找 @BotFather,发送
/newbot创建机器人,获得Bot Token; - 给新机器人随便发一条消息,获取你自己的Chat ID;
- 写入
.env:
TG_BOT_TOKEN=123456:ABC-xxxx TG_CHAT_ID=987654321发送实现见 utils/telegram.py,超 3900 字符自动拆条。若本机网络无法直连 api.telegram.org,加一个代理即可:
PROXY_URL=http://127.0.0.1:7890未配置 TG 时,Step4 私人再平衡会自动跳过并写日志(workflows/step4_pipeline.py),不影响其他任务。
如何验证配置是否生效
- 对每日任务加
--dry-run跑一次配置校验:未配置任何 IM 渠道时会明确提示「筛选与研报仍会执行,推送将被跳过」; - 推送结果直接看控制台:
[feishu] sent part 1/1、[telegram] 推送失败: status=400这类日志一眼定位问题; - Web 面板的设置页也提供了飞书 / 企微 / 钉钉 Webhook 与 TG Token / Chat ID 的表单入口,见文章顶部截图,对应实现 web/apps/web/src/routes/settings.tsx。
常见问题
- 为什么报告被拆成多条卡片?正文超过渠道字节上限,由 split_utf8_text 按段落边界安全切分,漏斗全量名单一只都不会少;
- 研报为什么同时发到多个群?Step3 交付时按渠道逐个推送,任一渠道配置了就发哪条,互不影响(workflows/step3_delivery.py);
- 推送失败会重试吗?飞书富卡片失败自动重试 3 次(间隔递增),仍失败再回退普通卡片,可靠性优先。
相关文件速查
| 文件 | 作用 |
|---|---|
| .env.example | 全部通知环境变量模板 |
| utils/feishu.py | 飞书卡片与文件发送 |
| utils/markdown_webhooks.py | 企业微信 / 钉钉 webhook |
| utils/telegram.py | Telegram Bot 推送 |
| utils/notification_capabilities.py | 渠道上限与文本分片 |
| workflows/daily_job_runtime.py | 每日任务渠道读取与预检 |
| workflows/step3_delivery.py | 研报多通道分发 |
【免费下载链接】WyckoffTradingAgent
Open-source Wyckoff trading agent and AI stock screener for volume-price analysis, A-share screening, CLI workflows, and MCP tools.灵感来自秋生trader @Hoyooyoo
相关推荐
Dinky报警系统配置:钉钉、微信、飞书、邮件、短信多通道通知终极指南
Dinky报警系统配置:钉钉、微信、飞书、邮件、短信多通道通知终极指南 🚨 Dinky实时计算平台 提供了强大的多通道报警通知功能,让您能够通过钉钉、微信、飞
大数据流处理实时分析后端前端数据集成数据湖任务调度数据可视化可观测性漏洞发现实时推送IM:ARTEX钉钉、飞书、企业微信通知渠道完整配置指南
漏洞发现实时推送IM:ARTEX钉钉、飞书、企业微信通知渠道完整配置指南 ARTEX 是一个 AI 自主渗透测试系统,它的漏洞通知推送功能可以把新发现的漏洞、状
人工智能AI 应用AI Agent自主智能体工具调用渗透测试网络安全后端前端MCP Clients如何把渗透测试漏洞实时推送到手机:ARTEXX钉钉、飞书、邮件通知配置指南
如何把渗透测试漏洞实时推送到手机:ARTEXX钉钉、飞书、邮件通知配置指南 ARTEXX 是一款 AI 自主渗透测试系统(百度"agent+"攻防挑战赛冠军项目
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考