## 项目概述

**daily_stock_analysis** 是一个基于 AI 大模型的股票智能分析系统，由 ZhuLinsen 开发，采用 MIT 许可证。项目支持 A股、港股、美股、日股、韩股、台股等多个市场的自选股分析，能够每日自动生成决策仪表盘，并通过企业微信、飞书、Telegram、Discord、Slack、邮件等渠道推送。系统提供 Web/桌面工作台、Agent 策略问股、智能导入与补全、自动化与推送等功能，支持 GitHub Actions、Docker、本地定时任务等多种部署方式，可实现零成本定时运行。

## 核心功能

- **AI 决策报告**：生成核心结论、评分、趋势、买卖点位、风险警报、催化因素和操作检查清单。
- **多市场数据聚合**：覆盖 A股、港股、美股、日股、韩股、台股和 ETF，支持行情、K 线、技术指标、新闻、公告、基本面与报告辅助数据。
- **Web / 桌面工作台**：提供手动分析、任务进度、历史报告、完整 Markdown、回测、持仓、配置管理、浅色/深色主题。
- **Agent 策略问股**：支持多轮追问，内置均线、缠论、波浪、趋势、热点、事件、成长、预期等 15 种策略，覆盖 Web/Bot/API。
- **智能导入与补全**：支持图片、CSV/Excel、剪贴板导入；股票代码/名称/拼音/别名补全。
- **自动化与推送**：支持 GitHub Actions、Docker、本地定时任务、FastAPI 服务，以及企业微信/飞书/Telegram/Discord/Slack/邮件推送。

## 适用与不适用场景

**适用场景：**

- 个人投资者需要每日跟踪自选股并获取 AI 辅助分析报告。
- 希望利用 GitHub Actions 免费定时运行，无需自建服务器。
- 需要多市场（A股、港股、美股等）统一分析入口。
- 希望通过 IM 机器人（企业微信、飞书、Telegram 等）接收分析推送。

**不适用场景：**

- 需要实时高频交易信号或分钟级数据（系统主要面向日线级别分析）。
- 需要保证数据源绝对稳定（免费数据源可能受限流、接口变动影响）。
- 需要作为投资建议或自动交易执行工具（项目明确声明仅供学习研究，不构成投资建议）。
- 需要完全离线运行（AI 模型和部分数据源依赖外部服务）。

## 技术架构与依赖

- **编程语言**：Python 3.10+。
- **AI 模型**：通过 LiteLLM 集成，支持 Anspire、AIHubMix、Gemini、OpenAI 兼容、DeepSeek、通义千问、Claude、Ollama 本地模型等。
- **行情数据源**：TickFlow、AkShare、Tushare、Pytdx、Baostock、YFinance、Longbridge。
- **新闻搜索**：Anspire、SerpAPI、Tavily、Bocha、Brave、MiniMax、SearXNG。
- **社交舆情**：Stock Sentiment API（Reddit / X / Polymarket，仅美股，可选）。
- **Web 前端**：基于 Node.js 构建（apps/dsa-web），使用 npm 管理。
- **桌面端**：Electron（apps/dsa-desktop）。
- **部署**：支持 GitHub Actions、Docker、systemd、Supervisor。

## 安装与快速开始

### 方式一：GitHub Actions（推荐）

1. Fork 本仓库。
2. 在仓库 Settings → Secrets and variables → Actions 中配置 Secrets：
   - AI 模型（至少一个）：`ANSPIRE_API_KEYS`、`AIHUBMIX_KEY`、`GEMINI_API_KEY`、`ANTHROPIC_API_KEY`、`OPENAI_API_KEY` 等。
   - 通知渠道（至少一个）：`WECHAT_WEBHOOK_URL`、`FEISHU_WEBHOOK_URL`、`TELEGRAM_BOT_TOKEN` 等。
   - 自选股（必填）：`STOCK_LIST`，如 `600519,hk00700,AAPL`。
   - 新闻源（推荐）：`ANSPIRE_API_KEYS`、`SERPAPI_API_KEYS` 等。
3. 启用 Actions，手动触发或等待定时执行（默认工作日 18:00 北京时间）。

### 方式二：本地运行 / Docker 部署

```bash
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git && cd daily_stock_analysis
pip install -r requirements.txt
cp .env.example .env && vim .env
python main.py
```

常用命令：

```bash
python main.py --debug
python main.py --dry-run
python main.py --stocks 600519,hk00700,AAPL,2330.TW
python main.py --market-review
python main.py --schedule
python main.py --serve-only
```

## 典型使用方法

1. **配置 AI 模型**：在 `.env` 或 Web 设置页中配置至少一个模型服务商（如 Anspire、AIHubMix、Gemini 等）。
2. **配置自选股**：设置 `STOCK_LIST` 环境变量，如 `600519,hk00700,AAPL`。
3. **运行分析**：执行 `python main.py` 或通过 GitHub Actions 手动触发。
4. **查看报告**：通过 Web 工作台（`python main.py --webui`，访问 `http://127.0.0.1:8000`）查看历史报告和完整 Markdown。
5. **Agent 问股**：在 Web `/chat` 页面使用策略问股，支持多轮追问。
6. **接收推送**：配置通知渠道后，每日分析结果会自动推送到企业微信、飞书、Telegram 等。

## 配置与部署要点

- **LLM 配置**：支持三层优先级：YAML 高级配置（`LITELLM_CONFIG`）> 渠道模式（`LLM_CHANNELS`）> 极简单模型（legacy keys）。
- **数据源配置**：默认使用 AkShare、Baostock、YFinance 等免费源，可零配置运行；如需更稳定可配置 Tushare、TickFlow、Longbridge 等。
- **通知渠道**：支持企业微信、飞书、Telegram、Discord、Slack、邮件等，至少配置一个。
- **定时任务**：默认工作日 18:00（北京时间）执行，可通过 `SCHEDULE_TIME` 等配置调整。
- **Docker 部署**：推荐使用 Docker Compose，注意数据持久化（`./data`、`./logs`、`./reports`）。
- **GitHub Actions**：注意 Secrets 与 Variables 的区别，密钥字段放在 Secrets 中。

## 限制、风险与许可证

- **许可证**：MIT License，© 2026 ZhuLinsen。
- **免责声明**：项目仅供学习和研究使用，不构成任何投资建议。股市有风险，投资需谨慎。作者不对使用本项目产生的任何损失负责。
- **数据源风险**：免费数据源可能受上游限流、接口变动和网络波动影响，稳定性不保证。
- **AI 模型风险**：AI 生成的分析结果可能不准确，需自行判断。
- **安全边界**：项目文档强调不记录 API key、token、webhook URL 等敏感信息，但用户需自行管理密钥。

## 官方链接

- GitHub 仓库：https://github.com/ZhuLinsen/daily_stock_analysis
- 最新 Release：https://github.com/ZhuLinsen/daily_stock_analysis/releases/tag/v3.30.0
- Docker Hub：https://hub.docker.com/r/zhulinsen/daily_stock_analysis
- 相关项目：AlphaSift（https://github.com/ZhuLinsen/alphasift）、AlphaEvo（https://github.com/ZhuLinsen/alphaevo）

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、docs/ 目录下的文档（包括完整指南、部署指南、FAQ、LLM 配置指南等）、最新 Release 信息。
- 分析时间：2026-08-09（基于最新 Release 发布时间）。