diff --git a/README.md b/README.md index 2f02c80..368e786 100644 --- a/README.md +++ b/README.md @@ -1,252 +1,46 @@ # 小白复盘 -> 一个给 A 股股民自己用的**盘后复盘工作台**。 -> 收盘以后打开它,把「今天市场到底发生了什么」按情绪、梯队、轮动、竞价、龙虎榜一条条看明白,再决定明天激进还是保守。 +面向 A 股盘后复盘的本地 Web 工作台。收盘后把涨停、炸板、连板梯队、板块轮动、集合竞价、龙虎榜等数据整理成可浏览的复盘界面;不接券商、不代为下单,也不提供个股推荐。 -**一句话定位**:小白复盘是一套可以自己部署、自己掌控数据的 A 股盘后复盘工具。它把散落在各个行情软件里的涨停、炸板、连板梯队、板块轮动、集合竞价、龙虎榜数据,整理成一套**看得懂、能追问、可记录**的复盘界面。 +本目录是唯一正式源码。模块边界见 [ARCHITECTURE.md](ARCHITECTURE.md),产品与维护文档见 [docs/README.md](docs/README.md)。 -它**不是**行情交易软件,**不接券商、不代为下单**,也不提供任何形式的个股推荐。 +## 主要功能 ---- +登录后左侧共 16 个页面,另有一个内嵌页「策略持续跟踪」。交易日快照保存在本地 SQLite 数据库 `data/review.db`。 -## 一、为什么值得试(项目亮点) +- **情绪周期**:0–100 情绪温度与阶段判定(默认首页) +- **涨停池 / 炸板池 / 跌停板 / 昨日涨停 / 涨停表现**:封板结构、炸板、跌停与昨日反馈 +- **市场天梯**:按连板高度排列的市场梯队 +- **板块轮动**:近若干交易日板块热力与成分下钻 +- **集合竞价**:盘前生命周期;9:30 后停止更新并冻结为复盘归档。当前数据源提供 9:25 最终竞价快照,不是动态虚拟撮合行情 +- **题材库 / 人气热榜 / 龙虎榜**:题材成分、双榜人气、席位与游资档案 +- **智能选股**(会员):六阶段策略、精选策略库、自然语言编译为受控公式后的确定性筛选与滚动回测;候选需手动加入后才进入五交易日跟踪 +- **问师**(会员):按选定的游资思维 Skill 单师对话;新增公开角色时在 `游资skills` 下增加含 `SKILL.md` 的目录,并在 `游资skills/mentor_catalog.json` 登记。管理员私有角色放在 `data/private-mentor-skills`(不进 Git / 镜像) +- **问天**(会员,冻结区,勿改代码):观势 / 观气 / 观心。卦象、干支、节气与气机由本地程序确定性计算,大模型只负责文字解释 +- **我的复盘**:手工交易日志、每日复盘、提醒中心与复盘助手;不接券商、不自动下单 -1. **先看情绪,再看个股** - 用一个 0–100 的「情绪温度」,把当天市场的冷热程度和它处在哪个阶段(冰点 → 修复 → 发酵 → 高潮 → 分化 → 退潮)直接摆在第一屏。先判断环境,再谈个股。 +全局能力:日间 / 夜间主题、股票代码悬停预览日 K 与分时、`Ctrl + K` 全局搜索。图表数据不写入主行情,也不参与情绪、选股或问天计算。 -2. **说的就是短线玩家的话** - 晋级、断板、连板高度、梯队完整度、封单额、炸板……这些词不用解释,界面上原样呈现,不用再自己在行情软件里一层层翻。 +## 技术栈 -3. **不会写公式,也能按自己的想法筛股票** - 可以直接写一句人话(比如「连续两天放量上涨且不是 ST」),系统会把它编译成受控公式再执行筛选。技术活儿交给程序,判断权始终在你手上。 +| 层面 | 说明 | +| --- | --- | +| 运行时 | Python 3.12;标准库 `ThreadingHTTPServer`,无独立 Web 框架 | +| 依赖 | `requirements.txt` 仅含 `cryptography`;问天历法使用仓库内 `vendor/lunar_python` | +| 数据库 | SQLite(WAL),默认文件 `data/review.db` | +| 前端 | 原生 HTML / CSS / JavaScript,无打包、无构建步骤 | +| 部署 | Docker / Docker Compose,或本机直接运行 `server.py` | +| 安全 | 账号密码 scrypt 哈希;行情 Token 与模型密钥用 `APP_ENCRYPTION_KEY` 加密后存库 | -4. **有问题可以「问」** - - **问师**:挑一位游资思维模型,系统自动把当天情绪、梯队、龙虎榜等数据喂给它,单师对话,边看数据边追问。 - - **问天**:一个偏传统文化视角的模块,分「观势 / 观气 / 观心」三部分,看盘之外也给自己留一段安静时间。 +## 环境要求 -5. **复盘能留下来,而不是第二天就忘** - 交易日志可以记录当时的买卖逻辑和情绪标签(平静 / 笃定 / 犹豫 / 焦虑 / 冲动),配合每日复盘三问和提醒中心,帮自己看清是不是在情绪化操作。 +- Python 3.12(与 `Dockerfile` 一致) +- 本机启动:能执行 `python` / `pip` +- Docker 部署:Docker Engine 24+,Compose v2(`docker compose`) +- 行情:部署者自行申请并配置 Tushare Pro Token;部分分时优先使用同花顺 iFinD(可选) +- 问师、问天解释、复盘助手、自然语言编译公式:需配置 OpenAI 兼容接口;未配置时市场数据页仍可用 -6. **数据在自己手里** - 所有数据存在部署机器本地的 SQLite 数据库里,账号密码用 scrypt 哈希保存,行情 Token 和模型密钥加密存放。没有云端账号,不上传个人交易记录。 - -7. **一套界面,白天晚上都能看** - 内置日间 / 夜间两套配色,股票代码上悬停就弹出日 K 与分时小图,`Ctrl + K` 可以全局搜索股票、板块和题材。 - ---- - -## 二、主要功能 - -界面左侧一共有 **16 个页面**,另有一个内嵌页面(策略持续跟踪)。下面按分组说明。 - -### 2.1 市场数据(登录即可用) - -| 页面 | 解决什么问题 | 打开后能看到什么 | -| --- | --- | --- | -| **情绪周期** | 收盘后说不清市场整体冷热、处在什么阶段 | 0–100 情绪温度、升温 / 降温方向、六阶段判定、由五个维度(市场宽度 20、涨停生态 25、赚钱效应 30、连板结构 15、成交活跃度 10)加权算出 | -| **涨停池** | 当天封板的票散在各处,看不出封板结构 | 按首板 / 2 板 / 3 板+ 筛选,含首封时间、开板次数、封单额、涨停原因 | -| **炸板池** | 触板没封住容易被误当成涨停 | 距涨停还差多少、开了几次板、炸板原因 | -| **跌停板** | 亏钱效应集中在哪不直观 | 连续跌停天数、风险线索、风险行业聚集提示 | -| **昨日涨停** | 昨天追板的人今天怎么样 | 晋级 / 炸板 / 跌停 / 断板四类结果,加一条「兑现率」(收红口径)摘要 | -| **涨停表现** | 梯队到底健不健康 | 按连板高度看晋级率、收红率、平均涨幅,并给出当日结论 | -| **市场天梯** | 连板梯队靠手翻拼不出来 | 从首板逐层排到当天最高板(至少展示 5 层),配市场高度与梯队完整度指标 | -| **板块轮动** | 热点是延续还是一日游 | 最近 9 个交易日、Top 12 板块的热力矩阵,点板块可跨日高亮看连续性,并可下钻到申万二级成分股 | -| **集合竞价** | 9:25 的竞价信息太散 | 四个页签:重点异动 / 我的自选 / 全部候选 / 竞价一字;关注分满分 100,可按「超预期 / 符合预期 / 低于预期」筛选;9:30 后停止更新,冻结归档供复盘 | -| **题材库** | 题材排行和成分股要开好几个网站 | 左边题材排行、右边成分股,题材上悬停直接出日 K / 分时预览 | -| **人气热榜** | 各家榜单各看各的 | 同花顺 + 东方财富双榜汇总,可切单榜或看「双榜共识」 | -| **龙虎榜** | 上榜明细和游资动向查起来费劲 | 每日明细、净买入 / 净卖出筛选、活跃游资,点游资可看当日操作,游资档案带席位归类 | - -### 2.2 智能功能(会员可用) - -| 页面 | 解决什么问题 | 打开后能看到什么 | -| --- | --- | --- | -| **智能选股** | 自己写条件门槛高,盘中手翻太累 | 三种模式:① 六阶段策略,当日行情更新后(15:10 之后)自动计算;② **29 套精选策略库**,每套都标注适用环境、失效风险与准入条件;③ 自定义选股,自然语言写条件 → 编译成受控公式 → 确定性筛选执行 → 滚动回测 | -| **策略持续跟踪** | 选出来的票加完自选就忘了为什么选 | 只有手动加入的候选才进入跟踪,展示 T+1 开盘 / 收盘、T+3、T+5、最大涨幅与最大回撤,到期自动提醒 | -| **问师** | 复盘时没人讨论、视角单一 | 选一位游资思维模型单师对话,系统按模型流派自动喂情绪、梯队、龙虎榜等对应数据,回答为流式输出并带动态追问 | -| **问天** | 想换个视角看市场,也想让自己静下来 | **观势**:用市场数据生成三才六爻,用来观察「势」;**观气**:依干支、精确节气、五运六气观察「运」;**观心**:不看盘、不输问题,先准备 1 秒,接着做 5 轮「吸气 3 秒、停顿 2 秒、呼气 4 秒」,再以六次三枚铜钱起卦完成一次问心仪式 | -| **我的复盘** | 交易散养、不复盘、情绪化操作 | 结构化交易日志(方向、价格、仓位、盈亏、逻辑、执行、情绪、标签)、每日复盘三问、提醒中心、复盘助手(读取你的日志与市场数据,给出分析和条件化计划) | - -> 说明:卦象、干支、节气与气机关系全部由本地程序确定性计算,大模型只负责文字解释,不参与起卦,也不会改动结果。 - -### 2.3 全局能力 - -- 股票 / 板块 / 题材上悬停,弹出日 K 与分时快速预览 -- `Ctrl + K` 全局搜索 -- 日间 / 夜间双主题一键切换 -- 提醒中心集中查看策略跟踪与手工提醒 -- 登录页有一组会动的小 K 线小人(红涨绿跌) - ---- - -## 三、特色页面展示 - -下面 25 张图全部是深色主题下的真实页面。普通行情只作带过,重点放在智能选股、问师和问天。 - -### 3.1 市场一览 - -情绪周期总览:0–100 温度、当前阶段与五维构成。 - -![情绪周期总览](docs/images/market-one-glance.png) - -市场天梯、板块轮动、龙虎榜三拼带过。 - -![天梯、板块轮动与龙虎榜](docs/images/market-tools-strip.png) - -### 3.2 智能选股 - -29 套精选策略库。 - -![精选策略库](docs/images/screener-strategies.png) - -单套策略详情:适用环境、失效风险、准入条件与评分权重。 - -![策略详情](docs/images/screener-strategy-detail.png) - -六阶段策略:阶段识别 → 策略匹配 → 执行选股。 - -![六阶段策略](docs/images/screener-stage.png) - -自然语言编译出的受控公式特写。 - -![受控公式特写](docs/images/screener-dsl.png) - -自定义选股结果与回测摘要。 - -![选股结果与回测](docs/images/screener-results.png) - -策略全流程动效。 - -![策略全流程](docs/images/screener-strategy-flow.gif) - -策略持续跟踪:T+1 开盘 / 收盘、后续回看与回撤。 - -![策略持续跟踪](docs/images/screener-tracking.png) - -### 3.3 问师 - -游资思维模型列表。 - -![问师模型列表](docs/images/mentor-list.png) - -结合当日盘面的流式回答。 - -![问师回答](docs/images/mentor-answer.gif) - -回答尾部的话题追问与输入区。 - -![问师追问](docs/images/mentor-followup.png) - -### 3.4 问天 - -观势 / 观气 / 观心三观总览。 - -![问天三观](docs/images/heaven-three-views.png) - -观势完整结果:卦象、势值、六爻与行情对应。 - -![问天观势结果](docs/images/heaven-shi-result.png) - -观势卦象展现过程。 - -![问天观势卦象](docs/images/heaven-shi-hexagram.gif) - -观势解势载入动画。 - -![问天观势载入](docs/images/heaven-shi-loading.gif) - -观气主界面:干支、节气与气机关系。 - -![问天观气](docs/images/heaven-qi.png) - -三层气机与客主加临特写。 - -![问天观气特写](docs/images/heaven-qi-detail.png) - -观气解运动画。 - -![问天观气解运](docs/images/heaven-qi-fortune.gif) - -观心入口:五步流程。 - -![问天观心入口](docs/images/heaven-xin-intro.png) - -观心呼吸引导。 - -![问天观心呼吸](docs/images/heaven-xin-breathing.gif) - -观心六次摇钱起卦。 - -![问天观心起卦](docs/images/heaven-xin-coin.gif) - -### 3.5 我的复盘与全局 - -交易日志与情绪五标签(平静 / 笃定 / 犹豫 / 焦虑 / 冲动)。 - -![交易日志情绪标签](docs/images/review-journal.png) - -复盘助手读取日志与市场数据后流式输出。 - -![复盘助手](docs/images/review-assistant.gif) - -`Ctrl + K` 全局搜索,以及代码悬停弹出的日 K 预览。 - -![全局搜索与日K预览](docs/images/global-search.png) - ---- - -## 四、适合谁用 - -- **每天收盘后不知道从哪看起的散户**:先给一个情绪温度和阶段,再往下拆。 -- **做短线、看连板梯队的人**:晋级、断板、高度、完整度都在一个页面里。 -- **想按自己的条件筛股票、但不会写公式的人**:说人话就行。 -- **知道自己「管不住手」的人**:交易日志 + 情绪标签 + 每日复盘三问,把情绪化操作摆到自己面前。 -- **在意数据隐私、想把工具放在自己机器上的人**:私有部署,数据不出本机。 -- **对传统文化视角感兴趣的玩家**:问天的观势 / 观气 / 观心提供了另一种看市场的方式。 - -**不太适合**:想要一键自动下单的人(本项目不接券商);想要「跟着买就能赚」的人(本项目不提供任何形式的投资建议)。 - ---- - -## 五、一天怎么用(典型流程) - -1. **收盘后 10 分钟:定环境** - 打开「情绪周期」,看温度多少、在哪个阶段、是升温还是降温。先定下明天的基调是激进还是保守。 - -2. **看结构:谁在涨、涨到几板** - 进「市场天梯」看连板梯队和市场高度,再到「涨停池 / 炸板池 / 跌停板」看当天的封板结构与亏钱效应。 - -3. **看延续:热点有没有搬家** - 进「板块轮动」,点几个强势板块,看它们在最近 9 天是连续走强还是只有一天行情。 - -4. **看结果:昨天追板的人今天怎么样** - 进「昨日涨停」和「涨停表现」,对照梯队健康度,检验自己的判断。 - -5. **查人气与席位** - 「人气热榜」看双榜共识,「龙虎榜」看活跃游资当天做了什么。 - -6. **按自己的条件选一批候选** - 进「智能选股」,要么用六阶段策略或 29 套精选策略,要么直接写一句人话让它编译成公式。选出来的候选**手动**加入「策略持续跟踪」,后面 T+1 / T+3 / T+5 会自动提醒你回看。 - -7. **有疑问就问** - 「问师」按游资思维模型边看数据边追问;想静一静就去「问天」做一次观心。 - -8. **记下来** - 在「我的复盘」里写当天交易日志(含情绪标签)和复盘三问。第二天开盘前,先回看昨天的记录。 - ---- - -## 六、部署与访问 - -> 本项目为**私有部署的个人工具**,没有官方在线版,也不提供公共账号。 - -- **部署方式**:仓库内提供 `Dockerfile` 与 `compose.yaml`,在已有 Docker 环境的机器上即可启动;也可直接用 Python 运行 `server.py` 在本机启动。 -- **访问方式**:部署完成后通过浏览器访问该机器上的服务端口(默认 8765),**具体地址由部署者自己决定**。出于安全考虑,本文档不写任何内网 IP、账号、密码或密钥。 -- **数据存放**:所有行情快照、复盘记录与账号数据都存在部署机器本地的 SQLite 数据库文件中(`data/review.db`),随 `data/` 目录一起备份即可。 -- **账号**:首次使用先注册,第一个注册的账号自动成为管理员,之后注册的默认为普通用户。 -- **数据来源**:行情数据来自 Tushare Pro 等第三方数据接口(部分分时数据优先使用同花顺 iFinD),**需要部署者自己申请并配置 Token**;部分接口的可用性取决于数据源方的授权与积分权限,个别数据缺失时页面会明确提示,不会用估算值顶替。 -- **大模型功能**:问师、问天解释、复盘助手、自然语言编译公式等需要配置一个 OpenAI 兼容的接口,由部署者自行配置与管理额度;未配置时这些对话与解释功能不可用,市场数据部分不受影响。 - -### 本机启动 +## 安装与启动 仓库根目录即为运行目录(`server.py`、`requirements.txt` 都在根目录)。 @@ -255,94 +49,90 @@ python -m pip install -r requirements.txt python server.py ``` -默认监听本机回环地址、端口 `8765`(仅本机浏览器可访问)。首次使用先注册账号。主行情不再回退演示数据:盘前、非交易日或临时取数失败时沿用最近真实收盘快照;没有任何真实快照时,页面会提示等待管理员完成首次同步。 +默认监听 `127.0.0.1:8765`(仅本机可访问)。浏览器打开该地址,首次使用先注册账号;第一个账号自动成为管理员,之后注册的默认为普通用户。 -Windows 下若需要后台启动,并把日志、进程号和 Python 缓存统一写入 `runtime/`(不在源码根目录产生运行文件),可使用: +主行情不再回退演示数据:盘前、非交易日或临时取数失败时沿用最近真实收盘快照;没有任何真实快照时,页面会提示等待管理员完成首次同步。 + +可选参数: + +```bash +python server.py --host 127.0.0.1 --port 8765 +``` + +Windows 下若需要后台启动,并把日志、进程号和 Python 缓存写入 `runtime/`(不在源码根目录产生运行文件): ```powershell powershell -ExecutionPolicy Bypass -File tools/start_local.ps1 ``` -### Docker 部署 +该脚本默认端口为 `8797`。统一验收: -局域网或服务器部署使用仓库根目录的 `Dockerfile` 与 `compose.yaml`。完整的迁移、持久化、防火墙、备份和恢复步骤见 [DOCKER_DEPLOY.md](DOCKER_DEPLOY.md)。 +```bash +python tools/verify_baseline.py +``` -### 系统与账号配置 +涉及运行时或前端时再加 `--e2e`(Playwright)。 -管理员通过页面右上角「系统管理」保存公共 Tushare Token、平台主/辅助模型、会员每日额度和后台刷新开关。所有用户读取同一份 SQLite 行情快照,不再分别配置行情 Token。 +## Docker 使用 -`.env` 中的 Tushare 和平台 LLM 配置只用于初始化系统配置,密钥不会返回到浏览器。请将 `.env` 与数据库一起备份,丢失 `APP_ENCRYPTION_KEY` 后无法恢复加密资料。 +局域网或服务器部署使用仓库根目录的 `Dockerfile` 与 `compose.yaml`。容器监听 `8765`,默认以非 root 用户运行,并把宿主机 `./data` 挂到容器内 `/app/data`。 -普通用户在「账号设置」中维护个人资料、查看会员状态和修改密码,不配置个人 LLM。有效会员自动使用平台模型;管理员可在「系统管理」中手动开通、续期、停用会员。平台模型受管理员设置的每日调用次数限制,管理员账号始终可用。 +1. 复制 `.env.example` 为 `.env`,填入 `APP_ENCRYPTION_KEY` 以及行情 / 模型等初始化配置。密钥不会返回到浏览器。 +2. `compose.yaml` 构建时要求带上当前 Git 提交号,避免打出无版本标签的镜像: -新增公开问师角色时,在 `游资skills` 下增加一个包含 `SKILL.md` 的独立目录,并在 `游资skills/mentor_catalog.json` 中登记。管理员私有角色放在 `data/private-mentor-skills`,该目录不进入 Git 或 Docker 镜像,且只会出现在管理员的问师列表中。 +```bash +export XIAOBAI_GIT_REV="$(git rev-parse HEAD)" +export XIAOBAI_GIT_SHORT="$(git rev-parse --short=7 HEAD)" +docker compose build +docker compose up -d +``` -### 相关文档 +3. 检查健康接口: -- [ARCHITECTURE.md](ARCHITECTURE.md) — 模块边界与源码职责 +```bash +docker compose ps +curl http://127.0.0.1:8765/api/health +``` + +健康响应类似 `{"ok": true, "storage": "sqlite", "account_required": true}`。 + +完整的迁移、持久化、防火墙、备份、恢复与正式线构建入口见 [DOCKER_DEPLOY.md](DOCKER_DEPLOY.md)。`.env` 必须与数据库成对备份;丢失 `APP_ENCRYPTION_KEY` 后无法恢复加密资料。 + +## 目录与配置 + +```text +server.py 进程入口 +backend/ 服务、路由、数据、任务、LLM +frontend/ 无构建前端(shared + pages) +config/ 页面 / API / 任务等注册表 +data/ SQLite 与私有数据(数据库文件不进 Git) +runtime/ 本地日志、PID、缓存(不进 Git) +tools/ 启动、验收与构建辅助脚本 +游资skills/ 公开问师角色 +vendor/ 本地第三方库(含 lunar-python) +Dockerfile +compose.yaml +.env.example 环境变量模板(复制为 .env 后填写) +``` + +管理员通过页面右上角「系统管理」保存公共 Tushare Token、平台主/辅助模型、会员每日额度和后台刷新开关。所有用户读取同一份 SQLite 行情快照。`.env` 中的 Tushare 和平台 LLM 配置只用于初始化系统配置。 + +普通用户在「账号设置」中维护个人资料、查看会员状态和修改密码,不配置个人 LLM。有效会员使用平台模型;管理员可开通、续期、停用会员。平台模型受每日调用次数限制,管理员账号始终可用。 + +相关文档: + +- [ARCHITECTURE.md](ARCHITECTURE.md) — 模块边界 - [docs/README.md](docs/README.md) — 交接手册入口 - [DOCKER_DEPLOY.md](DOCKER_DEPLOY.md) — Docker 部署、备份与恢复 - [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) — 第三方授权(含问天历法库) +- [AGENTS.md](AGENTS.md) — 维护约束 -**技术组成(简要)** +## 注意事项与免责声明 -| 层面 | 说明 | -| --- | --- | -| 后端 | Python 3.12,仅用标准库自带的 HTTP 服务与自研路由,第三方依赖极少 | -| 数据库 | SQLite(WAL 模式),单文件,易备份 | -| 前端 | 原生 JavaScript + HTML,无构建工具、无打包步骤,改完刷新即可 | -| 部署 | Docker / Docker Compose,或本机直接运行 | -| 安全 | 账号密码 scrypt 哈希存储;行情 Token 与模型密钥使用 `APP_ENCRYPTION_KEY` 加密后存库,密钥与数据库需一起备份 | - ---- - -## 七、免责声明 - -- 本项目是一个**个人研究与复盘工具**,所提供的全部数据、指标、候选与文字分析,**均不构成投资建议、证券推荐或买卖要约**。 -- 本项目**不接券商、不代为下单**,交易日志只做手工记录与统计,不代表任何实际成交。 -- 情绪温度、阶段判定、连板梯队、策略筛选等均为**基于公开数据的统计与规则计算结果**,不预测未来走势,不保证任何收益。历史统计与回测结果不代表未来表现。 -- 「问天」模块属于**传统文化视角的娱乐化观察**,卦象、干支、节气与气机关系由本地程序确定性生成,用于换个角度看市场和自我觉察,**不具备预测功能,不得作为投资依据**。 -- 行情数据来自第三方接口,可能存在延迟、缺失或口径调整;页面会在数据不可用时明确提示,请以交易所与券商正式披露的数据为准。 +- 本项目是个人研究与复盘工具,全部数据、指标、候选与文字分析均不构成投资建议、证券推荐或买卖要约。 +- 不接券商、不代为下单。交易日志只做手工记录与统计,不代表实际成交。 +- 情绪温度、阶段判定、连板梯队、策略筛选等均为基于公开数据的统计与规则计算,不预测走势,不保证收益。 +- 「问天」属于传统文化视角的观察工具,不具备预测功能,不得作为投资依据;该模块为冻结区,不要改其代码。 +- 行情来自第三方接口,可能延迟、缺失或口径调整;不可用时页面会明确提示,请以交易所与券商正式披露为准。 +- 不要把服务端口直接暴露到公网。不要把 Token、密码、密钥、数据库或 `.env` 提交进 Git。 - 股市有风险,入市需谨慎。投资决策及其后果由使用者本人承担。 - ---- - -## 附:精简版项目推荐语 - -> 下面三段可以单独整段复制转发,不需要带图也能看懂。 - -### 一句话版(约 60 字,适合评论区、群聊快速安利) - -> 小白复盘:一个自己部署的 A 股盘后复盘工作台——情绪、梯队、轮动、龙虎榜一页页看明白;说人话就能选股,不荐股、不下单,数据只存自己机器。 - -### 短版(约 320 字,适合社交平台、群聊、朋友圈) - -> 发现一个挺特别的 A 股盘后复盘工具,叫「小白复盘」。 -> -> 它不荐股、也不下单,就专心做一件事:把收盘后散落在各个软件里的信息整理成人看得懂的样子。打开先给你一个 0–100 的情绪温度和「冰点→修复→发酵→高潮→分化→退潮」六个阶段,让你先知道今天是什么环境;然后连板梯队、涨停炸板、板块轮动的 9 天热力图、集合竞价、龙虎榜游资动向,一页一页往下看。 -> -> 最惊喜的是不会写公式也能选股——直接写一句人话,它帮你编译成条件去筛。还有「问师」可以按游资思维跟你对话,「问天」用卦象换个角度看市场、也让你静一静。 -> -> 数据存在自己机器上的本地数据库里,私有部署,不上传。 -> -> 提醒一句:它只是个把信息摆清楚的工具,不荐股也不下单,不构成投资建议。 - -### 稍长版(约 580 字,适合发论坛、公众号、仓库简介) - -> **小白复盘 —— 给 A 股股民自己的盘后复盘工作台** -> -> 收盘以后,你是怎么复盘的?在好几个软件之间来回切,还是干脆不复盘? -> -> 小白复盘是一套可以自己部署的 A 股盘后复盘工具。它把涨停、炸板、跌停、连板梯队、板块轮动、集合竞价、龙虎榜这些散落各处的数据,整理成 16 个看得懂的页面: -> -> - **情绪周期**:0–100 情绪温度 + 六阶段判定,由市场宽度、涨停生态、赚钱效应、连板结构、成交活跃度五个维度加权算出,先看环境再看个股。 -> - **市场天梯**:从首板一路排到当天最高板,配市场高度与梯队完整度。 -> - **板块轮动**:近 9 个交易日 Top 12 板块热力矩阵,点一下就能看出热点是延续还是一日游。 -> - **集合竞价**:关注分满分 100,9:30 后自动冻结归档,专门留给复盘看。 -> - **龙虎榜**:席位明细、活跃游资、游资档案打通,点游资就能看它当天做了什么。 -> - **智能选股**:29 套精选策略(每套都写了适用环境和失效风险),也可以直接写一句人话,让它编译成公式去筛选。 -> - **问师 / 问天 / 我的复盘**:一个陪你按游资思维聊数据,一个用传统卦象换个角度看市场,一个帮你记下每笔交易的逻辑和情绪。 -> -> 它不接券商、不代为下单,也不给出任何个股推荐——只负责把信息摆清楚,判断始终在你自己手里。所有数据存在你自己机器的本地 SQLite 里,私有部署,不上传。 -> -> 项目私有部署、无公共在线版;文中所有功能描述均对应现有实现,不构成投资建议,市场有风险。 diff --git a/docs/images/global-search.png b/docs/images/global-search.png deleted file mode 100644 index c3caba6..0000000 Binary files a/docs/images/global-search.png and /dev/null differ diff --git a/docs/images/heaven-qi-detail.png b/docs/images/heaven-qi-detail.png deleted file mode 100644 index 58e4984..0000000 Binary files a/docs/images/heaven-qi-detail.png and /dev/null differ diff --git a/docs/images/heaven-qi-fortune.gif b/docs/images/heaven-qi-fortune.gif deleted file mode 100644 index e9e2c7a..0000000 Binary files a/docs/images/heaven-qi-fortune.gif and /dev/null differ diff --git a/docs/images/heaven-qi.png b/docs/images/heaven-qi.png deleted file mode 100644 index 25ed0fd..0000000 Binary files a/docs/images/heaven-qi.png and /dev/null differ diff --git a/docs/images/heaven-shi-hexagram.gif b/docs/images/heaven-shi-hexagram.gif deleted file mode 100644 index fc2ce24..0000000 Binary files a/docs/images/heaven-shi-hexagram.gif and /dev/null differ diff --git a/docs/images/heaven-shi-loading.gif b/docs/images/heaven-shi-loading.gif deleted file mode 100644 index 25a06d4..0000000 Binary files a/docs/images/heaven-shi-loading.gif and /dev/null differ diff --git a/docs/images/heaven-shi-result.png b/docs/images/heaven-shi-result.png deleted file mode 100644 index 760d96d..0000000 Binary files a/docs/images/heaven-shi-result.png and /dev/null differ diff --git a/docs/images/heaven-three-views.png b/docs/images/heaven-three-views.png deleted file mode 100644 index de72e1d..0000000 Binary files a/docs/images/heaven-three-views.png and /dev/null differ diff --git a/docs/images/heaven-xin-breathing.gif b/docs/images/heaven-xin-breathing.gif deleted file mode 100644 index 6b2faf9..0000000 Binary files a/docs/images/heaven-xin-breathing.gif and /dev/null differ diff --git a/docs/images/heaven-xin-coin.gif b/docs/images/heaven-xin-coin.gif deleted file mode 100644 index 3306f57..0000000 Binary files a/docs/images/heaven-xin-coin.gif and /dev/null differ diff --git a/docs/images/heaven-xin-intro.png b/docs/images/heaven-xin-intro.png deleted file mode 100644 index e4c9a37..0000000 Binary files a/docs/images/heaven-xin-intro.png and /dev/null differ diff --git a/docs/images/market-one-glance.png b/docs/images/market-one-glance.png deleted file mode 100644 index ad2bb47..0000000 Binary files a/docs/images/market-one-glance.png and /dev/null differ diff --git a/docs/images/market-tools-strip.png b/docs/images/market-tools-strip.png deleted file mode 100644 index b07594f..0000000 Binary files a/docs/images/market-tools-strip.png and /dev/null differ diff --git a/docs/images/mentor-answer.gif b/docs/images/mentor-answer.gif deleted file mode 100644 index dce2913..0000000 Binary files a/docs/images/mentor-answer.gif and /dev/null differ diff --git a/docs/images/mentor-followup.png b/docs/images/mentor-followup.png deleted file mode 100644 index b88f718..0000000 Binary files a/docs/images/mentor-followup.png and /dev/null differ diff --git a/docs/images/mentor-list.png b/docs/images/mentor-list.png deleted file mode 100644 index c580c58..0000000 Binary files a/docs/images/mentor-list.png and /dev/null differ diff --git a/docs/images/review-assistant.gif b/docs/images/review-assistant.gif deleted file mode 100644 index 983cf3e..0000000 Binary files a/docs/images/review-assistant.gif and /dev/null differ diff --git a/docs/images/review-journal.png b/docs/images/review-journal.png deleted file mode 100644 index f620bd8..0000000 Binary files a/docs/images/review-journal.png and /dev/null differ diff --git a/docs/images/screener-dsl.png b/docs/images/screener-dsl.png deleted file mode 100644 index 7c90653..0000000 Binary files a/docs/images/screener-dsl.png and /dev/null differ diff --git a/docs/images/screener-results.png b/docs/images/screener-results.png deleted file mode 100644 index 9bc2083..0000000 Binary files a/docs/images/screener-results.png and /dev/null differ diff --git a/docs/images/screener-stage.png b/docs/images/screener-stage.png deleted file mode 100644 index f685522..0000000 Binary files a/docs/images/screener-stage.png and /dev/null differ diff --git a/docs/images/screener-strategies.png b/docs/images/screener-strategies.png deleted file mode 100644 index 3780e72..0000000 Binary files a/docs/images/screener-strategies.png and /dev/null differ diff --git a/docs/images/screener-strategy-detail.png b/docs/images/screener-strategy-detail.png deleted file mode 100644 index 87d60f0..0000000 Binary files a/docs/images/screener-strategy-detail.png and /dev/null differ diff --git a/docs/images/screener-strategy-flow.gif b/docs/images/screener-strategy-flow.gif deleted file mode 100644 index 557dffc..0000000 Binary files a/docs/images/screener-strategy-flow.gif and /dev/null differ diff --git a/docs/images/screener-tracking.png b/docs/images/screener-tracking.png deleted file mode 100644 index 034918c..0000000 Binary files a/docs/images/screener-tracking.png and /dev/null differ