mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 16:44:15 +08:00
- 后端: 数据集→能力映射增广 (daily/adj_factor/minute/financial),
非 tickflow provider 按声明数据集动态 grant; 数据源偏好更新与
删除数据源后刷新 app.state.capabilities 快照; 新增 8 项测试
- 前端: 通用界面去档位词, 缺能力统一「{能力名} · 不可用」徽章
(capability-labels 新增 MissingCapChip, 点击跳设置→数据源);
StatCard/深度配置/分钟同步/历史扩展/财务页等 20+ 文件对齐;
实时模式判定改用 quoteStatus.mode 与 realtime_allowed,
替代前端 tierRank 推断; 监控设置页放开整页拦截
- 档位词仅保留 TickFlow 专属界面 (Key 配置/端点测速/引导页),
docs/configuration.md 档位表加注解说明
116 lines
4.9 KiB
Markdown
116 lines
4.9 KiB
Markdown
# 配置详解
|
|
|
|
所有配置从根目录 `.env` 读取(复制 `.env.example` 开始),也可在面板 **设置** 页面可视化修改。本文件解释每个配置项的作用。
|
|
|
|
部署相关配置(端口/密码/老 CPU 兼容)的实操见 [deployment.md](./deployment.md)。
|
|
|
|
---
|
|
|
|
## 数据源:TickFlow
|
|
|
|
```ini
|
|
TICKFLOW_API_KEY= # 留空 = None 模式(历史日K免费);填 Key = 按订阅档位解锁
|
|
```
|
|
|
|
本项目基于 [TickFlow](https://tickflow.org) 数据源。
|
|
|
|
- **留空(None 模式)**:通过 free-api 使用历史日 K(当日数据盘后 1-2 小时可用),**无需付费**即可体验核心选股/回测功能
|
|
- **填入 API Key**:按你的订阅档位解锁更多能力
|
|
|
|
### 实时行情按档位
|
|
|
|
| 档位 | 实时能力 |
|
|
| :------- | :--------------------------------------- |
|
|
| Free | 自选页前 5 个标的实时监控(最低 6 秒刷新) |
|
|
| Starter+ | 全市场实时行情 |
|
|
| Pro | 分钟 K + 盘口 |
|
|
| Expert | WebSocket + 财务数据 |
|
|
|
|
> 完整能力矩阵见 [tickflow.org/pricing](https://tickflow.org/pricing/),高等档位含较低档全部权益。
|
|
> 在面板 **设置 → 凭据与能力** 点「重新检测」可查看当前档位标签。
|
|
>
|
|
> **档位仅适用于 TickFlow 数据源**。功能门槛的统一标准是"能力"(`kline.minute.batch`、`depth5.batch`、`financial` 等能力键):其他第三方/自定义数据源以声明的数据集能力为准,系统会按当前数据源配置自动合并判定,UI 提示一律以能力名表达,不再依赖 TickFlow 档位名。
|
|
|
|
---
|
|
|
|
## AI(可选)
|
|
|
|
用于自然语言生成策略。**所有配置留空即跳过**,不影响核心功能。支持任意 OpenAI 兼容接口。
|
|
|
|
```ini
|
|
AI_PROVIDER=openai_compat # openai_compat | ollama
|
|
AI_BASE_URL=https://api.deepseek.com/v1
|
|
AI_API_KEY= # 留空 = 关闭 AI
|
|
AI_MODEL=deepseek-chat
|
|
AI_DAILY_TOKEN_BUDGET=500000 # 每日 token 预算上限
|
|
```
|
|
|
|
| 配置项 | 说明 |
|
|
| :--- | :--- |
|
|
| `AI_PROVIDER` | `openai_compat`(OpenAI 兼容,支持 DeepSeek / 通义 / OpenAI 等)或 `ollama`(本地模型) |
|
|
| `AI_BASE_URL` | 接口地址,如 DeepSeek `https://api.deepseek.com/v1` |
|
|
| `AI_API_KEY` | 留空则关闭 AI 功能 |
|
|
| `AI_MODEL` | 模型名,如 `deepseek-chat` |
|
|
| `AI_DAILY_TOKEN_BUDGET` | 每日 token 预算,超限后当日不再调用 |
|
|
|
|
接入示例见 [strategy.md](./strategy.md) 的「AI 生成策略」章节。
|
|
|
|
---
|
|
|
|
## 服务
|
|
|
|
```ini
|
|
HOST=0.0.0.0 # 开发服务监听地址 / Docker 主机绑定地址
|
|
PORT=3018 # 开发后端端口 / Docker 主机映射端口
|
|
LOG_LEVEL=INFO # DEBUG | INFO | WARNING | ERROR
|
|
```
|
|
|
|
- `HOST`:`0.0.0.0` 监听所有网卡(容器/公网部署需要);仅本机用可设 `127.0.0.1`
|
|
- `PORT`:默认 `3018`;开发模式兼容显式的 `BACKEND_PORT` 覆盖,改端口后 SSH 转发命令也要同步改
|
|
- `LOG_LEVEL`:排查问题时改 `DEBUG`
|
|
|
|
---
|
|
|
|
## 数据
|
|
|
|
```ini
|
|
DATA_DIR=./data # Parquet / DuckDB 数据存储目录
|
|
```
|
|
|
|
整个 `data/` 目录都不纳入 git —— 行情 K线、财务、自选、回测、监控记录,乃至概念/行业扩展数据,全部是程序运行时生成/拉取的用户数据。
|
|
|
|
如需迁移数据,直接拷贝整个 `data/` 目录即可。详见 [deployment.md → 更新代码](./deployment.md#更新代码已部署用户必读)。
|
|
|
|
---
|
|
|
|
## 访问密码(公网部署)
|
|
|
|
```ini
|
|
AUTH_PASSWORD='你的密码' # 至少 6 位;仅首次生效,已设过则不覆盖
|
|
```
|
|
|
|
面板首次设置访问密码时,出于安全考虑**仅允许本机或内网访问**(防公网陌生人抢先设置锁死面板)。公网服务器部署可通过此环境变量预置首个密码。
|
|
密码建议使用单引号包裹,Docker 启动时会把整个原始 `.env` 只读挂载到容器内 `/app/.env`,兼容已有的未加引号配置。容器可以读取其中的密钥但不能修改该文件,请保持主机文件权限为 `600` 并仅运行可信镜像。
|
|
|
|
详细步骤、SSH 转发方案、重置密码方法见 [deployment.md → 访问密码设置](./deployment.md#访问密码设置公网部署必读)。
|
|
|
|
---
|
|
|
|
## 后端依赖 Extras(可选)
|
|
|
|
```ini
|
|
BACKEND_EXTRAS= # 留空默认;legacy-cpu 兼容老 CPU
|
|
```
|
|
|
|
老 CPU 无 AVX2/FMA 支持时设为 `legacy-cpu`,会给 Polars 切到 `rtcompat` 运行时;需回测则 `legacy-cpu backtest`。Docker 构建和 `./dev.sh` / `.\dev.ps1` 都会读取此值并同步依赖。详见 [deployment.md → 老 CPU 兼容](./deployment.md#老-cpu-兼容avx2fma-缺失)。
|
|
|
|
---
|
|
|
|
## 配置优先级
|
|
|
|
1. **面板设置页**(`设置 → ...`):UI 修改后立即生效,持久化到 `data/`
|
|
2. **`.env` 文件**:启动时读取
|
|
3. **环境变量**:Docker / 系统环境变量,优先级最高
|
|
|
|
> 多数配置可在面板设置页修改,无需手动编辑 `.env`。仅 AI Key、API Key 等敏感项建议放 `.env`(不提交到 git)。
|