10分钟搭建AI盯盘系统:PanWatch实战
用Docker一键部署PanWatch,接入AI决策引擎,实现A股/港股/美股多账户持仓监控、TradingAgents多Agent智能分析,并将结果推送到企业微信/钉钉等渠道。全程10分钟,数据全量本地存储。

不知道你有没有这种经历:盯了好几只票,盘中稍微一走神就错过最佳买卖点;或者每天盯着 K 线看半天,最后还是凭感觉操作。我做了多年后端开发后,越来越倾向于让 AI 帮我做「信息预处理」——不是让 AI 决定买卖,而是让它把杂乱的行情、新闻、技术指标嚼碎了喂到你面前。
这篇教程带你用 PanWatch(1.1k+ Star)从零搭一套 AI 盯盘助手。部署完成后你能做到三件事:
- 实时监控 A 股/港股/美股持仓,盘前、盘中、盘后自动出分析报告
- 一键触发 TradingAgents 9-Agent 决策链,3-5 分钟得到看多/看空辩论 + 风控审查 + PM 决策书
- 全渠道推送到企业微信/钉钉/飞书/Telegram,手机一响就是 AI 帮你盯好的结果
持仓数据全部存在你自己机器上,不经过任何第三方,隐私方面可以放心。
前置条件
动手之前确认满足以下条件:
- 一台装了 Docker 的机器(服务器、NAS、本地电脑都行),Docker 20+ 即可
- 一个 OpenAI 兼容 API 的 Key——OpenAI、智谱、DeepSeek、Ollama 都行。推荐用 DeepSeek,性价比高,单次分析也就 $0.05 左右
- 一个推送渠道的企业应用/Webhook URL(企业微信机器人群、钉钉自定义机器人、飞书群机器人等任选其一)
整个教程大约 10-15 分钟。
快速上手:用 Docker 一键部署
为什么直接用 Docker?因为项目已经把 FastAPI 后端 + React 前端 + Playwright 浏览器依赖全部打包好了,不需要配 Python 环境、也不需要装 Node.js,一条命令拉起即可。
步骤一:拉取镜像并启动容器
bash
docker run -d \
--name panwatch \
-p 8000:8000 \
-v panwatch_data:/app/data \
-e TZ=Asia/Shanghai \
sunxiao0721/panwatch:latest
每个参数的意义:
-p 8000:8000把容器 8000 端口映射到宿主机,方便浏览器访问-v panwatch_data:/app/data挂载持久化卷。所有持仓、账号、Agent 分析记录都存这里,容器删了数据不丢-e TZ=Asia/Shanghai设时区。这步很关键,盘前/盘后 Agent 的调度触发时间依赖系统时区
踩坑提醒:容器首次启动时,Playwright 需要的 Chromium 会自动下载到
panwatch_data/playwright目录下,网络不太好可能需要等几分钟。不需要截图功能的话,加环境变量-e PLAYWRIGHT_SKIP_BROWSER_INSTALL=1跳过。
启动后 docker logs panwatch 看到没有报错,就可以访问 http://你的IP:8000 了。
习惯用 Docker Compose 管理的同学,可以用下面这份配置:
yaml
version: '3.8'
services:
panwatch:
image: sunxiao0721/panwatch:latest
container_name: panwatch
ports:
- "8000:8000"
volumes:
- panwatch_data:/app/data
environment:
- TZ=Asia/Shanghai
restart: unless-stopped
volumes:
panwatch_data:
步骤二:首次访问 & 设置登录账号
浏览器打开 http://localhost:8000,首次进入会让你设一个用户名和密码。这一步是在写本地的鉴权配置,后续每次登录都需要。
步骤三:配置 AI 服务商
进入 设置 → AI 服务商,填入你的 OpenAI 兼容 API 信息:
| 字段 | 说明 |
|---|---|
| API Base URL | API 地址,例如 DeepSeek 是 https://api.deepseek.com/v1 |
| API Key | 你的密钥 |
| Model | 模型名,如 deepseek-chat |
为什么选 OpenAI 兼容协议?因为现在智谱、DeepSeek、Ollama 本地部署都支持这个协议,换模型不需要改代码。
步骤四:配置通知渠道
进入 设置 → 通知渠道,添加你的推送地址。以企业微信机器人群为例:
- 在企业微信群聊中添加「群机器人」
- 复制 Webhook 地址,形如
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx - 在 PanWatch 中选择「企业微信」渠道,粘贴地址保存
你也可以同时配钉钉、飞书、Telegram 等多个渠道,后续发通知时可以单独选。
实战示例:从建仓到收到 AI 分析报告
1. 添加持仓
进入 持仓页面,点添加股票:
- 输入股票代码(如
600519贵州茅台) - 设定交易风格(短线/波段/长线),这会影响 AI 分析时的推荐策略
- 添加多个股票后可创建多个「账户」,适合分账户管理
2. 体验盘前分析 Agent
系统内置四个 Agent,按调度自动运行:
| Agent | 触发时机 | 做的事 |
|---|---|---|
| 盘前分析 | 每日开盘前 | 综合隔夜美股、新闻、技术形态,给出今日操作策略 |
| 盘中监测 | 交易时段实时 | 监控异动信号,RSI/KDJ/MACD 共振时推送提醒 |
| 盘后日报 | 每日收盘后 | 复盘当日走势,分析资金流向,规划次日操作 |
| 新闻速递 | 定时采集 | AI 筛选与持仓相关的重要财经新闻 |
刚部署完可以进 持仓 页面,点 🧠 图标手动触发一次 TradingAgents 分析体验一下。它会走完整条推理链:
技术分析师 + 情绪分析师 + 新闻分析师 + 基本面分析师
→ 看多 vs 看空辩论
→ 风控审查
→ PM 整合决策
→ 分析结果推送到你配的企业微信/钉钉
单次大概 3-5 分钟出结果,手机端就能收到一份结构化的推理报告。
3. 设置价格提醒
除了 AI 自动分析,还可以手动设价格提醒:
- 进入价格提醒页面,选择监控的股票
- 设置触发条件:价格、涨跌幅、成交额、量比等,支持 AND/OR 组合
- 设定生效时段(仅交易时段 or 全天)、冷却时间、每日触发上限
- 选通知渠道:可以指定这条提醒只推钉钉,其他走默认渠道
常见问题与踩坑提醒
1. 访问页面后提示连接失败?
检查容器是否正常:docker ps | grep panwatch。如果容器退出,docker logs panwatch 看报错。最常见的原因是 8000 端口被占,换一个端口映射即可:-p 9000:8000。
2. AI 分析报 API 错误?
90% 是 API Key 配错或余额不足。建议先在终端 curl 测试一下 Key 是否有效。另外确认 Model 名写对了,不同供应商的默认模型名不一样。
3. Agent 没有按时触发?
检查时区。容器默认 UTC,必须配 -e TZ=Asia/Shanghai,否则盘前/盘后的调度时间会偏 8 小时。
4. 想用代理访问海外 API?
在环境变量加 -e HTTP_PROXY=http://host:port,或者在 UI「设置 → 全局 HTTP 代理」里配。三者优先级:环境变量 > UI > .env 文件。
5. 想调试底层调度逻辑?
启动时加 -e LOG_LEVEL=DEBUG,可以看到心跳、采集过程的详细日志,排查问题很有用。
总结
到这步你已经完成了:
- 用 Docker 一行命令部署了 PanWatch
- 配置了 LLM API 和通知渠道
- 添加了持仓、体验了 TradingAgents 多 Agent 决策链
- 设了价格提醒和 AI Agent 自动分析
进一步探索的方向:
- 在模拟盘里测试策略效果,看净值曲线和绩效指标
- 自定义 Agent 策略,参考项目的
CONTRIBUTING.md开发自己的数据源或 Agent - 把 PanWatch 加到手机 PWA(浏览器打开后「添加到主屏幕」),当原生 App 用
AI 不会替你交易,但它能帮你把信息差压缩到最小。搭好这套系统后,你就可以把盯盘时间省下来,去干更重要的事。
项目仓库:TNT-Likely/PanWatch