docs: clarify data source configuration (#1935)

This commit is contained in:
zhulinsen
2026-07-05 20:57:42 +08:00
committed by GitHub
parent 36f03c06e2
commit 267c2139ae
8 changed files with 20 additions and 9 deletions

View File

@@ -254,6 +254,12 @@ jobs:
# 数据源
# ==========================================
TUSHARE_TOKEN: ${{ secrets.TUSHARE_TOKEN }}
# TickFlowA 股日 K、实时行情、股票列表/名称与大盘复盘增强;不设则走免费源 fallback
TICKFLOW_API_KEY: ${{ secrets.TICKFLOW_API_KEY }}
TICKFLOW_PRIORITY: ${{ vars.TICKFLOW_PRIORITY || secrets.TICKFLOW_PRIORITY }}
TICKFLOW_KLINE_ADJUST: ${{ vars.TICKFLOW_KLINE_ADJUST || secrets.TICKFLOW_KLINE_ADJUST }}
TICKFLOW_BATCH_DAILY_ENABLED: ${{ vars.TICKFLOW_BATCH_DAILY_ENABLED || secrets.TICKFLOW_BATCH_DAILY_ENABLED }}
TICKFLOW_BATCH_SIZE: ${{ vars.TICKFLOW_BATCH_SIZE || secrets.TICKFLOW_BATCH_SIZE }}
# Longbridge OpenAPI美股/港股实时行情字段补充;不设则仅 YFinance/AkShare无 [Longbridge] 调用)
LONGBRIDGE_OAUTH_CLIENT_ID: ${{ vars.LONGBRIDGE_OAUTH_CLIENT_ID || secrets.LONGBRIDGE_OAUTH_CLIENT_ID }}
LONGBRIDGE_OAUTH_TOKEN_CACHE_B64: ${{ secrets.LONGBRIDGE_OAUTH_TOKEN_CACHE_B64 }}
@@ -395,8 +401,8 @@ jobs:
# 筹码分布:默认 false云端接口不稳定需启用时在 Settings → Variables 添加 ENABLE_CHIP_DISTRIBUTION=true
ENABLE_CHIP_DISTRIBUTION: ${{ vars.ENABLE_CHIP_DISTRIBUTION || secrets.ENABLE_CHIP_DISTRIBUTION || 'false' }}
# 实时行情数据源优先级(腾讯有量比且稳定,推荐首选)
# 可选值: tencent, akshare_sina, efinance, akshare_em, tushare
# 如果有 Tushare Pro 高积分账号,可将 tushare 放在首位
# 可选值: tencent, akshare_sina, efinance, akshare_em, tickflow, tushare
# 如果有 TickFlow 或 Tushare Pro可按权限把 tickflow / tushare 放在更靠前位置
REALTIME_SOURCE_PRIORITY: ${{ vars.REALTIME_SOURCE_PRIORITY || 'tencent,akshare_sina,efinance,akshare_em' }}
run: |
@@ -449,6 +455,7 @@ jobs:
echo ""
echo "【数据源】"
echo " Tushare Token: $([ -n "$TUSHARE_TOKEN" ] && echo '✅ 已配置' || echo '⚪ 未配置')"
echo " TickFlow: $([ -n "$TICKFLOW_API_KEY" ] && echo '✅ 已配置' || echo '⚪ 未配置')"
if [ -n "$LONGBRIDGE_APP_KEY" ] && [ -n "$LONGBRIDGE_APP_SECRET" ] && [ -n "$LONGBRIDGE_ACCESS_TOKEN" ]; then
echo " Longbridge: ✅ 已配置Legacy API Key"
elif [ -n "$LONGBRIDGE_OAUTH_CLIENT_ID" ] || { [ -n "$LONGBRIDGE_APP_KEY" ] && [ -z "$LONGBRIDGE_ACCESS_TOKEN" ]; }; then

View File

@@ -58,7 +58,7 @@
| 新闻搜索 | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC)、[SerpAPI](https://serpapi.com/baidu-search-api?utm_source=github_daily_stock_analysis)、[Tavily](https://tavily.com/)、[Bocha](https://open.bocha.cn/)、[Brave](https://brave.com/search/api/)、[MiniMax](https://platform.minimaxi.com/)、SearXNG |
| 社交舆情 | [Stock Sentiment API](https://api.adanos.org/docs)Reddit / X / Polymarket仅美股可选 |
> 完整规则见 [数据源配置](docs/full-guide.md#数据源配置)。
> 项目默认内置 AkShare、Baostock、YFinance 等免费行情源,可零配置运行;免费源受上游限流、接口变动和网络波动影响,稳定性不保证。长期定时、批量分析或更稳定行情建议配置 TickFlow、Tushare、Longbridge 等 token 型数据源适用市场、Actions 映射和 fallback 规则见 [数据源配置](docs/full-guide.md#数据源配置)。
## 🚀 快速开始

View File

@@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
> For user-friendly release highlights, see the [GitHub Releases](https://github.com/ZhuLinsen/daily_stock_analysis/releases) page.
## [Unreleased]
- [改进] GitHub Actions 每日分析工作流补齐 TickFlow 数据源环境变量映射,并收敛 README 数据源稳定性说明到完整指南。
- [修复] WebUI 启动时显式 `--host` / `--port` 不再被 `.env` 中的 `WEBUI_HOST` / `WEBUI_PORT` 覆盖,未传 CLI 参数时统一使用解析后的运行时配置。
- [改进] GitHub Actions: 每日分析工作流(`00-daily-analysis.yml`)新增钉钉通知环境变量映射,支持在云端定时任务中直接使用钉钉机器人。
- [修复] Web 持仓页首屏快照改用 `include_realtime=false` 快速估值,跳过逐票实时行情预取后先展示持仓列表,避免外部实时行情源变慢时长时间空白等待。

View File

@@ -60,7 +60,7 @@
| 新聞搜尋 | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC)、[SerpAPI](https://serpapi.com/baidu-search-api?utm_source=github_daily_stock_analysis)、[Tavily](https://tavily.com/)、[Bocha](https://open.bocha.cn/)、[Brave](https://brave.com/search/api/)、[MiniMax](https://platform.minimaxi.com/)、SearXNG |
| 社交輿情 | [Stock Sentiment API](https://api.adanos.org/docs)Reddit / X / Polymarket僅美股可選 |
> 完整規則見 [數據源配置](./full-guide.md#数据源配置)。
> 專案預設內建 AkShare、Baostock、YFinance 等免費行情源,可零配置執行;免費源受上游限流、介面變動和網路波動影響,穩定性不保證。長期定時、批量分析或更穩定行情建議配置 TickFlow、Tushare、Longbridge 等 token 型數據源適用市場、Actions 映射和 fallback 規則見 [數據源配置](./full-guide.md#数据源配置)。
## 🚀 快速開始

View File

@@ -60,7 +60,7 @@ English | [简体中文](../README.md) | [繁體中文](README_CHT.md)
| News Search | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC), [SerpAPI](https://serpapi.com/baidu-search-api?utm_source=github_daily_stock_analysis), [Tavily](https://tavily.com/), [Bocha](https://open.bocha.cn/), [Brave](https://brave.com/search/api/), [MiniMax](https://platform.minimaxi.com/), SearXNG |
| Social Sentiment | [Stock Sentiment API](https://api.adanos.org/docs) for Reddit / X / Polymarket, US stocks only |
> Full behavior is documented in [Data Source Configuration](./full-guide_EN.md#data-source-configuration).
> The project includes free market-data sources such as AkShare, Baostock, and YFinance and can run without extra data-source credentials. These free sources can be rate-limited, change upstream contracts, or fluctuate by network condition, so stability is not guaranteed. For scheduled runs, batch analysis, or steadier quotes, configure token-based sources such as TickFlow, Tushare, or Longbridge; market coverage, Actions mappings, and fallback rules are documented in [Data Source Configuration](./full-guide_EN.md#data-source-configuration).
## 🚀 Quick Start

View File

@@ -130,13 +130,13 @@ ENABLE_EASTMONEY_PATCH=true
### A 股稳定模式
适合经常跑选股、批量分析或对外服务。Tushare 用于增强 A 股稳定性TickFlow 用于增强 A 股大盘复盘;免费源继续作为兜底。
适合经常跑选股、批量分析或对外服务。Tushare 用于增强 A 股日线与快照稳定性TickFlow 增强 A 股日 K、实时行情和大盘复盘实时行情需显式加入 `REALTIME_SOURCE_PRIORITY`;免费源继续作为兜底。
```env
TUSHARE_TOKEN=your_tushare_token
TICKFLOW_API_KEY=your_tickflow_key
REALTIME_SOURCE_PRIORITY=tushare,tencent,akshare_sina,efinance,akshare_em
REALTIME_SOURCE_PRIORITY=tickflow,tushare,tencent,akshare_sina,efinance,akshare_em
SNAPSHOT_SOURCE_PRIORITY=tushare,sina,efinance,akshare_em,em_datacenter
# AlphaSift 选股运行期默认值;显式配置时会保留你的值
@@ -144,7 +144,7 @@ DAILY_FETCH_RETRIES=3
DAILY_FETCH_MAX_WORKERS=1
```
注意TickFlow 当前在 DSA 中是大盘复盘专用窄接口,不参与普通个股日线或实时行情;不要把它当成所有个股行情的通用替代源。
注意TickFlow 能力按套餐权限分层;权限不足或请求失败时会 fail-open 回退到现有免费源,不建议把它当成所有市场行情的唯一来源。
### 港股 / 美股稳定模式

View File

@@ -163,6 +163,7 @@ daily_stock_analysis/
| `SEARXNG_BASE_URLS` | SearXNG 自建实例(无配额兜底,需在 settings.yml 启用 format: json留空时默认自动发现公共实例 | 可选 |
| `SEARXNG_PUBLIC_INSTANCES_ENABLED` | 是否在 `SEARXNG_BASE_URLS` 为空时自动从 `searx.space` 获取公共实例(默认 `true` | 可选 |
| `TUSHARE_TOKEN` | [Tushare Pro](https://tushare.pro/weborder/#/login?reg=834638 ) Token | 可选 |
| `TICKFLOW_API_KEY` | [TickFlow](https://tickflow.org) API Key可选用于 A 股日 K、实时行情、股票列表/名称与大盘复盘增强;失败或权限不足时自动回退。 | 可选 |
| `LONGBRIDGE_OAUTH_CLIENT_ID` | [Longbridge OpenAPI](https://open.longbridge.com/) OAuth client_id留空且无 Legacy Access Token 时会兼容使用 `LONGBRIDGE_APP_KEY` | 可选 |
| `LONGBRIDGE_OAUTH_TOKEN_CACHE_B64` | OAuth token 缓存文件的 base64 内容,供 GitHub Actions / Docker 等 headless 环境恢复 SDK token 缓存 | 可选 |
| `LONGBRIDGE_APP_KEY` | Longbridge Legacy App Key`LONGBRIDGE_ACCESS_TOKEN` 时也可作为 OAuth client_id 兼容别名 | 可选 |
@@ -179,7 +180,7 @@ daily_stock_analysis/
| `LONGBRIDGE_PRINT_QUOTE_PACKAGES` | 连接时是否打印行情包(未设置时默认 `false`;设为 `1`/`true`/`yes` 开启) | 可选 |
| `ENABLE_CHIP_DISTRIBUTION` | 启用筹码分布Actions 默认 false需筹码数据时在 Variables 中设为 true接口可能不稳定 | 可选 |
> **GitHub Actions** 仓库自带 `00-daily-analysis.yml` 已把上表中的 `LONGBRIDGE_*` 映射到任务环境。OAuth 方式需要一个 client_id优先 `LONGBRIDGE_OAUTH_CLIENT_ID`;留空且无 Legacy Access Token 时使用 `LONGBRIDGE_APP_KEY` 兼容),并把本机 `~/.longbridge/openapi/tokens/<client_id>` 文件 base64 后保存为 Secret `LONGBRIDGE_OAUTH_TOKEN_CACHE_B64`Legacy 方式仍可配置 `LONGBRIDGE_APP_KEY`、`LONGBRIDGE_APP_SECRET`、`LONGBRIDGE_ACCESS_TOKEN`。可选接入点变量(如 `LONGBRIDGE_REGION`)可放在 **Variables** 或 **Secrets**。
> **GitHub Actions** 仓库自带 `00-daily-analysis.yml` 已把 `TUSHARE_TOKEN`、`TICKFLOW_API_KEY` / `TICKFLOW_*` 和上表中的 `LONGBRIDGE_*` 映射到任务环境。TickFlow 的 API Key 建议放在 **Secrets**,优先级、复权和批量开关可放在 **Variables** 或 **Secrets**。Longbridge OAuth 方式需要一个 client_id优先 `LONGBRIDGE_OAUTH_CLIENT_ID`;留空且无 Legacy Access Token 时使用 `LONGBRIDGE_APP_KEY` 兼容),并把本机 `~/.longbridge/openapi/tokens/<client_id>` 文件 base64 后保存为 Secret `LONGBRIDGE_OAUTH_TOKEN_CACHE_B64`Legacy 方式仍可配置 `LONGBRIDGE_APP_KEY`、`LONGBRIDGE_APP_SECRET`、`LONGBRIDGE_ACCESS_TOKEN`。可选接入点变量(如 `LONGBRIDGE_REGION`)可放在 **Variables** 或 **Secrets**。
> **Longbridge 运行时行为:** 未配置凭据时不会实例化 Longbridge 这个可选 fetcher若运行时遇到 `client is closed`、`context closed`、`connection closed` 等连接关闭类异常,会进入冷却期(默认 15 秒,可用 `LONGBRIDGE_CONNECTION_COOLDOWN_SECONDS` 调整),冷却期内美股/港股的实时与日线请求会自动跳过 Longbridge退回 YFinance / AkShare 等兜底链路。

View File

@@ -155,6 +155,8 @@ Go to your forked repo → `Settings` → `Secrets and variables` → `Actions`
| `TUSHARE_TOKEN` | [Tushare Pro](https://tushare.pro/weborder/#/login?reg=834638) Token | Optional |
| `TICKFLOW_API_KEY` | [TickFlow](https://tickflow.org) API key for optional A-share daily K-lines, realtime quotes, stock list/name lookup, and CN market review enhancement; permission or entitlement failures fall back to existing providers | Optional |
> **GitHub Actions:** The bundled `00-daily-analysis.yml` maps `TUSHARE_TOKEN`, `TICKFLOW_API_KEY` / `TICKFLOW_*`, and the documented `LONGBRIDGE_*` variables into the job environment. Store `TICKFLOW_API_KEY` in **Secrets**; non-sensitive TickFlow priority, adjustment, and batch switches can live in **Variables** or **Secrets**. Longbridge OAuth still requires a client id plus `LONGBRIDGE_OAUTH_TOKEN_CACHE_B64` for headless Actions runs, while the legacy `LONGBRIDGE_APP_KEY` / `LONGBRIDGE_APP_SECRET` / `LONGBRIDGE_ACCESS_TOKEN` triplet remains supported.
#### ✅ Minimum Configuration Example
To get started quickly, you need at minimum: