# 青石复盘 · 10 月 28 日收盘

> 活页公开模板 `sample-market-recap` · 场景: 行情复盘 · 行业: 金融投资 / 个人家庭
> 任何人、任何 Agent 都可以读、照着改，不需要账号。示例内容均为虚构。
> 真页面: https://space.24haowan.com/s/PJ-wH9Ta3lpK · 详情: https://space.24haowan.com/examples/sample-market-recap

## 这是什么

收盘复盘 · 每个交易日收盘后更新同一个链接

## 什么时候用

每个交易日收盘后都要发一次的行情复盘：A 股收盘笔记、投研号日更、基金 / 自选股跟踪，重点是指数分时、板块涨跌和自选，读者关注一次、每天收到更新。要每天早上发行业动态、价格和招标的选 sample-daily-brief；一次性的深度分析选 sample-analysis-report；每周给同事同步进度选 sample-weekly-report。

## 用户对助手说的原话

把今天的 A 股收盘做成一份复盘网页，以后每个交易日收盘后更新同一个链接：页头是栏目名、第几期，标题直接写今天的结论，下面一行交易日和星期、更新时间 15:30、作者、下一期日期，再加一句「本页每个交易日收盘后更新，收藏这一个链接即可」；第一节是三大指数，三个大读数（收盘、涨跌点数、涨跌幅）本身就是切换按钮，下面是选中那只的当日分时图（昨收虚线为中线，上方浅红下方浅绿，标出最高最低和翻红那一刻，底下是每 5 分钟成交额柱，点图上任一时刻能看那一刻的点位）；接着是板块热力色块网格，红涨绿跌、颜色深浅表示涨跌幅，点色块看涨跌家数和领涨；然后是涨跌家数比例条和成交额、北向资金、涨停跌停几个小读数；再是我的自选表（名称、收盘、涨跌幅、成交额、换手率、一句看法），手机上每只变成一张小卡；然后「明日关注」三条，每条标明盘面 / 板块 / 日程；再是往期，页内能切换最近五个交易日的收盘读数；最后是「明天想看哪只」投票表单（名称、想看什么），提交后存到数据表，下面一句不构成投资建议。A 股红涨绿跌，细线分隔、不用卡片，手机电脑两套图表坐标。

如果你还没有活页连接器（MCP），先读 https://space.24haowan.com/for-agents.md ，照里面的说明接入，或不登录直接发布。

## 照着做一份

1. 读入口文件 https://space.24haowan.com/examples/sample-market-recap/source/index.html（它引用的其他文件见下方列表）。
2. 保留结构、版式和交互，把内容**全部**换成用户自己的；模板里的公司、人名、数字都是虚构的，一样都别留。
3. 交付一个自包含的单文件 HTML：样式写在页面里，不引外部字体 / 脚本 / CDN；手机 375 宽和电脑 1440 宽都要好看，模板有暗色就保留暗色。
4. 要发成微信里能打开、改了链接不变的网页：接入活页（https://space.24haowan.com/for-agents.md）后发布；没有账号也可以让用户在 https://space.24haowan.com/quick 上传这个文件。
5. 没有活页工具、但能发 HTTPS 请求：把做好的 HTML 以 Content-Type: text/html POST 到 https://space.24haowan.com/api/quick?client=template-sample-market-recap ，返回预览链接、7 天分享与认领链接（登录后保留、链接不变）。

## 页面结构

- 三大指数
- 板块
- 涨跌与资金
- 我的自选
- 明日关注
- 往期
- 明天想看哪只

## 文件（公开，纯文本）

- https://space.24haowan.com/examples/sample-market-recap/source/index.html（入口）

## 发成活页之后还能做的

- 同一链接每个交易日更新不变（每天往同一份页面发一个新版本），关注了的读者收到更新提醒
- 页末「明天想看哪只」投票（原生表单写进数据表 picks，页面读回提得最多的前三只）
- 往期五个交易日的收盘读数留在页内切换，不用翻旧链接
- 阅读回执（谁看了 / 看到哪一节）

