# 舆情监测日报第 214 期（10 月 28 日）

> 活页公开模板 `sample-monitor-daily` · 场景: 监测日报 · 行业: 政务国企 / 自媒体营销
> 任何人、任何 Agent 都可以读、照着改，不需要账号。示例内容均为虚构。
> 真页面: https://space.24haowan.com/s/UE-FcPkJkFFd · 详情: https://space.24haowan.com/examples/sample-monitor-daily

## 这是什么

舆情监测日报 · 每天早上发给领导和相关处室

## 什么时候用

每天都要给领导和几个部门报一次的监测类东西：舆情日报、品牌声量日报、投诉与热线日报、安全巡检日报。有风险分级、要交办到部门、要回收处置进度时选它；同一个链接每天换新内容，各处室在页里回报进展。只发行情、价格、行业要点、不用交办的早报选 sample-daily-brief；每周一次的项目进度选 sample-weekly-report。

## 用户对助手说的原话

把今天的网络舆情监测结果做成一份正式的监测日报网页，发给领导和相关处室：页头是单位抬头、「内部资料」和期号，标题直接写今天最要紧的一句，下面是监测时段、编制人、报送、抄送，再加一句「本页每天早上 8:30 更新，收藏这一个链接即可」；第一屏是今日声量：一个很大的总条数读数和较昨日变化，下面一张近 7 天的走势图（上半是总量折线带 7 日均值虚线，下半是每天的负面条数柱和一条关注线，今天的点有一点呼吸动效，点任意一天看当天明细），再一条正面 / 中性 / 负面的堆叠条，和昨天那条叠着比，下面写三类各多少条、占比、较昨日；然后「需关注事项」按风险等级排，每条左边一条细色线标级别，写事件一句话、首发渠道类型、传播量、责任处室、状态和建议处置；接着热点话题按热度排序、渠道分布用小横条（标出负面那一截）、处置跟踪表（手机上每行变成小卡片）、页内近 5 期的读数；最后一张「处置反馈」表单（事项、处室、状态、进展说明，一个提交按钮），存到一张数据表里。渠道只写类型不写平台名，细线分隔、不用卡片，图在手机上单独画一套。以后每天早上把新内容更新到同一个链接。

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

## 照着做一份

1. 读入口文件 https://space.24haowan.com/examples/sample-monitor-daily/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-monitor-daily ，返回预览链接、7 天分享与认领链接（登录后保留、链接不变）。

## 页面结构

- 今日声量与情感
- 需关注事项
- 热点话题
- 渠道分布
- 处置跟踪
- 往期
- 处置反馈

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

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

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

- 同一链接每天更新不变（每天往同一份页面发一个新版本，往期读数留在页内）
- 页末处置反馈写回数据表（原生表单 POST ./_data/actions），监测组用 list_data_rows 汇总进第二天的处置跟踪
- 阅读回执（谁看了 / 看到哪一节），看领导和各处室有没有看到需关注事项

## 发之前要备好

- 数据表 actions（列 item / dept / status / note，append_open=true）：文末处置反馈表单写进这里，发布前先 set_data 建好
- 每天定时更新：让助手每天早上跑一次（需要助手那边能设定时任务），每次用同一个 proposal_id 发新版本，链接不变

## 模板说明（README）

只进画廊的样例（不种进新工作区）。一家虚构的城市文旅局每天 8:30 报送的网络舆情监测日报；单位、景区、人名、事件与数据均为虚构，渠道只写类型。

## 演示哪个特色

**同一条链接每天更新 + 页内回收处置进度。**

- 日报每天只往**同一个页面**上发一个新版本：`proposal_id` 不变 ⇒ 链接不变，领导和处室收藏一次就够；近 5 期读数留在「往期」里，不用翻聊天记录找旧链接。
- 页末「处置反馈」是一张原生表单，提交进数据表 `actions`（列 `item` / `dept` / `status` / `note`）：各处室在页里报进展，监测组第二天早上 `list_data_rows table=actions` 读回，更新进「处置跟踪」。
- 阅读回执：`list_sessions` / `get_session_timeline` 看领导和各处室有没有打开、有没有看到「需关注事项」那一节（锚点就是每个 `<section>` 的 `data-track-section`）。
- 记忆点是第一屏「今日声量与情感」：大读数 + 7 日走势（上半总量折线、下半负面柱与关注线）+ 今天 / 昨天两条情感堆叠条。没有外链，末尾一小段脚本只做图的进场、点按明细与表单页内提交，不跑时图照常完整、表单照常提交。

