vscode-templete/.claude/skills/auto-wiki-cn/references/wiki-format.md

10 KiB
Raw Permalink Blame History

Wiki 页面格式

所有 frontmatter 结构由 schema.py 中的 Pydantic 模型定义和校验。 本文档是人类可读的规范说明,schema.py 是机器可执行的校验工具。两者必须一致。 校验命令:python references/schema.py .wiki/{主题}/

目录结构

每个研究主题一个目录:

{主题名}/
├── meta.yaml         # Wiki 元数据(见 storage-spec.md
├── index.md          # 页面目录Agent 维护,按类型分组)
├── log.md            # 操作日志append-only人类可读
├── sources/          # 源文件摘要
├── entities/         # 实体页(机构、人物、产品)
├── concepts/         # 概念页(制度、方法、指标)
└── analyses/         # 分析归档query 产出的有价值分析)

cognitive 类型 wiki 的目录变体:

{人物名}/
├── mental-models/    # 替代 entities/——每个心智模型一个页面
├── concepts/         # 启发式、价值观、表达风格、矛盾
├── sources/          # 采集来源
└── analyses/         # 分析归档

页面格式

每个页面分为两部分:YAML frontmatter结构化数据 + Markdown 正文(叙事分析)

核心原则:数据放 YAML分析放正文。 正文不写数据表格。


Frontmatter Schema

基础字段(所有页面必填)

---
title: 页面标题
type: entity                    # entity | concept | source | analysis | mental-model
created: 2026-04-06
updated: 2026-04-06
sources: [source-slug-1, source-slug-2]
confidence: high                # high | medium | low | contested
tags: [entity]                  # 必填:页面类型 + 可选状态标签
aliases: []                     # 可选:页面别名
---
字段 必填 说明
title 页面标题
type 页面类型
created 创建日期 YYYY-MM-DD
updated 最后更新日期(每次修改必须更新)
sources 引用的 source 页面 slug 列表source 类型页面填 []
confidence 置信度:high / medium / low / contested
tags Obsidian 标签列表,用于搜索过滤和分类浏览
aliases 页面别名列表,用于 Obsidian 搜索和链接补全

tags 规则Obsidian 搜索过滤必需)

tags 必须包含页面类型(source / entity / concept / analysis / mental-model),可追加状态标签:

tags:
  - concept                    # 必填:页面类型
  - contested                  # 可选confidence=contested 时加
  - low-confidence             # 可选confidence=low 时加

source 类型页面额外加来源等级标签:

tags:
  - source
  - primary-source             # 一手来源
  # 或 authoritative-secondary / secondary / hearsay / inference

