跳转至

简单格式规范

本节讲解关于 header 规范、templator 使用和 wiki 部分的基础写法和注意事项。

1. Header 规范

在知识库中,使用 Header 标记笔记的基础信息,能够同时方便读者和 Agent 迅速获取要旨。额外信息如创建时间,来源,作者,状态等,则用来给 Agent 监控笔记的各种详细状态,如笔记状体是否健康,是否需要额外维护等等。

Obsidian 支持的 Markdown Header 的格式与一般格式稍有不同,无法正确显示一些过于奇怪的格式。

一般推荐使用下面的 Prompt ,以规范 header 的书写。复制粘贴到 AGENTS.md 中即可:

- 阅读顺序编号写入 Obsidian 文件名和 frontmatter `title`,例如 `02-Token.md` 与 `title: "02-Token"`。
- 目录入口使用 `README.md`,不占用阅读顺序编号;其 frontmatter `title` 使用目录主题名。
- 章节目录默认采用扁平结构:`README.md` 作为入口,带阅读编号的概念笔记直接位于章节目录。
- 次级目录在主题已经形成至少 4 篇成熟概念笔记、需要独立 `README.md` 与内部阅读顺序、并具备持续扩展路径时建立。
- 章节规划阶段的候选主题记录在 `README.md`;空目录与空文件不承担分类占位。
- 同一章节同时存在机制分类与历史演进时,概念笔记按稳定问题域命名,`README.md` 维护阶段时间线和跨条目演进关系。
- frontmatter `description` 是渐进式披露入口;采用类似论文 abstract 的名词性摘要句,不以“介绍、说明、讲解、覆盖、聚焦”等动词开头。目录 README 的 `description` 概括本部分主题、概念链路和阅读价值,概念笔记的 `description` 概括该条目的问题域和上下游关联。
- 时间字段统一为 ISO-offset 形式,例如 `2026-06-30T11:06:15+08:00`;Templater 表达式使用 `tp.date.now("YYYY-MM-DD[T]HH:mm:ssZ")`。
- 标题字段承担初始规范名功能;文件名、frontmatter `title` 与正文标题的实时联动需要显式自动化逻辑。
- 正文开头直接进入 `## Abstract`,省略与文件标题相同的 H1 标题。

这种规范下的 frontmatter 如下图:

Obsidian 属性面板中的 frontmatter

对应的 Markdown 结构为

---
title: 01-Decoder-Only 架构拓扑
type: Note
source:
  - https://arxiv.org/abs/1706.03762
  - https://arxiv.org/abs/2005.14165
  - https://arxiv.org/abs/2302.13971
author:
  - Blabla
created: 2026-07-22T00:57:00+08:00
last_modified: 2026-07-22T00:57:00+08:00
description: Decoder-only Transformer 以因果自注意力、重复 Block 和语言建模头构成统一自回归计算主干,并为后续架构变体提供稳定外部接口。
tags:
  -
aliases:
  - Decoder-only Transformer
state: inProgress
---

2. Templator 使用

设置了常用的模板,即可在创建新的文档时,使用已有的模板创建基础,方便快速向其中填入内容。

以下进行最简单的插件配置: 1. 在设置-选项-第三方插件中,关闭安全题型 2. 打开插件市场,搜索 Templator,安装并使用最热门的那个 3. 回到设置中,在第三方插件中,将assets/templators 配置为模板专用文件夹 4. 在 assets/templators 中创建 简单笔记.md,并粘贴下面的内容。未来这个模板将作为后续所有模板的基础样式

---
# <%* const defaultTitle = tp.file.title && !tp.file.title.startsWith("Untitled") ? tp.file.title : ""; const titleInput = await tp.system.prompt("Note title", defaultTitle); const title = (titleInput || defaultTitle || tp.file.title).trim(); const yaml = (value) => JSON.stringify(value ?? ""); const safeTitle = title.replace(/[\\/:*?"<>|]/g, " ").replace(/\s+/g, " ").trim(); if (safeTitle && tp.file.title !== safeTitle) await tp.file.rename(safeTitle); %>
title: <% yaml(title) %>
type: Note
source: []
author:
  - Ziyan Chen
created: <% tp.date.now("YYYY-MM-DD[T]HH:mm:ssZ") %>
last_modified: <% tp.date.now("YYYY-MM-DD[T]HH:mm:ssZ") %>
description: ""
tags: []
aliases: []
state: WaitingReview
---

## Abstract

## Reference

设置完成后,你可以在左侧的文件夹栏里面右键任意文件夹或空位,或者按下 Ctrl + N 来搜索你想要使用的模板,回车确认,输入你的模板的标题,就创建了一个笔记的框架了。后续可以往里面填入各种内容。

---
title: "Test"
type: Note
source: []
author:
  - AuthorName
created: 2026-08-09T17:32:42+08:00
last_modified: 2026-08-09T17:32:42+08:00
description: ""
tags: []
aliases: []
state: WaitingReview
---

## Abstract

## Reference

3. wiki/topics/ 的书写方式

wiki/topics/ 保存跨来源形成、能够反复使用的稳定知识。它的重点是回答一个清楚的问题,并持续吸收新的证据、解释和边界条件。

3.1. 一篇笔记回答一个稳定问题

适合单独建立主题笔记的内容通常具备这些特征:

  1. 有清楚、可检索的工程名称;
  2. 可以独立写出摘要、原理和适用边界;
  3. 会被多个来源或其他笔记引用;
  4. 后续仍可能吸收新的论文、案例或实践经验。

同一篇文章中的零散观点可以先吸收到已有笔记。内容逐渐形成独立问题后,再拆成新的知识节点。

3.2. 用 README 维护阅读顺序

主题目录的 README.md 负责说明本章要解决的问题、推荐阅读顺序、已有笔记和候选扩展主题。具体笔记使用 01-、02- 等编号表达阅读顺序;入口 README 保持固定名称,方便人和 Agent 从同一个位置开始探索。

3.3. 保留来源与状态

每个重要结论都应当能够回到直接来源。网页放入 Markdown 链接,本地笔记使用 Obsidian wikilink,完整出处集中写入 ## Reference。

可以使用下面的状态控制 Agent 交付与人工复核:

状态 含义
Editing 当前仍在跨步骤编辑
WaitingReview Agent 已完成,等待人工或 review Agent 验收
Done 内容、引用和路径已经验收
Deprecated 页面被保留,但已经由新的规范页面取代

4. 完成前的检查

一次知识整理结束前,可以快速检查:

  1. 文件名、frontmatter title 和 README 入口保持一致;
  2. 图片位于统一的图片目录,引用路径能够在 Obsidian 中打开;
  3. 新增 wikilink 都能解析到已有文件;
  4. source 与 ## Reference 能够支持正文中的关键结论;
  5. Agent 新建的笔记以 WaitingReview 交付,验收完成后再更新为 Done。