## 发之前要备好

- 数据表 picks（列 name / note，append_open=true）：文末「明天想看哪只」写进这里，页面读回提得最多的前三只；发布前先用 set_data 建好
- 每个交易日更新：让助手每个交易日收盘后跑一次（需要助手那边能设定时任务，休市日跳过），每次用同一个 proposal_id 发新版本，链接不变

## 模板说明（README）

活页模板市场第一波（K1DG）。按 `core/space/examples/QUALITY.md` 做；示例数据均为虚构（栏目「青石复盘」、作者「石砚」、所有个股名称与代码、指数点位、成交额、北向资金都是编的，只按量级参考；日期用 2026 年 10 月真实交易日，10 月 1–7 日国庆休市）。

## 演示哪个特色

**同一个链接每个交易日收盘后更新，关注了的人收到更新提醒；文末投票写回数据表。**

- 真实用户里行情复盘是发得最多的一类，但大多一天一个新链接。这份示范的是：每个交易日 15:30 往**同一个页面**发一个新版本（`proposal_id` 不变 ⇒ 链接不变），读者点过「关注更新」就会在新版本上线时收到提醒；「往期」一节在页内留最近五个交易日的收盘读数，不用翻聊天记录找旧链接。
- **记忆点**是「三大指数」：三个大读数本身就是切换按钮（纯 CSS 单选框 + `:checked`，不跑脚本也能切），下面是选中那只指数的当日分时——昨收虚线、高于昨收铺浅红、低于铺浅绿，标出最高 / 最低和「翻红」那一刻，底下是每 5 分钟成交额柱（红柱 = 这 5 分钟在涨）。点 / 悬停任一时刻（每 10 分钟一个热区）看那一刻的点位与涨跌。收盘点有一圈很轻的呼吸光（全页唯一的循环动画，`prefers-reduced-motion` 时停）。
- 其余安静：板块热力（16 块，按 A 股习惯红涨绿跌，颜色深浅 = 涨跌幅，点色块看涨跌家数与领涨）、涨跌家数比例条 + 四个小读数、自选宽表（手机上每只一张小卡）、「明日关注」三条、往期五天（同样纯 CSS 切换）。
- 发出去之后：文末「明天想看哪只」是原生表单，写进数据表 `picks`；脚本在时页内提交，并读 `./_data/picks.json` 数出提得最多的前三只。
- 阅读回执照常：锚点是每个 `<section>` 的 `data-track-section`。

设计方向（QUALITY §1.1）：风格「数据看板」。冷石灰底 `#F3F5F5`、墨色字 `#121A1F`、青石色走势线 `#245F5A`（栏目名「青石」），涨跌红 `#C7352B` / 绿 `#137A53` 只用于真实的涨跌；数字用 DIN 系的系统字体（`DIN Alternate`，缺了回落系统字）。细线分隔、不用卡片。

## 改哪里变成我的

