python学习【166】:养龙虾(OpenClaw)为何大量使用 .md 文件?与 JSON/CSV 对比、场景定位、TS 适配性
一、学前花絮
如果你读过 养龙虾(OpenClaw)源码,一定会发现一个非常明显的特点:项目中充斥着大量 .md 后缀的 Markdown 文件,从说明文档、插件介绍,到自动生成的会话记忆、上下文记录,几乎无处不在。很多人会疑惑:为什么不用 JSON?不用 CSV?不用更 “结构化” 的格式?MD 和它们到底有什么区别?在 OpenClaw 这种 TypeScript 项目里,MD 真的比其他格式更合适吗?今天我们从源码设计、文件定位、实际用途三个角度,把这件事彻底讲清楚。。二、Openclaw中的md文件与json、csv文件比较
2.1 先明确三件事:MD / JSON / CSV 到底是什么?
1. Markdown(.md)
给人看的文本格式极简语法、易读易写、无标签负担,最终可渲染为 HTML。核心定位:文档、笔记、说明、自然语言内容。2. JSON(.json)
给程序读的结构化数据严格格式、键值对、可嵌套、可直接解析。核心定位:配置、接口、数据存储、程序间通信。3. CSV(.csv)
给程序读的表格数据逗号分隔、轻量、适合二维表。核心定位:数据导出、简单数据集、批量导入。2.2 一句话总结它们的 “赛道区别”
OpenClaw 之所以大量使用 MD,不是因为它 “能存数据”,而是因为 OpenClaw 需要存储大量自然语言、人类可读内容。2.3 从 OpenClaw 源码看:MD 文件究竟用来干什么?
在 OpenClaw 中,MD 文件不是代码,不参与运行,但承担了整个系统最 “人性化” 的部分:1. 会话记忆(Memory)
OpenClaw 会自动把对话历史、关键信息保存为:以上md文件直接可在命令行cmd窗口键入type 文件名即可看到全部内容,非常方便查看。这些内容是给人看的,不是给程序解析的。用 MD 最合适:换行、标题、列表、加粗,自然清晰。2. 插件 / 工具说明
每个插件、工具的描述、使用方法、示例,全部用 MD 编写,因为说明文档天生适合 MD。3. 提示词(Prompt)、系统描述
AI 的角色设定、行为规则、能力边界,都是自然语言,用 MD 最干净、最易维护。4. 官方文档
README、CHANGELOG、LICENSE、教程……开源项目标配,MD 是行业标准。2.4 为什么 OpenClaw 不用 JSON 或 CSV 存这些内容?
1. JSON 不适合存自然语言
2. CSV 更不适合
3. MD 最适合
2.5 OpenClaw 是如何调用 MD 的?(源码级例子)
OpenClaw 底层是 TypeScript(TS),它对 MD 的使用方式非常清晰:1. 读取记忆文件
2. 展示插件说明
前端界面读取插件的 .md 文件,通过 Markdown 渲染器变成漂亮的网页说明。3. 保存会话记录
4. 前端渲染
2.6 结论:TS + MD 是不是 OpenClaw 的最佳组合?
1. TypeScript(简称TS) 擅长处理字符串
MD 本质就是字符串,TS 读取、写入、处理毫无压力。2. MD 适合 AI 场景
AI 输入输出都是自然语言,MD 是最干净、最轻量、最易嵌入提示词的格式。3. 前端可直接渲染
TS 前端(React)可以一行代码把 MD 变成漂亮页面,不需要后端转换、不需要复杂解析。- TypeScript:负责逻辑、控制、权限、模型调用、系统运行
- MD:负责自然语言、文档、记忆、说明、人类可读内容
三、小结
通过研究 OpenClaw的源代码,发现是TS格式,而TS是JS的类型增强。在各个目录及网关的输出日志中发现用了大量的md文件,继续研究md文件发现它与TS的结合是焕然天成的,同时在学习python中用到大量的json、csv文件,以下是它们的对比:OpenClaw 大量使用 MD,不是技术选择,而是场景选择。AI 代理天生需要自然语言,而 MD 是自然语言的最佳载体。TypeScript + Markdown是 OpenClaw 在“程序控制”与“人类语言”之间找到的最优雅平衡。。让我们保持学习的热情,2026年一马当先、马到成功!