# 用户使用流程(USER-GUIDE) > 依据 `PRODUCT-DESIGN.md`(§3 流程总览)、`README.md` 与 **2026-09-06 真机 GUI 验收** 整理:按交易日时间轴给出标准用法与边界场景行为(排障见 `MCP-SETUP.md` §3)。 > 与蓝图(`PRODUCT-DESIGN.md` §3.1)的落地差异:**复盘是与「作战」并列的一级入口**(v1.4 起),不是「作战」页内的模式开关;`作战`页头部按时段自动显示 休市/竞价/盘中/尾盘 标签。 > **校订(2026-09-12)**:数据源已改为 **host 半进程内 embedded 直连**(不再有远端 MCP 地址)。 > **校订(2026-09-14 / 1.6.0)**:**作战页的产物换成模型给的「作战思路」**(§2.2 / §2.3 —— 你只做采纳/修改/驳回); > 「行情」重新组合(环境带 + 指数│梯队 + 榜单│异动,§1「行情怎么读」);**指数 / 涨停梯队不再是独立入口**(它们是 > 「行情」页里的块,旧 id 会自动映射到「行情」);自挖板块补上**结构标签**(§1「自挖板块怎么读」)。 ## 0. 前提 - DSH Web 已装本插件(`dsh plugin --profile web add @lisonevf/dsh-stock-panel`)并重启 `dsh web` → 会话页出现「**A股工作台**」视图标签(在「对话」右侧,与「轨迹」并列):点它占满会话区看盘,点回「对话」继续聊天。 - 行情来自 **host 半进程内的内置 node-tdx**(embedded,零外部进程、无远端地址);行情源离线/休市不影响面板出现,页面显示对应空态提示(见 §5)。 - 自选、复盘存档(含草稿)、当日任务、持仓与交易日志、事件流、看过的个股、**监控规则与命中记录**均为**本地存储**:host 侧持久化,数据在 `$DSH_HOME/storages`,清掉浏览器缓存也不丢(底栏「持久化:host」即已生效,见 `docs/ROADMAP.md` A1)。 - 版本口径:本指南对应当前发布版 **1.6.0**(`package.json` 单一来源;底栏显示 `v1.6.0 · `)。安装走 **GitHub Release 的 tarball**(一条命令、零配置)或本地 `link:`,见 `README.md` §安装。 ## 1. 界面结构:按**交易日流程**组织、板块平铺的三段式盯盘台 | 区域 | 内容 | | --- | --- | | 状态带 | 阶段(可点,看本时段该答什么) · `[复盘][作战][行情][自挖板块][选股筛选][监控规则][外盘]` · 指数条 · 广度 · 情绪≈ · `[问模型]` `[⌘K]` | | 左栏 | **自选 + 个股**(「个股」= 最近看过的,自动积累 ≤30) | | 主区 | 当前入口对应的整页;**点左栏任一行 = 设标的 + 切到工作台**(个股信息) | | 右栏 AI 研判(常驻) | 一键研判 → 决策卡 · 关键价位 → 画到主图 · 深入对话 → 注入对话 | > **A6 已落地(导航平铺)**:原「工具」中间层拆掉,行情 / 自挖板块 / 选股筛选 / 监控规则 / 外盘**与复盘、作战同级**(一次点击直达,`1-7` 也行);下线三个重复入口:**「自选盘」「个股明细」**(自选与个股都在左栏常驻列表,点行即看)与**「看盘」**(它是"点左栏任一行"落到的主区工作台);**默认入口改为「行情」**(以前是"按时段猜一个阶段入口")。 > **A4 已落地(2026-09-12)**:左栏 = 自选 + 个股;「涨停」「异动」分组下线(涨停走「行情 › 涨停梯队」块、异动走「行情 › 市场异动」块);**外盘弱化**(排最后、颜色更淡)。 **导航两项是流程,其余是板块**——流程回答「你现在该干什么」,板块回答「去看那一块」: | 入口 | 时段 | 你要做的事(对齐 `WATCH-METHODOLOGY.md`) | | --- | --- | --- | | **复盘** | 15:10–次日 9:15 | 七步复盘:①整体情绪 → ②连板梯队 → ③板块结构 → ④资金流向 → ⑤亏钱效应 → ⑥风向标 → **⑦写下次日预期清单(≤5 条)并存档** | | **作战** | 9:15–15:00 | 竞价:拿清单做**预期 × 竞价对照**(超预期/证伪/弱转强/陷阱)→ 盘中:只答 **Q1 持续性 / Q2 局势 / Q3 动作** → 尾盘:**兑现 / 换股 / 定仓** | | **行情**(默认) | 任意时段 | 环境带(涨跌/涨停跌停/强势弱势/最高连板/两市成交 + 涨跌分布条)· 指数图 · 涨停梯队 · 榜单 · 市场异动 —— **一屏读完** | | **自挖板块** | 任意时段 | 无监督共动聚类 → **结构标签(官方行业口径)** + **模型自动命名归类**;按强度排序,行内给涨幅 / 涨停数 | | **选股筛选** | 任意时段 | 快照筛选 + MA 信号 + AI 排序 | | **监控规则** | 任意时段 | 价格/涨跌幅/关键词规则与命中(命中弹 Toast + 右上徽标) | | **外盘** | 任意时段 | 港股 / 美股 / 期货(次要) | | **工作台** | 任意时段 | 自由查看:左栏点票 → 主图 + 资金/逐笔/竞价 + 右栏 AI(**不在导航栏上**,点股票即到) | **打开就是「行情」**:首次使用(或清掉浏览器状态后)落在「行情」——任何时段都成立的第一眼;之后你选过哪个入口就记住哪个(跨刷新保留)。升级到 A6 时**第一次打开也会落到「行情」一次**,之后同样按你的选择记住。 **「行情」怎么读**(一屏仪表盘,从上到下): - **环境带**(第一行 6 格,一行读完今天的环境):`涨/平/跌` 家数 · `涨停/跌停`(按交易所涨停价精确判定,不用 9.8% 阈值法) · `强势/弱势 ±3%` 家数 · `最高连板` · `≥2板晋级`(高位家数) · `两市成交 + 均涨`。最后那条**涨跌分布**是横向条:左绿(跌)右红(涨),各段宽度 = 该涨跌幅区间的家数,鼠标停上去看具体区间与只数。 - 这 6 格原来分散在两块里各写一遍("涨停"在页面上出现 19 次);现在**同一个数只出现一次**。 - **主行**:左「指数」(切换条 + 摘要 + 日K/分时图;点顶部状态带的指数也会切到这里)│ 右「涨停梯队」(连板条形 + 按板数分组的**一梯队一行 chips** + 涨停板块热度)。 - 梯队默认只展开最高的两档(高位股才是决策相关的),点「展开全部梯队」看全量;chip 上是股票名,**一字板**有专门标记。 - **底行**:左「榜单」(涨幅 / 跌幅 / 成交额 / 换手率,各前 5)│ 右「市场异动」(沪深北合并、按时间倒序前 8 条,类别胶囊分红/绿/琥珀)。 - **每一块**:标题栏可点(折叠 = 停止这一块的轮询,省请求)、右侧是本块刷新时间与「只刷这一块」。 - **节拍**:右上角 `15s/20s/30s/60s/暂停` 是**全页唯一的节拍器**(默认 30s);非交易时段定时轮询会被自动挡下,页头会写明「休市 · 已暂停定时轮询」,此时手动「刷新」照常可用。 - 榜单行 / 梯队 chip / 异动行**点一下就去工作台**看这只票的图与资金。 **「自挖板块」怎么读**(打开它就自动让模型命名归类): - 每行是一个「班」(当日 K 线残差共动聚类挖出来的,不是官方概念/行业),行上布局固定:**左**(强度分数值 + 一条相对强度条 + 排名)│**中**(班名 + 来源胶囊 + 指标行 + 成员票)│**右**(证据 / 重命名)。指标行从左到右是 **涨停数 → 均涨幅 → 最大涨幅 → 上涨只数 → 类内相关 / 强边密度 / 规模**(后三个是结构指标,颜色更淡,和涨跌不是一类数)。**强度 = 均涨幅% + 6×涨停数**(每只涨停额外算 6 个点),列表按它降序,并列时看强边密度;左侧那条**条长只是当前列表内的相对强弱**(普跌日全是负数时,用 0 做起点的条会一样长),排序永远按数值。 - **班名有两条腿,且来源永远标出来**: - 模型主题 = 模型归纳 + **逐条引文护栏**的产物,回答"它们今天**为什么**一起动";点行内「证据」能看到每条引文、逐字出处、是否落在时间窗内;模型判"没有共同主题/素材不足"时如实显示(行上会挂 `模型:素材不足`),**不硬编名字**。 - 官方行业 / 官方概念 = **结构标签**,回答"这个班**像**什么":把成员所属的厂商板块里**被 2 只以上成员共享**的词数出来(如 `铜·黄金 5/7 只`)。它不经模型、不依赖新闻,**任何日期都成立** —— 所以素材最缺的那天列表也读得懂。后面的 `5/7 只` 是覆盖度:**一个 3/7 的标签是"部分成员的共性",不是全类属性**。 - **涨停数**用**收盘触及涨停价**的精确判定(主板 10 / 创业科创 20 / 北交所 30 / ST 5 各不同,不用"涨幅 ≥9.8%"阈值法),无涨跌幅限制的新股不计入;**涨幅**是成员均值(缺失的票不计入,行上标"仅 N/M 只有行情",绝不把停牌当平盘)。 - 成员票默认只铺前 12 只(按当日涨幅降序,**龙头在最前面**),其余收在「+N 只」里;成员点击 → 直接跳到工作台看它的图与资金。底部还有「池内却孤立的票」(强势但不跟人共动 = 独狼)。 - **被排除的班**:汇总条写「已排除 N 个(传递链可疑 x · 弱链 y)」。弱链是引擎自己标记的伪类;「传递链可疑」是本地判的 —— 阈值图会把一串弱连接传成"一个班"(实测有一个 52 只、类内相关只有 0.428 的巨类),它不展示、也不送给模型命名。鼠标停在那行数字上能看到是哪些类、为什么。 - **花了多少预算看得见**:页头写「模型调用 N 次 · 缓存命中 M 组」;重复打开**不会**再花调用(复用上一轮),想重算点「重新命名全部」,只重算某一行点行内「重命名」。页尾「口径与边界」折着,需要时展开看公式与判定细节。 **时段自动跟随**:跨过 9:15 / 14:30 / 15:10 边界时自动切到对应入口;你一旦手动点过导航,本次会话就不再自动跟随(不打断手上正在做的事)。状态带左侧的**阶段**标签可点,随时看到「本阶段该回答的问题」原文。 **为什么有的入口"没有页"**:自选与个股**不需要单独整页**——左栏那两组常驻列表就是入口,点行即看(这也是 A6 下线「自选盘」「个股明细」两个整页的原因)。加自选:在工作台报价头点 ★,或搜索代码 → 加入自选。 **统一关注点(任何时段都只看这四层)**:① 环境(温度/广度)→ ② 主线(板块与梯队)→ ③ 标的(清单/持仓/龙头)→ ④ 动作(今天做什么)。**宽屏排版**:复盘页七步按**列流**并排展开(宽屏 2–3 列、窄屏自动单列),但 ⑦ 预期清单(输出)刻意独占整行——信息并排看、结论单独写。 **三栏联动**:左栏点任意一行 = 设「当前标的」+ 切到工作台,主图/下部面板/右栏 AI 一起换;任意页面里点股票 → 同样落到工作台。左栏两组都从状态带已轮询的全 A 快照(30s)取值,**零额外请求**。 **快捷键**:`⌘K`/`Ctrl+K` 或 `/` 搜索(也能搜入口名直达,含「工作台」)· `1-7` 切入口 · `j`/`k`(或 ↑↓)左栏上下移动 · `a` 一键问模型 · `[` `]` 收起左/右栏 · `Esc` 关弹层。 **工作台里没有对话框**:底部输入框**两端那两条贯穿全屏高度的拖拽条**是宿主的「正文栏宽度」把手(为「对话」页的居中正文栏设计),工作台是满宽面板,它们会压住面板左右边缘、点按钮/点列表常被它吃掉。本插件在工作台视图内**把这两条和底部输入框一起收掉**(宿主自己在同类场景也这么处置),主区因此吃满整列高度。**要打字就切顶部的「对话」标签**(输入框原样俱在,工作台的状态与标的不丢);右栏「深入对话」不受影响:它走 `setDraft + submit`,不依赖输入框可见,点完给一条会自己消失的回执。 **AI 双通道**(详见 README §宽视图沉浸式盯盘台):右栏「一键研判」= host 半直调当前默认模型 → 结论卡(方向/把握分/要点/风险/关键价位),**关键价位会以价位线画到主图**上;右栏「深入对话」= 把上下文与初判注入当前对话并发送,由对话里的 agent 调行情工具复核,**不切换视图**(输入框里已有草稿时该按钮置灰)。 **页面内的 AI 落点**(都是「参考 + 逐条采纳」,不会自动改你的草稿):**复盘 › ⑦ 明日交易计划** 右上「AI 排序」把今日广度/温度/涨停梯队/主线/炸板跌停**连同你自己已写的预期**一起交给模型逐条打分排序,带标的的行点 «+» 才进清单;**选股筛选**(一级入口)右上「AI 排序」让模型从当前候选里挑 3-5 只并给理由(可一键打开 / 加自选),命中的行带 **`AI#n`** 徽标。 ## 1b. 旧版对照与习惯迁移 - 10 个并列 Tab → **一级导航 = 复盘 / 作战 + 各板块平铺**(行情 / 自挖板块 / 选股筛选 / 监控规则 / 外盘);`1-7` 直达,⌘K 输入入口名也直达(A6)。 - 点股票切「个股」Tab → 点左栏任一行 = **设标的 + 切工作台**(A4);「个股」全功能整页入口(`StockDetailPage`)已在 A6 摘除,需要时用 ⌘K 搜代码看工作台。 - 「自选」Tab → 左栏「自选」分组(带实时价)**就是自选入口**,加/删走工作台报价头 ★;「作战」Tab 在选股附近 → **升为一级入口**(方法论主战场);旧版「看盘」Tab → **工作台**,不再占导航栏。 ## 2. 标准用法(按交易日时间轴) 一天的完整闭环对应方法论:**盘后复盘 → 次日竞价对照 → 盘中作战 → 收盘复盘**。 ### 2.1 收盘后 / 盘前(任意时间,含周末)→ 「复盘」 1. 打开「复盘」:自动装配 今日盘眼(温度/广度/指数)、涨停梯队、炸板/跌停清单、主线建议。 2. 在 **预期清单(≤5 张)** 点「从涨停池加入」选龙头;或用卡片编辑 `状态 / 题材天 / 层级 / 角色 / 剧本 / 竞价条件 / 失败条件 / 理由`。 3. 「存档今日复盘」:写入当日快照(按日覆盖,保留 60 个交易日),**刷新不丢**,次日竞价/复盘可读取;周末/休市复盘同样成立(可用本地历史做功课)。 ### 2.2 次日 9:15–9:25 竞价 → 「作战」 1. **第一屏是模型给的「作战思路」**:盘眼(一句话)+ 主攻方向 + 候选票(每只带**触发条件**与**失败条件**)+ 三问落点 + 持仓动作 + 竞价判定。素材全部来自你屏幕上其他板块的真实数据(行情 / 自挖板块 / 选股筛选 / 复盘存档 / 持仓 / 自选),**模型看不到素材之外的东西**。 2. 你只做三件事:**采纳**(默认已经按"只填空位"写进当日记录)、**修改**(下方「人工覆盖三问 / 持仓动作」点任意选项即覆盖,改完标为你自己的判断)、**驳回**(卡头「驳回模型结论」只清模型写的那部分,人工答案一律不动)。 3. 「作战」页头自动显示 **竞价** 标签;竞价雷达挂载(观察池 = 昨日预期 + 自选 + 涨停候选)。 4. 每行给出与昨日预期的对照判定(超预期/证伪/弱转强/陷阱等)——**只突出与昨日预期不一致者,一致的整行置灰(降噪)**;模型按竞价特征给过初判的那几条带「模型」徽标(点任一判定即改为你的判断);9:25 后雷达收起,按自己的 竞价条件/失败条件 决定开盘动作。 5. **费用与纪律**:作战思路按 `${交易日}:${时段}` 缓存 —— 同一时段重复打开 = **0 次模型调用**;休市/取数失败时**不自动生成**(那只会换来一句"证据不足");想重来点卡头「重算」。 ### 2.3 盘中 9:30–15:00 → 「作战」(主战场) 1. **作战思路卡**(同 2.2)+ 顶部一行:`温度计数值 + 档位(总仓闸门)`、`局势标签(Q2)`。 2. 卡片里**透明度三件套**要看一眼:**素材规模**("可点名 N 只票 / 可用 M 个方向名")、**护栏痕迹**(模型点名素材之外的票、自造板块名、引文查不到出处 —— 都会被剔除或划掉并计数)、**采纳痕迹**(写入几项、保留你的答案几项)。 3. **异动事件流**:只显示增量(涨停/跌停/炸板/拉升/大单),收盘后转只读并提示;**板块脉冲**给热度板块的涨停数/涨幅增量,识别资金攻击方向。 4. **持仓决策台**:登记持仓与计划 → 决策条提示 Q1 持续性 / Q2 局势 / Q3 动作;平仓记录进交易日志 → 复盘页形成 p̂/b̂ 自统计,样本 ≥50 前凯利建议为空仓(无证据);点事件行可跳个股页核价量、竞价、资金流再回作战。 ### 2.4 收盘 15:10 后 → 回到「复盘」存档 按 2.1 完成当日复盘 → 形成「明日预期」,闭环到次日的 2.2。 ### 2.5 随时 → 行情 / 自挖板块 / 选股筛选 - **行情**(默认入口,一屏读完):环境带(涨跌家数 / 涨停跌停 / 强势弱势 / 最高连板 / ≥2板晋级 / 两市成交 + 涨跌分布条)定位市场强弱;主行「指数(可切 9 大指数,日 K 看结构、分时看日内节奏)│ 涨停梯队(最高连板 / 梯队结构 / 板块热度)」,底行「榜单(涨幅/跌幅/成交额/换手率,各前 5)│ 市场异动」。**指数与涨停梯队不再是独立入口**——它们就是这一页的两块(旧版本落盘的 `总览`/`指数`/`涨停梯队` 会自动映射到「行情」)。 - **自选**:把关注标的维护成观察池(行情页 ⭐ 或搜索框加),涨跌幅排序;竞价时段它是竞价雷达观察池的一部分。 ### 2.6 让对话助手做 AI 个股分析(对话联动,无需后端) 1. 在个股页「AI 个股分析 · 对话联动」点「复制分析指令」,到对话区粘贴发送;或直接对助手说「用行情工具分析 600519」。 2. 助手会调用行情工具(stock_quote / stock_kline / stock_tick / stock_unusual)实时取数,再从「趋势位置 / 量价 / 风险 / 明日关注」给出结论——结果就在当前对话里,可继续追问。 ## 3. 维护自选(含行情源不可用的场景) 1. 「自选」搜索框输入 **6 位代码或名称** 直接添加(名称命中需要全 A 索引可用)。 2. 行情源暂无 A 股数据(休市/断连)时,搜索名称无命中属正常:**直接输入代码**(如 `600519`、`000001`、`SZ000001`)会出现「直接加入 SH600519(按代码规则推断市场)」入口,可离线维护观察池,行情恢复后自动出价。 3. 自选上限 60;行内 hover 出现 ✕ 移出,顶部「清空」一键清。 ## 4. 个股信息(「工作台」)如何打开 三种入口:左栏「自选 / 个股」任一行 · 任意页面点股票行(行情页的榜单行 / 梯队 chip / 异动行、选股候选、自挖类成员)· 作战页的候选票 / 事件流 / 竞价雷达行(复盘页的事件清单与主线代表同理)。**「工作台」本身不在导航栏上** —— 点一次股票就到了。 工作台自上而下:报价头(含 ★ 加自选)→ 图表卡(**日K**:近3月/6月/1年/全部 区间 + MA 开关;**分时**:当日/最近交易日,昨收虚线)→ 自挖板块(所属共动类 + 同类伙伴 + 最近共动邻居 + 模型命名)→ 资金面板(当日/5日)+ 逐笔成交(折叠)+ 竞价回顾(当日)→ 右栏 AI 研判。「作战」页的候选票点击同样落到这里。 ## 5. 边界场景与提示(2026-09-06 验收后行为;2026-09-14 校订) | 场景 | 页面表现 | 建议 | | --- | --- | --- | | 非交易时段(周末/节假日/盘前盘后) | 行情页环境带显示休市态、页头「休市 · 已暂停定时轮询」;指数块「行情源暂无指数数据」;自选行显示「暂无报价(休市/未连接)」;作战页头部显示 💤休市 并停止轮询,**作战思路不自动生成**(点「生成」仍是允许的) | 做「复盘」功课、维护自选、看事件流历史;也可以手动让模型给一份"次日怎么打"的思路 | | 数据源完全不可达(内置 TDX 连不上) | 页面红条「行情源不可达…」;作战页「温度计暂无数据」、作战思路卡说明「没有可用的盘面素材」 | 见 `MCP-SETUP.md` §3 排障(host 半是否加载、`window.__STOCK_PANEL__.callTool('server_info',{})` 是否返回) | | 数据源会话偶发失效 | 客户端自动重建会话重试(无需刷新) | — | | 某标的单只无数据 | 工作台红条「暂无该标的 K 线数据」 | 可能是退市/停牌/代码错误,换标的 | | 客户端已更新但 host 半还是旧的 | 作战页生成失败提示「宿主半还是旧版本(客户端已更新):重启 `dsh web` 让 host 半重新加载即可」 | 重启 `dsh web`(host 半是进程内加载的;client 半只需硬刷新) | | AI 分析 | 行情工具已注册进当前对话(stock_quote 等),**无需 FastAPI**;右栏「深入对话」直接把上下文与初判注入当前对话 | 直接问助手「用行情工具分析 XX」,可连续追问 | > 无行情时页面不会再把"空数据"误标成"加载中",也不会无限转圈——加载中只出现在请求真正进行中(≤15s 超时兜底)。