7.2 KiB
Frequently Asked Questions (FAQ)
This document compiles common issues encountered by users and their solutions.
Data Related
Q1: US stock codes (e.g., AMD, AAPL) show incorrect prices during analysis?
Symptom: After entering US stock codes, displayed prices are clearly wrong (e.g., AMD showing 7.33 yuan), or being misidentified as A-shares.
Cause: Earlier version code matching logic prioritized A-share rules, causing code conflicts.
Solution:
- Fixed in v2.3.0, system now supports automatic US stock code recognition
- If issues persist, set in
.env:
This prioritizes Yahoo Finance data source for US stock dataYFINANCE_PRIORITY=0
Related Issue: #153
Q2: "Volume Ratio" field shows empty or N/A in reports?
Symptom: Volume ratio data missing in analysis reports, affecting AI's judgment on volume changes.
Cause: Some default real-time quote sources (e.g., Sina interface) don't provide volume ratio field.
Solution:
- Fixed in v2.3.0, Tencent interface now supports volume ratio parsing
- Recommended real-time quote source priority:
REALTIME_SOURCE_PRIORITY=tencent,akshare_sina,efinance,akshare_em - System has built-in 5-day average volume calculation as fallback
Related Issue: #155
Q3: Tushare data fetch failed, showing Token error?
Symptom: Log shows Tushare data fetch failed: Your token is incorrect, please verify
Solution:
- No Tushare account: No need to configure
TUSHARE_TOKEN, system will automatically use free data sources (AkShare, Efinance) - Have Tushare account: Verify Token is correct, check in Tushare Pro personal center
- All core features of this project work normally without Tushare
Q4: Data fetch rate-limited or returning empty?
Symptom: Log shows Circuit breaker triggered or data returns None
Cause: Free data sources (Eastmoney, Sina, etc.) have anti-scraping mechanisms, high-frequency requests get rate-limited.
Solution:
- System has built-in multi-source auto-switching and circuit breaker protection
- Reduce watchlist size, or increase request intervals
- Avoid frequently manually triggering analysis
Configuration Related
Q5: GitHub Actions run failed, showing environment variable not found?
Symptom: Actions log shows GEMINI_API_KEY or STOCK_LIST undefined
Cause: GitHub distinguishes Secrets (encrypted) and Variables (regular variables), wrong configuration location causes read failure.
Solution:
- Go to repo
Settings→Secrets and variables→Actions - Secrets (click
New repository secret): Store sensitive informationGEMINI_API_KEYOPENAI_API_KEYTELEGRAM_BOT_TOKEN- Various Webhook URLs
- Variables (click
Variablestab): Store non-sensitive configurationSTOCK_LISTGEMINI_MODELREPORT_TYPE
Q6: Configuration not taking effect after modifying .env file?
Solution:
- Ensure
.envfile is in project root directory - Docker deployment: Restart container after modification
docker-compose down && docker-compose up -d - GitHub Actions:
.envfile doesn't work, must configure in Secrets/Variables - Check if there are multiple
.envfiles (e.g.,.env.local) causing override
Q7: How to configure proxy to access Gemini/OpenAI API?
Solution:
Configure in .env:
USE_PROXY=true
PROXY_HOST=127.0.0.1
PROXY_PORT=10809
Note: Proxy configuration only works for local runs, GitHub Actions environment doesn't need proxy.
Push Notification Related
Q8: Bot push failed, showing message too long?
Symptom: Analysis succeeded but no notification received, log shows 400 error or Message too long
Cause: Different platforms have different message length limits:
- WeChat Work: 4KB
- Feishu: 20KB
- DingTalk: 20KB
Solution:
- Auto-chunking: Latest version implements automatic long message splitting
- Single stock push mode: Set
SINGLE_STOCK_NOTIFY=true, push immediately after each stock analysis - Brief report: Set
REPORT_TYPE=simplefor simplified format
Q9: Not receiving Telegram push messages?
Solution:
- Confirm both
TELEGRAM_BOT_TOKENandTELEGRAM_CHAT_IDare configured - How to get Chat ID:
- Send any message to the Bot
- Visit
https://api.telegram.org/bot<TOKEN>/getUpdates - Find
chat.idin the returned JSON
- Ensure Bot has been added to target group (if group chat)
- When running locally, need to be able to access Telegram API (may need proxy)
Q10: WeChat Work Markdown format not displaying correctly?
Solution:
- WeChat Work has limited Markdown support, try setting:
WECHAT_MSG_TYPE=text - This will send plain text format messages
AI Model Related
Q11: Gemini API returns 429 error (too many requests)?
Symptom: Log shows Resource has been exhausted or 429 Too Many Requests
Solution:
- Gemini free tier has rate limits (about 15 RPM)
- Reduce number of stocks analyzed simultaneously
- Increase request delay:
GEMINI_REQUEST_DELAY=5 ANALYSIS_DELAY=10 - Or switch to OpenAI-compatible API as backup
Q12: How to use DeepSeek and other Chinese models?
Configuration method:
# No need to configure GEMINI_API_KEY
OPENAI_API_KEY=sk-xxxxxxxx
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_MODEL=deepseek-chat
Supported model services:
- DeepSeek:
https://api.deepseek.com/v1 - Qwen (Tongyi Qianwen):
https://dashscope.aliyuncs.com/compatible-mode/v1 - Moonshot:
https://api.moonshot.cn/v1
Docker Related
Q13: Docker container exits immediately after starting?
Solution:
- View container logs:
docker logs <container_id> - Common causes:
- Environment variables not correctly configured
.envfile format error (e.g., extra spaces)- Dependency package version conflicts
Q14: API service inaccessible in Docker?
Solution:
- Ensure startup command includes
--host 0.0.0.0(cannot be 127.0.0.1) - Check port mapping is correct:
ports: - "8000:8000"
Other Issues
Q15: How to run only market review, without stock analysis?
Method:
# Local run
python main.py --market-only
# GitHub Actions
# Select mode: market-only when manually triggering
Q16: Buy/Hold/Sell counts in analysis results are incorrect?
Cause: Earlier versions used regex matching for statistics, may not match actual recommendations.
Solution: Fixed in latest version, AI model now directly outputs decision_type field for accurate statistics.
Still Have Questions?
If the above content doesn't solve your issue, welcome to:
- Check Complete Configuration Guide
- Search or submit GitHub Issue
- Check Changelog for latest fixes
Last updated: 2026-02-01