Markdown 即配置

一句话总结

OpenClaw 使用带 YAML frontmatter 的 Markdown 文件作为主要的配置和数据格式,而非 JSON/YAML 配置文件或数据库。

出现位置

模块如何使用这个模式
Skills 系统每个 skill 是一个 SKILL.md,YAML frontmatter 存元数据,Markdown 正文存指令
记忆Agent 记忆以纯 Markdown 文件存储在 ~/clawd/
Agent 配置Agent 行为部分通过 Markdown 指令文件定义
会话笔记Agent 在 /compact 时写入的持久化笔记是 Markdown

工作原理

OpenClaw 不使用结构化配置文件(JSON、YAML、TOML)或数据库,而是将配置和数据存储为 Markdown 文件。元数据放在 YAML frontmatter(文件顶部 --- 分隔块)中,内容放在 Markdown 正文中。

---
name: my-skill
description: Does a thing with an API
metadata:
  openclaw:
    requires:
      env:
        - MY_API_KEY
---

# my-skill

关于如何使用这个 skill 的指令...

为什么 OpenClaw 使用这个模式

  1. 人类可读可编辑:不需要特殊工具。任何文本编辑器都行。
  2. AI 可读:LLM 可以原生解析 Markdown。Agent 理解 skill 指令不需要序列化/反序列化。
  3. Git 友好:Markdown 的 diff 干净可审查。整个工作空间可以纳入版本控制。
  4. 工具无关:兼容 Obsidian、VS Code、Vim 或任何支持 Markdown 的工具。

对贡献者的影响

  • 添加需要配置的新功能时,先考虑 Markdown + frontmatter 是否合适,再去用 JSON。
  • Skill 指令被直接注入 agent 的 system prompt。你在 SKILL.md 中写的内容就是 LLM 看到的内容。为模型写作,而不仅仅是为人类。
  • 记忆文件是追加友好的。系统假设可以直接写入新的 Markdown 文件,不需要与已有文件协调。

相关模式

  • local-first-persistence(计划中)