## 改哪里变成我的

| 位置 | 改什么 |
|---|---|
| 页头 `.org` / `.facts` | 单位抬头（内联 SVG 标志）、期号、监测时段、编制、报送、抄送；`h1` 写今天最要紧的一句 |
| 「今日声量与情感」 | 大读数 `.big` 与 `.readout-sub`；走势图是两段内联 SVG（`.chart.wide` 电脑 728 宽 / `.chart.narrow` 手机 343 宽，各一套坐标、字号 1:1），每天一个 `<g class="p">` 带 `data-d / data-v / data-n` 明细；改数字两段都要改，`aria-label` 同步。情感条 `.stack`（今天 / 昨天两条，宽度 = 条数占比 × 1000）与下面三格 `.mood` |
| 「需关注事项」 | 每条一个 `<li>`：`class="hi"` 较高 / `"mid"` 一般 / 不写为关注（左侧色线跟着变），`.meta` 四格是首发渠道、传播量、责任处室、状态，`.todo` 是建议处置；按风险从高到低排 |
| 「热点话题」「渠道分布」 | 话题按条数排序，`.th` 里标正面 / 负面为主；渠道每行一个小横条 SVG，`c-all` 宽 = 条数 ÷ 最大那一行 × 1000，`c-neg` 同理是负面那一截 |
| 「处置跟踪」 | 一张 `<table>`，每格带 `data-label`（手机上变小卡时当字段名）；状态用 `.st.verify / .doing / .sent / .done` 四种 |
| 「往期」 | 留最近 5 期：期号、日期、总量、负面条数与占比、一句要点；每天发新版时把昨天的读数挪进来、最旧的一条删掉 |
| 「处置反馈」 | `<form class="fb" action="./_data/actions">`：`name` 就是表里的列名（`item` / `dept` / `status` / `note`），事项下拉跟着当天的跟踪表改 |
| 页脚 | 平台标志与名称（与 `core/space/src/theme.ts` 的 `MARK_SVG` / `PUBLIC_NAME` 逐字一致，测试咬着）+ 一句模板适用场景；发自己的日报时整段删掉 |
| `manifest.json` | `title` / `share.title` / `share.desc`（微信卡片上的字）每天跟着改；节增减时 `sections` 与页里的 `id` / `data-track-section` 三处同改 |

## 数据表

文末「处置反馈」写进数据表 `actions`（列 `item` / `dept` / `status` / `note`，一次提交一行，`append_open=true`）。发布前先建表：

```
set_data  proposal_id: <id>  table: "actions"  columns: ["item","dept","status","note"]  rows: []  append_open: true  revision: 0
```

第二天编日报前用 `list_data_rows table=actions since=<上次的 next_since>` 读回新提交。本地 `space-cli serve` 会把提交写进包里的 `_data/actions.json`，试完记得改回 `[]`。

## 怎么发出去

单文件，最省事的是 MCP `publish_file`（不需要终端）：

```
publish_file
  filename: "index.html"
  content: <index.html 全文>
  title: "舆情监测日报"
  manifest: <manifest.json 的内容，去掉 entry>
  hold: true            # 先看预览，确认后 publish_version
```

回执里有 `proposal_id`。**第二天更新**：换成当天内容再调一次 `publish_file`，传 `proposal_id` 而不是 `title` —— 链接不变。要每天定时出一版，让助手设一个每天早上的定时任务（或用 `report_task`），每次都发到同一个 `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-monitor-daily \
  --proposal <proposal_id> --manifest core/space/examples/sample-monitor-daily/manifest.json \
  --note "第 214 期" --hold
```

给谁看：默认仅自己可见；内部资料建议 `set_visibility` 设 `passcode`，口令只发给报送和抄送的人。

## 素材

- 没有位图；单位标志与图表都是内联 SVG。
- `thumb.webp`：画廊缩略图，由 `examples/verify-shots.mjs --write-thumb` 从成品截出，不进发布包。

## 纪律

- 渠道写类型（短视频平台、本地论坛、新闻客户端），不点名具体平台；事件写事实和传播量，不给当事人贴标签。
- 回执说的是**设备与页面行为**，不是人名；别把「某处室没看」当事实写进日报。
- 数字是示例，发之前整段换掉；页脚那句「示例内容，均为虚构」删掉。