这些标签用于 Obsidian 搜索过滤(如在搜索栏输入 tag:#contested 快速定位有争议的页面)。图谱着色不依赖 tags——靠 path: 规则区分页面类型,靠 [confidence:contested] Properties 查询高亮风险节点。

aliases 规则

标题含括号说明时,拆出短名和括号内容作为别名:

title: EET 税收模式(个人养老金税优机制)
aliases:
  - EET 税收模式
  - 个人养老金税优机制

结构化数据 → data.db

所有可量化、可查证、可对比的数据写入 data.dbSQLite不放在 frontmatter 中。

Agent 在 ingest 时调用 store.pyWikiStore 接口:

store.upsert_data("alpha-corp", "管理规模", 1350, "亿元", "2025-Q1", "2026-04-policy-doc", scope="含职业年金")
store.upsert_data("alpha-corp", "市场份额", 12, "%", "2025-Q1", "2026-04-policy-doc", confidence="contested")

如果同字段同时段已有旧值,upsert_data 自动将旧值写入 history 表并返回旧记录。

数据字段规范(由 store.py: data_points 表约束):

字段 必填 类型 说明
page_slug TEXT 所属页面的 slug
field TEXT 数据维度名(如"管理规模"
value REAL 数值
unit TEXT 单位(亿元、%、万人、家...
period TEXT 数据时点(如 "2023-12"、"2025-Q1"
source_slug TEXT source 页面 slug
scope TEXT 统计口径说明
verified INTEGER NULL=未知, 0=未验证, 1=已验证
confidence TEXT 该数据点的置信度

每个数字都必须有出处。 source_slug 指向哪个 source 页面。

查询示例

# 某机构的所有数据
store.query_data(page_slug="alpha-corp")

# 某字段的时间线(含历史值)
store.query_timeline(field="管理规模")

# 所有 contested 数据
store.conn.execute("SELECT * FROM data_points WHERE confidence='contested'").fetchall()

relations 字段(结构化关系)

页面间的语义关系,补充正文中的 [[wikilink]]

relations:
  - target: beta-corp
    type: competes_with
  - target: 受托人市场格局
    type: part_of
  - target: national-council-ssf
    type: regulated_by

常用关系类型

type 含义 示例
part_of 属于 某机构 part_of 受托人市场
manages 管理 受托人 manages 年金基金
regulated_by 受监管 机构 regulated_by 人社部
competes_with 竞争 机构A competes_with 机构B
implements 实施 机构 implements 受托责任
derived_from 来源于 概念 B derived_from 概念 A
contradicts 矛盾 数据 A contradicts 数据 B
influenced_by 受影响cognitive 类型) 心智模型 influenced_by 人物
applies_to 适用于 心智模型 applies_to 领域

relations 规范

  • target 填 slug不加路径前缀
  • type 从上表选取,或自定义(但保持项目内一致)
  • relations 是 frontmatter 中的结构化声明,正文中的 [[wikilink]] 是人类可读的引用——两者互补

source 类型页面的额外字段

---
title: 人社部2024年度企业年金基金统计报告
type: source
created: 2026-04-06
updated: 2026-04-06
sources: []
confidence: high
source_type: 一手               # 一手 | 二手·权威 | 二手 | 转述 | 推断 | 口述
source_origin: 人社部官网
source_date: 2024-12-31         # 原始材料的日期(不是 ingest 日期)
source_url: ""                  # 来源 URL如有
---

cognitive 类型(心智模型页)的额外字段

---
title: 能力圈
type: mental-model
created: 2026-04-06
updated: 2026-04-06
sources: [poor-charlies-almanack]
confidence: high
verification:
  cross_domain: true            # 跨域复现
  generative: true              # 有生成力
  exclusive: true               # 有排他性
  domains: [投资, 商业决策, 人生选择]  # 出现过的领域
---

正文约定

正文只写叙事分析和上下文解读,不写数据表格。

以下为示例(以金融领域为例):

# 某机构业务概况

该机构是行业规模最大的参与者之一。2025年Q1管理规模增至 XXX 亿元,
但市场份额数据因统计口径变更与上期报告不可直接比较。

[[competitor-a|竞争对手 A]]同期增速行业第一,正在缩小差距。
详见 [[市场格局]]。

正文规则

  • [[slug]][[slug|显示名]] 做页面链接
  • 提到数据时引述结论,不重复 frontmatter 中的具体数值(避免不一致)
  • 可以用 > ⚠️ blockquote 标注重要警告(如口径差异)
  • 分析性内容是正文的核心价值——这是 YAML 无法承载的部分

文件命名

  • slug 格式:小写字母 + 连字符,如 alpha-corp.md
  • 中文概念用中文 slug受托人市场格局.mdObsidian 友好)或拼音 slug
  • source 页面加日期前缀:2026-04-06-hrss-report.md(连字符分隔)

index.md 格式

index 只做导航,不内联数据:

# {主题名} Wiki Index

> {N} pages | Last updated: {日期} | Type: {ontology_type}

## Entities ({N})
- [[alpha-corp]] — 机构 A 养老金业务
- [[beta-corp]] — 机构 B 养老保险

## Concepts ({N})
- [[受托人市场格局]] — 受托人竞争格局与份额
- [[企业年金制度]] — 政策法规与制度框架

## Sources ({N})
- [[2026-04-06-hrss-report]] — 人社部2024年度报告
- [[2026-04-06-q1-briefing]] — 2025年一季度市场简报

## Analyses ({N})
- [[trustee-comparison]] — 受托人市场格局对比分析

index 规则:每个条目一行,[[slug]] — 一句话描述。不放表格、不放统计数据。

log.md 格式

# {主题名} Wiki Log

## 2026-04-06 14:30 — ingest
- Source: 2026-04-06-hrss-report
- Created: entities/alpha-corp, concepts/受托人市场格局
- Updated: (无)
- Conflicts: (无)

## 2026-04-06 15:00 — ingest
- Source: 2026-04-06-q1-briefing
- Updated: entities/alpha-corp (管理规模 1200→1350亿份额 contested)
- Created: entities/beta-corp
- Conflicts: alpha-corp.市场份额 (15% vs 12%,口径不同)

Validation Rules

规则 要求
frontmatter 完整 title, type, created, updated, sources, confidence 六字段必须存在
type 值合法 source / entity / concept / analysis / mental-model
data 字段规范 每个数据点必须有 value, unit, period, source
history 有 reason 每条历史记录必须有 reason 字段
relations 有 type 每条关系必须有 targettype
sources 非空 除 source 类型外,sources 列表至少一个 slug
日期格式 YYYY-MM-DD
slug 与文件名一致 文件名(去 .md= slug

置信度更新规则

事件 置信度变化
新 source 印证已有数据data 字段一致) high
新 source 更新已有数据(有更新时点/更权威来源) 更新 data旧值进 history
新 source 与已有数据矛盾且无法判断 data 中该字段 confidence → contested
lint 发现 data 中有无 source 的字段 low
页面 6 个月未被 ingest 触及 lint 建议标注"待验证"