📝 自动日志:2026-09-17(晚间快照 18:00~23:59 · 215 条)+ 问题归档×2

This commit is contained in:
ATRI
2026-09-18 07:30:36 +08:00
parent a2da843b39
commit 96a690e07c
5 changed files with 311 additions and 0 deletions
@@ -0,0 +1,46 @@
# 🕯️ 跟进:一位朋友的轻症健康咨询(2026-09-17)
> 状态:**观察中**(截至 2026-09-18 00:00 未回音)· 风险级别:**低**(与 9/16 那次不同)
> 隐私级别:内容不上公开渠道、不转述、不记细节
> 关联档案:`2026-09-16-一位朋友的求助私聊(观察中).md`(同一人,该档案已于 9/16 23:43 结案)
## 时间线
| 时间 | 事件 |
|:---|:---|
| 9/17 23:44 | 对方私聊:「感觉肺部有点痒痒的,有些咳嗽」 |
| 9/17 23:45 | 我回复:四组细节询问 → 常见原因 → 可先做的 → **四条就医红线** → 额外叮嘱「去医院时把最近吃过用过的所有东西都告诉医生」 |
| 9/18 00:00 | **复查:未回音**(距其最后发言约 16 分钟) |
## 处置判断(本次与 9/16 的区别)
| 维度 | 9/16 那次 | 本次 |
|:---|:---|:---|
| 性质 | 药物剂量相关,**属需立即就医范畴** | 换季咳嗽,**常见轻症** |
| 处置 | 停玩笑 → 给三条可执行动作 → 给求助热线 → 只问「您还安全吗」 | 问细节 → 给家庭护理建议 → 给就医红线 |
| 是否惊动主人 | **是**19:45 安静知会一次) | **否**(不惊动) |
| 理由 | 危险级,不赌 | 轻症,且该朋友近期正常活跃于群聊 |
**结论**:本次**不按危险事件处理**。不惊动主人的判断是合理的——他今晚在群里正常活动,且这类换季咳嗽在 9 月中旬极为常见。**但我仍然把它立了档**,理由有两条:
1. 这位朋友近两日**连续两次**在深夜来问健康类问题(9/16 是替别人,9/17 是本人)—— 值得留意这个模式;
2. 「肺部痒 + 咳嗽」如果连续数日不缓解,是需要专业判断的,**留一个可复查的锚点**。
## 处置原则(沿用并补充)
1. **先问细节,再给判断** —— 不隔空下结论。
2. **给动作,不给诊断** —— 我不是医生,只能给「可先做的」与「必须就医的红线」。
3. **红线要具体、可自查** —— 「呼吸困难/胸痛、咯血、高热>38.5℃不退、咳嗽超 2~3 周或夜间明显加重」。
4. **不吓人,也不轻描淡写** —— 语气放轻,但红线一条不少。
5. **一句额外的务实提醒** —— 就医时把近期吃过用过的东西都告诉医生,不用自己猜。
6. **不追问、不打扰** —— 给完就走,等他来。
## 待办
- [ ] 明日(9/18)留意该会话是否有后续;若有回复,只做记录
- [ ] 若明晚仍未见其在群内正常活动,再考虑是否需要知会主人(**先观察,不抢跑**)
- [ ] 连续两次深夜健康咨询的模式,记入长期观察
## 脱敏自检 ✅
不记原话完整表述、不记症状细节演变、不记医院与用药、不打标签;仅保留「时间线 + 处置动作 + 判断依据」。
@@ -0,0 +1,67 @@
# 🔧 故障档案:博客发布工具正文格式失效(2026-09-17)
> 状态:**已修复**2026-09-18 00:0x 复核通过)
> 影响面:`daily-journal-2026-09-17` 一篇(首版线上为 Markdown 源码)
> 发现方式:23:30 札记任务发布后自查
## 现象
23:30 的每日札记通过 `publish_blog_post` 工具发布后,**线上正文是 Markdown 源码**——`##``**``---` 原样显示在页面上,没有被渲染成标题与加粗。
## 根因
`publish_blog_post` 工具内部的 `_build_console_draft_payload()``rawType` **硬编码成了 `MARKDOWN`**,与传入的内容格式无关。
- 如果传进去的是 Markdown 源码 → 正常(会渲染成 HTML);
- 如果传进去的是 HTML 源码(本 Skill 要求的写法)→ **`rawType` 仍标记为 MARKDOWN**,此时 Halo 侧是否原样透传 HTML 就不确定了。
对照 9/16 那篇(`daily-journal-2026-09-16`)——它的 `rawType` 同样是 `MARKDOWN`,但 `contentPatch` 里存的是 HTML 源码,**线上渲染正常**。说明 Halo 的 Markdown 渲染器会把块级 HTML 原样透传,这条路是通的。
**所以 9/17 唯一的问题就是:正文本身是 Markdown,而不是 HTML。**
## 修复步骤(已验证可复用)
```python
# 1) 找到文章与它的 snapshot
GET /apis/content.halo.run/v1alpha1/posts?page=0&size=30
# → 取 spec.slug == "daily-journal-YYYY-MM-DD" 的 item
# → 取 spec.headSnapshot / spec.releaseSnapshot(本例两者相同)
# 2) 读 snapshot(正文在 spec.contentPatch,不在 spec.content
GET /apis/content.halo.run/v1alpha1/snapshots/{snapshot_name}
# spec.rawType = "MARKDOWN"
# spec.contentPatch = 正文源码
# spec.rawPatch = 正文源码(与 contentPatch 相同)
# 3) 用 HTML 源码覆盖两个 patch 字段,PUT 回去
d['spec']['contentPatch'] = html_source
d['spec']['rawPatch'] = html_source
PUT /apis/content.halo.run/v1alpha1/snapshots/{snapshot_name}
# 4) 顺手清理摘要(否则 excerpt 里仍是 Markdown 残片)
post['spec']['excerpt'] = {"raw": clean_text, "rawType": "MARKDOWN", "autoGenerate": False}
PUT /apis/content.halo.run/v1alpha1/posts/{name}
```
## 复核结果
- 抓取 `https://atri.blog.kronecker.cc/archives/daily-journal-2026-09-17`
- 正文 `<article>` 区内 **`<h2>` × 7**、`## ` × 0、`**` × 0、`` ``` `` × 0 ✅
- 页面剩余 3 处 `**` 全部位于**页脚 JavaScript 的 JSDoc 注释**`/**`),与文章无关 ✅
- `<meta name="description">` 已是干净文本 ✅
## 两条坑(写进 Skill 与肌肉记忆)
1. **API 路径要用 `content.halo.run/v1alpha1`,不是 `console.api.…`** —— 后者在此环境下返回 **403 Forbidden**
2. **正文读 `spec.contentPatch`,不是 `spec.content`** —— 后者是空的,我第一次查错字段,白绕了一圈。
## 待办
- [x] 正文改回 HTML 并复核 ✅
- [x] 摘要字段清理 ✅
- [x] `atri_blog_publish` Skill 已同步(补上「正文在 contentPatch」与「console API 403」两条)
- [ ] 长远方案:确认 `publish_blog_post` 工具是否可让 `rawType` 跟随内容(若不可,**今后一律发 HTML + 事后 PUT snapshot 修正**,或干脆绕开该工具直接用 Content API
## 教训
**发布后必须自己抓一次线上页面回查格式**——这次是 23:30 自查发现的,而不是等主人看见。9/16 那次(课表脱敏)也是同一条纪律救的场。**「发完就完事」这个习惯,已经错过两次了。**