🦅 盯盘侠 PanWatch 详细部署教程

PanWatch 是一款自托管的 AI 盯盘助手,集成了 TradingAgents 多智能体投资决策框架,能为 A 股、港股、美股提供实时监控、智能分析和全渠道推送。本教程将指导您使用最推荐的 Docker 方式完成部署与配置。


📋 部署前准备

  • 硬件:一台可运行 Docker 的服务器(如云服务器、NAS、树莓派等)或本地电脑。
  • 网络:容器启动时需要联网以下载 Chromium 浏览器依赖(如需截图功能)和拉取 Docker 镜像。
  • API 密钥:需要至少一个兼容 OpenAI 接口的 AI 服务商密钥(如 DeepSeek、智谱、OpenAI 等),用于驱动 AI 分析师。
  • (可选)通知渠道凭证:如 Telegram Bot Token、企业微信 Webhook 等,用于接收推送消息。

🐳 第一步:使用 Docker 一键部署(强烈推荐)

这是最快、最稳定的部署方式。项目提供了官方 Docker 镜像 sunxiao0721/panwatch:latest

1. 使用 Docker Run 命令

在终端中执行以下命令:

1
2
3
4
5
docker run -d \
--name panwatch \
-p 8000:8000 \
-v panwatch_data:/app/data \
sunxiao0721/panwatch:latest
  • -d:后台运行。
  • --name panwatch:为容器命名。
  • -p 8000:8000:将主机的 8000 端口映射到容器的 8000 端口。
  • -v panwatch_data:/app/data:创建一个名为 panwatch_data 的 Docker 卷,用于持久化存储数据(配置、持仓、数据库等)。

首次启动说明:镜像内已包含 Playwright 运行依赖,但 Chromium 浏览器会在容器首次启动时自动下载到挂载卷中,可能需要几分钟,请耐心等待。如果不需要截图功能,可以添加环境变量 -e PLAYWRIGHT_SKIP_BROWSER_INSTALL=1 跳过此步骤。

2. 使用 Docker Compose(推荐用于管理)

创建一个 docker-compose.yml 文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
version: '3.8'
services:
panwatch:
image: sunxiao0721/panwatch:latest
container_name: panwatch
ports:
- "8000:8000"
volumes:
- panwatch_data:/app/data
restart: unless-stopped
volumes:
panwatch_data:

然后在文件所在目录执行:

1
docker-compose up -d

⚙️ 第二步:首次配置(Web 界面)

容器启动后,打开浏览器访问 http://你的服务器IP:8000

  1. 设置管理员账号:首次访问时,系统会引导您设置登录用户名和密码。请务必记下。
  2. 配置 AI 服务商:进入 设置 → AI 服务商 页面。
    • 选择或填写与 OpenAI 兼容的 API 地址(如 DeepSeek 的 https://api.deepseek.com)。
    • 填入您的 API Key
    • 建议选择 DeepSeek,因其性价比高(单次分析约 $0.05)。
  3. 添加通知渠道(可选) :进入 设置 → 通知渠道,添加您想接收推送的渠道(Telegram、企业微信、钉钉等),按提示获取 Webhook 或 Bot Token 并填入。

📈 第三步:添加持仓与启用 AI 分析

  1. 添加股票:在 持仓 页面,点击“添加股票”,输入您关注的 A 股、港股或美股代码(如 AAPL000001)。
  2. 启用 Agent:在持仓列表中,为每只股票开启您需要的 Agent(智能体):
    • 盘前分析:每日开盘前推送操作策略。
    • 盘中监测:交易时段实时监控异动(如 RSI、MACD 信号)。
    • 盘后日报:收盘后复盘并规划次日操作。
  3. 触发深度分析:在持仓页点击股票旁的 🧠 图标,即可手动触发 TradingAgents 9 人投研团队的接力分析(技术、情绪、新闻、基本面分析→多空辩论→风控→PM 决策),3-5 分钟后结论将推送到您配置的 IM 渠道。

🛠️ 环境变量(高级配置)

您可以在 docker run 命令或 docker-compose.yml 中添加以下环境变量(-e 变量名=值)来调整行为:

变量名 说明 默认值
AUTH_USERNAME 预设登录用户名 首次访问时设置
AUTH_PASSWORD 预设登录密码 首次访问时设置
JWT_SECRET JWT 签名密钥 自动生成
TZ 应用时区,影响 Agent 调度时间 Asia/Shanghai
LOG_LEVEL 日志级别,排查问题可设 DEBUG INFO
HTTP_PROXY / HTTPS_PROXY 出站代理,如 http://host:port 未设置
PLAYWRIGHT_SKIP_BROWSER_INSTALL 设为 1 可跳过 Chromium 下载 未设置

🧑‍💻 第四步:本地开发部署(供开发者参考)

如需进行二次开发,请遵循以下步骤:

  1. 环境要求:Python 3.10+、Node.js 18+、pnpm。

  2. 克隆仓库

    1
    2
    git clone https://github.com/TNT-Likely/PanWatch.git
    cd PanWatch
  3. 启动后端

    1
    2
    make dev-api
    # 或手动:python -m venv venv && source venv/bin/activate && pip install -r requirements.txt && python server.py
  4. 启动前端(新终端):

    1
    2
    make dev-web
    # 或手动:cd frontend && pnpm install && pnpm dev
  5. 前端开发服务器运行在 http://localhost:5183,会自动代理 API 请求到后端 :8000


📱 移动端与进阶功能

  • PWA 支持:在移动端浏览器中访问部署地址,可以“添加到主屏幕”,获得类似原生 App 的使用体验。
  • 价格提醒:在 提醒 页面,您可以创建基于价格、涨跌幅、量比等条件的组合提醒规则,支持 AND/OR 逻辑,并灵活设置生效时段、冷却时间和通知渠道。
  • 模拟盘与绩效:在 机会 页可查看 AI 评分选股;模拟盘 功能可以记录和追踪您的投资组合表现。
  • OTel 可观测性(可选):通过设置环境变量 OTEL_EXPORTER_OTLP_ENDPOINT 并安装可选依赖 requirements-otel.txt,可以将 AI Agent 运行轨迹导出到 Jaeger、Langfuse 等 APM 工具进行深度监控。

🔧 常见问题与排障

  • 容器启动后无法访问 Web 界面?

    • 检查主机的防火墙是否放行了 8000 端口。
    • 查看容器日志:docker logs panwatch,看是否有错误信息,特别是 Chromium 下载是否成功。
  • AI 分析无法运行或很慢?

    • 确认 设置 → AI 服务商 中的 API Key 有效,且账户余额充足。
    • 检查网络是否能正常访问所配置的 API 端点。如果在中国大陆,可能需要配置 HTTP_PROXY 环境变量。
  • 收不到通知消息?

    • 检查 设置 → 通知渠道 中的配置是否正确(如 Bot Token、Webhook URL)。
    • 确认对应股票的 Agent 开关已开启。
  • 如何更新到最新版本?

    1
    2
    3
    docker pull sunxiao0721/panwatch:latest
    docker stop panwatch && docker rm panwatch
    # 然后重新运行之前的 docker run 或 docker-compose up -d 命令

通过以上步骤,您就拥有了一套功能强大、数据私有的个人 AI 盯盘系统。如需更详细的配置说明,可以查阅项目 GitHub 仓库 的文档或加入用户交流群 (Telegram: t.me/panwatch)。