| 位置 | 改什么 |
|---|---|
| 页头 `.org` / `h1` / `.facts` | 栏目名（内联 SVG 标志）、第几期、今天的结论、交易日 / 更新时间 / 作者 / 下一期 |
| 「三大指数」`.ros` | 三个读数（收盘、涨跌点数、涨跌幅）；`label for="ix-…"` 与上面的 `input#ix-…` 一一对应 |
| 分时图 `.cbox` | 每只指数两段内联 SVG（`.chart.wide` 电脑 728 宽 / `.chart.narrow` 手机 343 宽，各一套坐标、字号 1:1）。横轴是 240 个交易分钟（9:30–11:30、13:00–15:00 拼在一起），纵轴以昨收为中线、上下对称到 ±R%（R 取 0.5 的整数倍）。每个 `<g class="p">` 是一个点按热区，`data-d` / `data-v` / `data-c` 是提示框三行；`<title>` 是不跑脚本时的悬停提示。下面 `dl.ohlc` 写今开 / 最高 / 最低 / 昨收 / 成交额 |
| 「板块」`.heat` | 每块一个 `<button class="hc up|dn" style="--t:透明度">`，`data-detail` 是点按后下面那一行；不跑脚本时 `.heat-detail` 显示排第一的那块 |
| 「涨跌与资金」 | `.split` 三段宽度 = 上涨 / 平盘 / 下跌家数占比；`.minis` 四个小读数 |
| 「我的自选」`table.watch` | 一只一行：名称、代码、持有 / 观察、收盘、涨跌幅（涨停加 `.lim`）、成交额、换手率、一句看法。手机上 `tr` 变成三层的小卡 |
| 「明日关注」`.next` | 三条：左栏写属于盘面 / 板块 / 日程，一句加粗的事实 + 一句怎么看 |
| 「往期」 | 五个 `input#day-0…4` + `.days` 里的日期 + 五个 `.dp` 面板；新的一天来了，整体往前挪一格，最旧的一天删掉 |
| 「明天想看哪只」 | 原生 `<form class="ask" action="./_data/picks">`，字段名 `name` / `note` 就是表里的列名 |
| 页脚 | `.disclaim` 一句不构成投资建议；平台标志与名称（与 `core/space/src/theme.ts` 的 `MARK_SVG` / `PUBLIC_NAME` 逐字一致，测试咬着）+ 一句适用场景，发自己的复盘时整段删掉 |
| `manifest.json` | `title` / `share.title` / `share.desc`（微信卡片上的字，每天跟着改）；节增减时 `sections` 与页里的 `id` / `data-track-section` 三处同改 |

数字要自洽：今天的「昨收」= 往期里昨天的收盘；涨跌幅 = 涨跌点数 ÷ 昨收；两市成交额 = 沪市 + 深市；较昨天的增量 = 今天 − 往期里昨天的成交额；涨跌家数比例条的三段加起来是 100%。分时线最后一个点必须等于收盘，最高 / 最低从分时数据里取。

## 数据表

文末投票写进数据表 `picks`（一次一行，`append_open=true`）。发之前先建表：

```
set_data  proposal_id: <id>  table: "picks"  columns: ["name","note"]  rows: []  append_open: true  revision: 0
```

用 `list_data_rows table=picks` 读回，挑提得多的写进下一期的自选。本地 `space-cli serve` 会把提交写进包里的 `_data/picks.json`，试完记得改回 `[]`。

## 怎么发出去（每个交易日更新，链接不变）

第一次用 MCP `publish_file` 发（`title` + `manifest`，`hold: true` 先看预览再 `publish_version`），回执里有 `proposal_id`；再按上面建表。
**之后每个交易日**：换掉正文与 `manifest.share`，再调一次 `publish_file`，这次传 `proposal_id` 而不是 `title` —— 链接不变，关注了的读者收到更新提醒。

想让助手每天收盘后自己做：在助手那边设一个每个交易日 15:10 的定时任务，写清楚数据从哪取、按这份的结构出页、用上面那个 `proposal_id` 发（节假日休市那天跳过）。

有终端时也可以用 CLI：

```bash
export SPACE_TOKEN=sk-space-…            # MCP create_cli_token
node core/space/cli/space-cli.mjs push core/space/examples/sample-market-recap \
  --proposal <proposal_id> --manifest core/space/examples/sample-market-recap/manifest.json \
  --note "10 月 28 日收盘"
```

给谁看：默认仅自己可见；发到群里用 `set_visibility`（`passcode` 口令可看，或 `public`）。

## 素材

- 没有位图；标志与图表都是内联 SVG，个股、点位、资金数据均为虚构，只作示意。
- `thumb.webp`：画廊缩略图，由 `examples/verify-shots.mjs --write-thumb` 从成品截出，不进发布包。

## 纪律

- 「我的看法」「明日关注」里的判断是个人看法，不要写成事实；页脚上方那句不构成投资建议要留着。
- 不写真实上市公司名与真实股票代码的虚构内容；发自己的复盘时数字整段换成真实数据，页脚那句「示例内容，均为虚构」删掉。
