🧭 Decision Guide
Why trending now: Cannot be determined from the provided material.
Try it if you
-
You need to monitor A-share, Hong Kong, and US stocks while keeping portfolio data in a self-hosted environment.The README section “为什么选择盯盘侠?” says portfolio data does not pass through third parties in self-hosted deployment; “多市场 & 多账户” lists A-share, Hong Kong, and US markets.
-
You want to invoke the TradingAgents 9-Agent workflow from a portfolio page instead of only viewing MA and MACD indicators.The README section “深度分析:TradingAgents 多 Agent 决策” describes four analyst types, bull-bear debate, risk review, and PM integration.
-
You need a reasoning chain generated in 3-5 minutes and pushed to Telegram, WeChat, or DingTalk.The README says “3-5分钟输出完整推理链” and lists Telegram / WeChat / DingTalk in “深度分析”.
-
You can run Docker and accept the default deepseek-chat cost of about $0.05 per analysis.The README “快速开始” provides a Docker command; “深度分析” specifies deepseek-chat by default at about $0.05 per run.
Skip it if you
-
You require the README to guarantee market-data sources, latency, or data accuracy.The README lists real-time A-share, Hong Kong, and US quotes but does not specify data sources, latency, or accuracy.
-
You cannot allow Chromium to be downloaded over the network on first startup and cannot disable Playwright browser installation.The README says Chromium is downloaded on first startup and may take minutes; PLAYWRIGHT_SKIP_BROWSER_INSTALL=1 is only suggested when screenshot and other browser capabilities are unnecessary.
-
You only accept local models and do not want to configure a compatible API under “设置 → AI服务商”.The README “首次配置” requires an OpenAI-compatible API and lists OpenAI, Zhipu, DeepSeek, and Ollama.
-
You need automatic buy and sell execution rather than monitoring, analysis, alerts, and portfolio management.The README describes monitoring, portfolio management, analysis, price alerts, and notifications, but does not mention automatic order execution.
Requirements
- Docker; the README “快速开始” provides the sunxiao0721/panwatch:latest image.
- Initial setup requires an OpenAI-compatible API, including OpenAI / Zhipu / DeepSeek / Ollama.
- For notifications, add Telegram or another channel under “设置 → 通知渠道”.
- Local development requires Python 3.10+ / Node.js 18+ / pnpm.
- To enable OTel, install requirements-otel.txt and set OTEL_EXPORTER_OTLP_ENDPOINT.
First step (verbatim from README)
docker run -d \
--name panwatch \
-p 8000:8000 \
-v panwatch_data:/app/data \
sunxiao0721/panwatch:latest
Watch out
-
The first container startup installs Chromium into /app/data/playwright, so the mounted volume must be writable and network-accessible.The README “快速开始” says Chromium is installed under the default /app/data/playwright and that first startup may take minutes and require network access.
-
Skipping Chromium disables screenshot and other browser capabilities and requires PLAYWRIGHT_SKIP_BROWSER_INSTALL=1.The README “快速开始” explicitly limits this variable to cases that do not need screenshot or other browser capabilities.
-
The local frontend listens on 5183 instead of Vite's default 5173 and proxies API requests to 127.0.0.1:8000.The README “本地开发” specifies http://localhost:5183 and the proxy target 127.0.0.1:8000.
-
OTel is disabled by default and only exports traces after the optional dependencies are installed and OTEL_EXPORTER_OTLP_ENDPOINT is configured.The README sections “OTel导出(可选,默认关闭)” and “开启三步” specify these dependency and endpoint requirements.
Not stated in the README
- The README does not name the specific market-data providers, API limits, or latency metrics for A-share, Hong Kong, and US markets.
- The README does not state limits for concurrent Agent runs or the number of accounts or stocks supported by one instance.
- The README does not describe TradingAgents 9-Agent quality differences across model providers.
- The README does not describe failure retries, rate limits, or message retention for Telegram, WeChat, DingTalk, and other notification channels.
- The README does not describe security details beyond authentication, such as CSRF protection, brute-force protection, or secret encryption.
- The README does not specify Docker resource requirements or minimum CPU, memory, and disk capacity.
- The README does not state whether automatic orders, broker trading APIs, or backtesting are supported.
💡 Deep Analysis
6
No
I need millisecond-level signal response for A-shares, Hong Kong stocks, and U.S. stocks, automatic broker orders, and synchronization of executions, cash, fees, and margin data. Can PanWatch serve as a live trading system?
No, because the README positions the project as a monitoring, analysis, alerting, and paper-trading tool rather than a high-frequency or automated live-trading system.
- Its main flow is market monitoring, holdings management, AI analysis, and IM delivery; one complete deep-analysis chain takes 3–5 minutes, which is incompatible with millisecond response requirements.
- The README provides “paper trading, equity curve, and performance,” but the project insights clarify that this does not imply live order execution, slippage handling, or full compliance capabilities.
- The multi-account feature emphasizes separate management and consolidated display; it does not promise synchronization of all broker executions, cash, fees, margin, or corporate actions.
- Rules can combine price, percentage change, turnover, and volume-ratio conditions, but an alert is not an order route, risk check, or execution report. The README provides no broker-order API or execution module.
- Feature Overview: “paper trading · equity curve + performance”
- Deep Analysis: “3–5 minutes for a complete reasoning chain”
- Multi-Market & Multi-Account: “supports separate management of multiple brokerage accounts and consolidated assets”
- Project Insights, usage_limitations: “should not be regarded as a high-frequency or automated live-trading system”
Yes
I maintain a Python 3.10+ FastAPI backend and want to send TradingAgents agent runs, LLM calls, and node progress to Jaeger or Langfuse. Does PanWatch provide sufficient tracing?
Yes, because the project records agent runs and cost natively and can optionally export OpenTelemetry traces; however, external APM is disabled by default and requires extra dependencies.
- The README describes built-in structured logs,
trace_id, theagent_runstable, TradingAgents node-level progress, and cost records, so application-level visibility works without external components. - Optional OTel maps an agent run to a root span, each LLM call to a
gen_aichild span, and TradingAgents nodes to child spans. - Jaeger, Tempo, and Langfuse OTLP endpoints are explicitly supported. OTel is off by default and has no effect when no endpoint is configured.
- You must install
requirements-otel.txtand setOTEL_EXPORTER_OTLP_ENDPOINT. The README does not define sampling, retention, prompt redaction, or exporter-failure behavior under high concurrency.
- OTel Export: “structured logs with trace_id / agent_runs table / TradingAgents node-level progress and cost”
- OTel Export: “one agent run → root span” and “one LLM call → gen_ai child span”
- OTel Export: “disabled by default” and optional dependency `requirements-otel.txt`
pip install -r requirements-otel.txt
Yes
I manage A-share, Hong Kong-stock, and U.S.-stock holdings, want to deploy with Docker, and do not want my holdings to pass through a third-party platform. Is PanWatch suitable?
Yes, provided that you are willing to maintain the container, persistent volume, and access security yourself.
- The README describes PanWatch as a “self-hosted AI monitoring assistant” and explicitly states: “Data private — self-hosted deployment, holdings data does not pass through any third party.”
- It covers real-time monitoring for A-shares, Hong Kong stocks, and U.S. stocks, and supports separate management of multiple brokerage accounts with consolidated assets.
- The Docker command mounts
panwatch_dataat/app/data; configuration, holdings, and runtime data depend on this persistent volume, so exposing only the port is insufficient. - Self-hosting is not automatic security: you remain responsible for JWT secrets, passwords, exposed ports, and API keys. The README does not define complete backup, rollback, HTTPS, or brokerage synchronization capabilities.
- Why PanWatch: “Data private — self-hosted deployment, holdings data does not pass through any third party”
- Core Features: “A-share, Hong Kong-stock, and U.S.-stock real-time quotes” and “supports separate management of multiple brokerage accounts”
- Quick Start: `-v panwatch_data:/app/data`
docker run -d \
--name panwatch \
-p 8000:8000 \
-v panwatch_data:/app/data \
sunxiao0721/panwatch:latest
Yes
I want to modify the FastAPI backend and React 18/TypeScript frontend locally, using the project's specified Node.js 18+, pnpm, and ports 8000/5183. Is PanWatch's development setup suitable?
Yes, because the README defines a split local setup and port convention for developing the API and web interface together.
- The requirements are Python 3.10+, Node.js 18+, and pnpm. The backend uses FastAPI, SQLAlchemy, APScheduler, and the OpenAI SDK; the frontend uses React 18, TypeScript, Tailwind CSS, and shadcn/ui.
- The recommended
make dev-apicreates the virtual environment, installs dependencies, and listens on port 8000;make dev-webrunspnpm installand listens on port 5183. - The frontend dev server proxies
/apito127.0.0.1:8000, so local integration does not require manually composing API URLs. - The README does not provide test coverage, frontend component-test, database-migration, or CI contribution requirements; those constraints need separate confirmation for larger changes.
- Local Development: “Python 3.10+ / Node.js 18+ / pnpm”
- Local Development: `make dev-api` and `make dev-web`
- Local Development: “the frontend dev server runs at http://localhost:5183 and proxies /api to 127.0.0.1:8000”
- Tech Stack: FastAPI backend and React 18 / TypeScript frontend
make dev-api
Yes
I mainly trade A-shares and Hong Kong stocks on a short- to medium-term basis, cannot watch the market all day, and want Telegram or WeCom alerts triggered by RSI, KDJ, MACD confluence and price conditions. Does this project fit my workflow?
Yes, especially as a monitoring and alerting layer rather than a sub-second trading execution system.
- The project covers A-shares and Hong Kong stocks and provides pre-market analysis, intraday monitoring, post-market reports, and news digests, matching your inability to watch markets continuously.
- Its indicators include RSI, KDJ, MACD, MA, Bollinger Bands, volume ratio, and price-volume relationships; intraday monitoring explicitly supports RSI/KDJ/MACD confluence alerts.
- Price alerts support AND/OR combinations of price, percentage change, turnover, and volume ratio, plus trading hours, cooldowns, daily limits, and expiration times to control noise.
- Telegram, WeCom, DingTalk, Feishu, Bark, and custom Webhooks are listed. However, multi-agent analysis takes 3–5 minutes, and market data and delivery depend on networks and third-party services, so it is unsuitable for second-level strategies.
- Core Features: “Intraday monitoring,” “real-time during trading hours,” and alerts when “RSI/KDJ/MACD confluence” occurs
- Price Alerts: combined price, percentage-change, turnover, and volume-ratio conditions, with cooldown and daily trigger limits
- All-Channel Notifications: Telegram / WeCom / DingTalk / Feishu / Bark / custom Webhook
- Deep Analysis: “3–5 minutes for a complete reasoning chain”
Yes
I need to switch among the default DeepSeek model, OpenAI-compatible services, and local Ollama, while tracking the cost of each 3–5 minute multi-agent analysis. Can PanWatch meet this requirement?
Yes, because the project combines OpenAI-compatible endpoints, a multi-agent workflow, and cost observability, although model quality and actual spending depend on your configuration.
- The initial setup supports OpenAI, Zhipu, DeepSeek, Ollama, and other OpenAI-compatible APIs; the default model is
deepseek-chat. - The workflow includes technical, sentiment, news, and fundamentals analysts, followed by bullish/bearish debate, risk review, and PM integration. One complete reasoning chain takes about 3–5 minutes.
- The README estimates a single run at about
$0.05and describestrace_id, agent-run records, node-level progress, and cost tracking. - However, it does not specify minimum hardware for Ollama, a model compatibility matrix, or current provider pricing, so local quality and monthly cost cannot be inferred from the README alone.
- Initial Configuration: “supports OpenAI / Zhipu / DeepSeek / Ollama”
- Deep Analysis: “default deepseek-chat, approximately $0.05 per run”
- Deep Analysis and OTel Export: “3–5 minutes for a complete reasoning chain” and node-level progress and cost tracking
✨ Highlights
-
TradingAgents 9-Agent team completes the research chain
-
Produces a full reasoning chain and pushes it in 3-5 minutes
-
Docker deployment with basic setup in 5 minutes
-
Covers real-time A-share, Hong Kong, and US markets
-
Uses deepseek-chat by default at about $0.05 per run
🔧 Engineering
-
The portfolio page triggers four analyst types, debate, risk review, and PM decisions
-
The FastAPI backend manages multiple accounts, Agent scheduling, and market analysis
-
Results can be sent through Telegram, WeChat, DingTalk, and other channels
-
The Docker image includes dependencies required by Playwright
⚠️ Risks
-
The first startup downloads Chromium, may take minutes, and requires network access
-
AI analysis defaults to deepseek-chat and costs about $0.05 per run
-
The README does not specify market-data sources or real-time guarantees
-
Enabling OTel requires installing requirements-otel.txt separately
👥 For who?
-
Individual investors needing self-hosted A-share, Hong Kong, and US market monitoring
-
Developers using Docker who want to integrate TradingAgents
-
Teams needing alerts through Telegram, WeCom, or DingTalk
-
Contributors working with local FastAPI and React 18 development environments