灵感来源:Claude Code 的 # MAGIC DOC: 机制。
文档写完就开始过时。项目变了、API 改了、决策变了——但没人更新文档。
Agent 做了大量操作,学到了很多信息,但这些信息散落在对话里,不会自动沉淀到文档。
在任何 Markdown 文件的前 5 行内加入标记:
<!-- MAGIC DOC -->
# 项目架构笔记
记录项目的关键架构决策和技术选型。
<!-- MAGIC DOC scope="飞书API,权限配置" -->
<!-- MAGIC DOC scope="设备信息,网络配置" update="daily" -->
scope:限定关注范围(逗号分隔的关键词),只在对话涉及这些主题时更新update:更新频率。realtime(每轮,默认)、daily(每天一次)、manual(只在主动要求时更新)# 扫描 workspace 中的 Magic Doc 文件
grep -rl "<!-- MAGIC DOC" . --include="*.md" | head -20
建立索引:文件路径、scope、update 频率、最后更新时间。
对每个 Magic Doc,判断本轮对话是否包含相关的新信息:
判断标准(严格):
如果判断为"不相关" → 跳过,不更新。
读取文档完整内容,然后:
edit 工具精确修改## 设备信息
- NAS IP: 192.168.5.27 <!-- updated 2026-04-02 -->
- SSH 密码: 旧密码已失效,新密码见 TOOLS.md <!-- updated 2026-04-02 -->
在文档末尾维护一个更新日志:
---
## Changelog
- 2026-04-02: 更新 NAS SSH 密码,新增 IMA API 配置
- 2026-04-01: 新增 ESP32 方糖设备信息
当用户要求创建活文档时:
<!-- MAGIC DOC scope="关键词1,关键词2" -->
# [文档标题]
[用户指定的初始内容,或从对话中提取的信息]
---
## Changelog
- YYYY-MM-DD: 初始创建
用户:帮我创建一个活文档,记录所有设备的网络配置
Agent:
1. 创建 devices-network.md
2. 加 <!-- MAGIC DOC scope="IP,SSH,网络,设备" -->
3. 从 MEMORY.md 和 TOOLS.md 中提取现有设备信息写入
4. 此后每次对话涉及设备变更时自动更新
用户:(正常对话中)NAS 的 IP 换成 192.168.5.30 了
Agent:
1. 正常处理用户请求
2. 对话结束时,发现 devices-network.md 是 Magic Doc 且 scope 匹配
3. 自动更新文档中的 NAS IP
共 1 个版本