AGENTS.md
本文件用于指导 Codex(及其他自动化代理)维护这个 Obsidian 知识库。项目的权威内容规范见 SCHEMA.md;如与本文件冲突,以 SCHEMA.md 为准。
项目目标
这是一个以 AI、软件工程和产品思考为核心的个人学习知识库。维护时优先沉淀可复用、可追溯、能通过 [[wikilinks]] 彼此关联的知识,而不是堆积临时笔记。
目录职责
| 路径 | 用途 |
|---|---|
entities/<domain>/ | 人物、组织、产品、工具、模型、框架和项目 |
concepts/<domain>/ | 技术、方法论和主题概念 |
comparisons/<domain>/ | 多个对象的并列分析 |
queries/<domain>/ | 值得长期保留的综合问答 |
raw/ | 已采集的原始资料;按 articles、papers、transcripts、video、assets 分类 |
_archive/ | 被完全取代的页面 |
_meta/ | 知识库元数据 |
Clippings/、.obsidian/ | 既有 Vault 内容,除非用户明确要求,否则不得迁移、重写或批量处理 |
工作规则
- 先阅读
SCHEMA.md、index.md,再新建或修改知识库页面。 - 不自动导入、总结或改写
Clippings/和其他既有 Vault 内容;仅处理用户明确指定的资料。 - 正式页面路径使用
<知识类型>/<domain>/YYYY-MM-DD-<英文-kebab-case>.md;domain只能是aigc、architecture、cloud-native、database、golang、middleware、tools,并必须与所在子目录一致。日期取首次创建日期并与 frontmatter 的created一致,后续更新时不得更换日期前缀。 entities/<domain>/、concepts/<domain>/、comparisons/<domain>/、queries/<domain>/下的每个页面都必须包含符合SCHEMA.md的 YAML frontmatter;根目录控制文件、README.md、_inbox/草稿及raw/原始资料遵循各自既有规则。- 创建页面时,优先复用既有页面;确有必要的新页面应至少添加两条有意义的
[[wikilinks]]。若当前关联不足,应在交付时说明原因,不要编造链接。 - 更新现有知识页面时同步更新 frontmatter 中的
updated日期;保留历史上仍有价值的不同观点,并按规范标记冲突。 - 每次知识库内容操作后,向
log.md追加一条记录;不得改写已有日志。创建、修改或归档知识页面后,同步维护index.md中的分组、摘要、总页数和最后更新日期。 raw/中已采集的原始资料不可修改。修正、摘要、翻译和综合分析应写到知识库页面,并通过sources:或脚注关联原始资料。- 综合三个及以上来源时,在每段具体论述末尾添加
^[raw/.../source-file.md]来源标记;单一来源页面可依赖完整的sources:frontmatter。 - 只使用
SCHEMA.md已定义的标签。新增标签前,先更新规范并取得用户确认。
维护流程
- 确认用户要处理的资料或主题,以及是否允许写入知识库。
- 搜索现有页面,避免重复建页;分别判断页面的知识类型与唯一主领域。
- 写入或更新页面,补全 frontmatter、来源和
[[wikilinks]]。 - 更新
index.md与log.md。 - 复查文件名、链接、日期、来源路径和索引统计是否一致;仅报告实际完成的内容。
安全边界
- 不批量重命名、移动、删除或重写 Vault 文件,除非用户明确指定范围。
- 不删除原始资料;页面被完全取代时,按
SCHEMA.md移至_archive/。 - 不捏造来源、日期、事实、链接或“已验证”的结论。信息不足时标记
confidence: low,或先向用户说明缺口。 - 保持 Markdown 与 Obsidian wikilink 兼容;不要引入需要特定插件才能阅读的格式,除非用户要求。
常用核查
在完成批量或复杂维护前,至少检查:
rg --files entities concepts comparisons queries raw
rg -n '^updated:|^domain:|^sources:|\\[\\[|\^\[raw/' entities concepts comparisons queries