Clawdbot/Moltbot vs OpenCode 文件结构深度研究报告
-
Clawdbot/Moltbot vs OpenCode 文件结构深度研究报告
目录- 🦞 第一部分:Clawdbot 文件结构详解
- 1.1 产品定位与核心特点
- 1.2 📁 整体目录结构
- 1.3 🧠 记忆文件系统详解
- 1.4 📝 手动添加记忆的方法
- 1.5 🔍 向量搜索与语义记忆
- 1.6 🛠️ Skills 系统
- 1.7 ⚙️ 主配置文件 clawdbot.json
- 🖥️ 第二部分:OpenCode 文件结构详解
- 2.1 产品定位与核心特点
- 2.2 📁 整体目录结构
- 2.3 🧠 规则/记忆文件:AGENTS.md
- 2.4 📝 手动添加规则的方法
- 2.5 🤖 自定义 Agent
- 2.6 💡 Skills 系统
- 2.7 ⚙️ 配置文件 opencode.json
- ⚖️ 第三部分:对比分析
- 3.1 📊 核心定位对比
- 3.2 📁 文件结构对比
- 3.3 🧠 记忆系统对比
- 3.4 🎯 手动添加记忆/规则的操作对比
- 3.5 🔧 适用场景对比
- 📚 第四部分:实践建议
- 4.1 🦞 Clawdbot 记忆管理最佳实践
- 4.2 🖥️ OpenCode 规则管理最佳实践
- 📚 参考资源
- Clawdbot 官方资源
- OpenCode 官方资源
- 社区教程
- 📝 总结表
本研究旨在深入对比两款 AI 编程/助手工具——Clawdbot(跨平台个人 AI 助手,昵称"龙虾"🦞)与 OpenCode(开源终端 AI 编程 Agent)的文件结构与配置系统,帮助用户理解如何手动添加记忆、背景资料和自定义配置。
🦞 第一部分:Clawdbot 文件结构详解
1.1 产品定位与核心特点
Clawdbot(现已更名为 Moltbot)是一款隐私优先的个人 AI 助手,可以在你自己的设备上运行,并通过你已经使用的渠道与你交互:
📱 支持渠道:WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Microsoft Teams、WebChat、Matrix、Zalo 等
核心设计理念:
- 🔒 隐私优先:数据存储在本地,无需云端
- 📄 记忆即 Markdown:所有记忆都是纯文本文件,可版本控制
- 🔌 插件化架构:通过 Skills 和 Plugins 扩展功能
- 🌐 多渠道统一:一个 AI,多个聊天入口
1.2 📁 整体目录结构
Clawdbot 采用双目录分离设计:工作区(Workspace)存放"大脑内容",状态目录存放"运行数据"。
┌─────────────────────────────────────────────────────────────────┐ │ Clawdbot 目录架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ~/clawd/ ← 🧠 Agent 工作区(可版本控制) │ │ ├── AGENTS.md ← 操作指令/行为规范 │ │ ├── SOUL.md ← 人格定义/语气风格 │ │ ├── IDENTITY.md ← 身份信息 │ │ ├── USER.md ← 关于用户的知识 │ │ ├── MEMORY.md ← 长期核心记忆 │ │ ├── TOOLS.md ← 工具使用说明 │ │ ├── HEARTBEAT.md ← 定时任务清单(可选) │ │ ├── memory/ ← 📅 每日记忆日志 │ │ │ ├── 2026-01-25.md │ │ │ ├── 2026-01-26.md │ │ │ └── ... │ │ └── skills/ ← 🛠️ 工作区级技能 │ │ └── my-skill/ │ │ └── SKILL.md │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ~/.clawdbot/ ← ⚙️ 状态目录(系统数据) │ │ ├── clawdbot.json ← 主配置文件 │ │ ├── credentials/ ← 🔑 认证凭据 │ │ │ ├── oauth.json │ │ │ └── whatsapp/ │ │ │ └── default/ │ │ │ └── creds.json │ │ ├── agents/ ← 🤖 Agent 配置与会话 │ │ │ └── main/ │ │ │ ├── agent/ │ │ │ │ └── auth-profiles.json │ │ │ └── sessions/ ← 💬 聊天历史 │ │ │ └── session-xxx.json │ │ ├── memory/ ← 🔍 向量索引数据库 │ │ │ └── <agentId>.sqlite │ │ ├── skills/ ← 🛠️ 全局共享技能 │ │ │ └── shared-skill/ │ │ │ └── SKILL.md │ │ └── plugins/ ← 🔌 已安装插件 │ │ │ └─────────────────────────────────────────────────────────────────┘1.3 🧠 记忆文件系统详解
Clawdbot 的核心设计哲学是:记忆 = 纯 Markdown 文件。没有数据库,没有私有格式,没有供应商锁定。
核心记忆文件一览
文件 用途 内容示例 📜 AGENTS.md 操作指令、行为规范 "回复保持简洁"、"使用中文" 👻 SOUL.md 人格定义、语气风格 "风趣幽默"、"像老朋友一样聊天" 🪪 IDENTITY.md Agent 的身份信息 "我叫 Clawd,是你的私人助理" 👤 USER.md 关于用户的知识 "用户是程序员"、"喜欢咖啡" 🧠 MEMORY.md 长期核心记忆(精炼版) 重要决策、偏好、教训总结 🛠️ TOOLS.md 工具使用注意事项 "发送日历时使用 iCal 格式" ⏰ HEARTBEAT.md 定时任务清单 "每天 9 点发送天气预报" 每日记忆日志:
memory/YYYY-MM-DD.md这是追加式的每日流水账,记录当天发生的一切:
# 2026-01-28 ## 上午 - 用户询问了关于 React 性能优化的问题 - 建议使用 useMemo 和 React.memo ## 下午 - 帮用户预订了周五晚上 7 点的餐厅 - 餐厅:望京小腰,6 人位 ## 决策记录 - 用户确认以后所有代码示例都用 TypeScriptMEMORY.md vs memory/YYYY-MM-DD.md 的区别
维度 MEMORY.md memory/YYYY-MM-DD.md 性质 精炼的长期知识 原始的每日日志 类比 📕 课本笔记 📓 课堂草稿 内容 偏好、重要决策、教训 对话记录、任务完成情况 更新频率 手动整理 自动追加 用途 每次会话都加载 按需检索 1.4 📝 手动添加记忆的方法
方法一:直接编辑 Markdown 文件
# 添加长期偏好 echo "- 代码示例优先使用 Python" >> ~/clawd/MEMORY.md # 修改人格 nano ~/clawd/SOUL.md # 添加操作指令 echo "- 每次回复结尾加一个表情" >> ~/clawd/AGENTS.md方法二:通过对话让 Agent 自己写入
在任意渠道(WhatsApp/Telegram 等)对 Clawdbot 说:
"请记住:我更喜欢简洁的回复,不需要太多解释。把这个写到 MEMORY.md 里。"
Agent 会自动将这条偏好写入
MEMORY.md。方法三:使用 CLI 命令
# 进入 Clawdbot CLI clawdbot # 使用 memory 相关命令 clawdbot memory list clawdbot memory add "用户喜欢早起,每天 6 点发送新闻摘要"1.5 🔍 向量搜索与语义记忆
Clawdbot 会为
MEMORY.md和memory/*.md建立向量索引,支持语义搜索:配置位置:
~/.clawdbot/clawdbot.json{ "memorySearch": { "enabled": true, "provider": "local", "local": { "modelPath": "hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf" } } }索引存储位置:
~/.clawdbot/memory/<agentId>.sqlite1.6 🛠️ Skills 系统
Skills 是可复用的工具使用指南,教 Agent 如何使用特定工具。
Skills 加载优先级(高→低):
~/clawd/skills/— 工作区级(仅当前 Agent)~/.clawdbot/skills/— 全局共享(所有 Agent)- 内置 Skills — 随安装包提供
Skill 文件结构:
my-calendar-skill/ ├── SKILL.md # 必需:YAML frontmatter + 指令 ├── scripts/ # 可执行脚本 ├── references/ # 参考文档 └── assets/ # 输出资源SKILL.md 示例:
--- name: calendar-manager description: 管理 Google 日历的技能 tools: - gcal-create - gcal-list - gcal-update --- # 日历管理技能 ## 使用指南 1. 创建事件时,确认用户时区 2. 邀请他人前先询问确认 3. 默认提前 30 分钟提醒 ## 常见场景 - 用户说"约会议"→ 使用 gcal-create - 用户说"看看日程"→ 使用 gcal-list1.7 ⚙️ 主配置文件
clawdbot.json位置:
~/.clawdbot/clawdbot.json完整配置示例:
{ "agent": { "model": "anthropic/claude-sonnet-4", "workspace": "~/clawd", "temperature": 0.7 }, "providers": { "anthropic": { "apiKey": "sk-ant-..." }, "openai": { "apiKey": "sk-..." } }, "gateway": { "host": "127.0.0.1", "port": 18789 }, "memorySearch": { "enabled": true, "provider": "local" }, "channels": { "telegram": { "enabled": true, "botToken": "xxx" }, "whatsapp": { "enabled": true } } }🖥️ 第二部分:OpenCode 文件结构详解
2.1 产品定位与核心特点
OpenCode 是一款开源的终端 AI 编程 Agent,专注于代码开发场景,提供 TUI(终端用户界面)体验。
核心特点:
- 🔓 完全开源:GitHub 41,000+ Stars
- 🤖 多模型支持:75+ AI 提供商
- 💻 Terminal-First:Vim/Neovim 用户友好
- 🧩 兼容 Claude Code:支持 CLAUDE.md 作为 fallback
2.2 📁 整体目录结构
┌─────────────────────────────────────────────────────────────────┐ │ OpenCode 目录架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ your-project/ ← 📂 项目目录 │ │ ├── opencode.json ← ⚙️ 项目配置(或 opencode.jsonc) │ │ ├── AGENTS.md ← 🧠 项目规则/记忆 │ │ └── .opencode/ ← 📁 项目扩展目录 │ │ ├── agent/ ← 🤖 自定义 Agent │ │ │ ├── reviewer.md │ │ │ └── tasks/ │ │ │ └── research.md │ │ ├── command/ ← ⌨️ 自定义命令 │ │ │ ├── deploy.md │ │ │ └── test.md │ │ ├── skill/ ← 💡 项目级技能 │ │ │ └── react-patterns/ │ │ │ └── SKILL.md │ │ └── plugin/ ← 🔌 项目级插件 │ │ └── custom-tool.ts │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ~/.config/opencode/ ← ⚙️ 全局配置目录 │ │ ├── opencode.json ← 全局配置 │ │ ├── AGENTS.md ← 🌍 全局规则(跨项目) │ │ ├── agent/ ← 🤖 全局 Agent │ │ ├── command/ ← ⌨️ 全局命令 │ │ ├── skill/ ← 💡 全局技能 │ │ └── plugin/ ← 🔌 全局插件 │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ~/.local/share/opencode/ ← 💾 数据存储目录 │ │ ├── opencode.db ← SQLite 数据库(会话、消息) │ │ └── session/ ← 会话数据 │ │ └── <project-id>/ │ │ └── session-1.json │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ~/.cache/opencode/ ← 📦 缓存目录 │ │ └── node_modules/ ← npm 插件缓存 │ │ │ └─────────────────────────────────────────────────────────────────┘2.3 🧠 规则/记忆文件:AGENTS.md
AGENTS.md 是 OpenCode 的核心规则文件,类似于 Cursor 的 rules。
文件查找优先级
优先级 位置 说明 1 ./AGENTS.md项目级(推荐) 2 ./CLAUDE.md兼容 Claude Code 3 ~/.config/opencode/AGENTS.md全局级 4 ~/.claude/CLAUDE.md兼容 Claude Code 全局 ⚠️ 重要: 如果同一目录下同时存在
AGENTS.md和CLAUDE.md,只有 AGENTS.md 会被加载。AGENTS.md 示例
# 项目概述 这是一个使用 Go + gRPC 的微服务项目。 # 技术栈 - 语言:Go 1.22 - 框架:Gin + gRPC - 数据库:PostgreSQL + Redis - 部署:Kubernetes # 编码规范 - 遵循 Effective Go - 错误处理使用 errors.Wrap - 所有导出函数必须有注释 # 目录结构 cmd/ # 入口程序 internal/ # 内部包 pkg/ # 可复用包 api/ # Proto 定义 # 常用命令 - make test # 运行测试 - make build # 构建二进制 - make proto # 生成 protobuf2.4 📝 手动添加规则的方法
方法一:直接创建/编辑文件
# 创建项目级规则 touch AGENTS.md nano AGENTS.md # 创建全局规则 mkdir -p ~/.config/opencode touch ~/.config/opencode/AGENTS.md方法二:使用
/init命令opencode > /initOpenCode 会扫描项目并自动生成
AGENTS.md。方法三:在配置中引用外部文件
opencode.json:{ "instructions": [ "./docs/architecture.md", "./docs/coding-standards.md", "packages/*/AGENTS.md" ] }这允许复用已有的文档作为规则来源。
2.5 🤖 自定义 Agent
Agent 定义文件放在
.opencode/agent/目录下。文件命名规则:
.opencode/agent/reviewer.md→ Agent 名称:reviewer.opencode/agent/tasks/research.md→ Agent 名称:tasks/research
Agent 定义示例(
.opencode/agent/code-reviewer.md):--- description: 代码审查专家,专注于质量和安全 model: claude-sonnet-4 temperature: 0.3 maxTokens: 8192 tools: - Read - Grep - Glob --- 你是一位经验丰富的代码审查专家。 ## 审查重点 1. 代码可读性和可维护性 2. 潜在的性能问题 3. 安全漏洞 4. 测试覆盖率 ## 输出格式 - 🔴 严重问题 - 🟡 建议改进 - 🟢 良好实践2.6 💡 Skills 系统
Skills 让 Agent 按需加载可复用的指令。
Skills 加载路径:
.opencode/skill/*/SKILL.md— 项目级~/.config/opencode/skill/*/SKILL.md— 全局级.claude/skills/*/SKILL.md— 兼容 Claude Code
Skill 目录结构:
react-patterns/ ├── SKILL.md # 必需 ├── scripts/ # 可执行脚本 ├── references/ # 参考文档 └── assets/ # 资源文件2.7 ⚙️ 配置文件
opencode.json完整配置示例:
{ "$schema": "https://opencode.ai/config.json", // 模型配置 "provider": "anthropic", "model": "claude-sonnet-4", // Agent 配置 "agents": { "coder": { "model": "claude-sonnet-4", "maxTokens": 8192, "temperature": 0 }, "researcher": { "model": "gemini-2.5-flash", "maxTokens": 16000 } }, // 外部规则引用 "instructions": [ "./docs/standards.md" ], // MCP 服务器 "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"] } }, // 权限 "permissions": { "autoApprove": ["Read", "Glob", "Grep"] }, // 主题 "theme": "opencode", "autoupdate": true }⚖️ 第三部分:对比分析
3.1 📊 核心定位对比
维度 Clawdbot 🦞 OpenCode 产品类型 个人 AI 助手(多渠道) 终端编程 Agent 主要场景 日常生活、任务管理、多平台聊天 代码开发、项目管理 交互方式 WhatsApp/Telegram/Slack/iMessage 等 终端 TUI 目标用户 普通用户 + 开发者 开发者(尤其是 Vim 党) 3.2 📁 文件结构对比
特性 Clawdbot 🦞 OpenCode 主配置文件 ~/.clawdbot/clawdbot.jsonopencode.json/opencode.jsonc规则/记忆文件 AGENTS.md+MEMORY.md+SOUL.md等AGENTS.md工作区目录 ~/clawd/(Agent 大脑).opencode/状态目录 ~/.clawdbot/(系统数据)~/.config/opencode/+~/.local/share/opencode/技能目录 ~/clawd/skills/或~/.clawdbot/skills/.opencode/skill/或~/.config/opencode/skill/插件目录 ~/.clawdbot/plugins/.opencode/plugin/会话存储 ~/.clawdbot/agents/<id>/sessions/~/.local/share/opencode/opencode.db向量索引 ~/.clawdbot/memory/<id>.sqlite❌ 无内置 3.3 🧠 记忆系统对比
┌─────────────────────────────────────────────────────────────────────┐ │ 记忆系统对比 │ ├───────────────────────────────┬─────────────────────────────────────┤ │ Clawdbot 🦞 │ OpenCode │ ├───────────────────────────────┼─────────────────────────────────────┤ │ 📜 AGENTS.md — 操作指令 │ 📜 AGENTS.md — 项目规则 │ │ 👻 SOUL.md — 人格/语气 │ ❌ 无独立人格文件 │ │ 🪪 IDENTITY.md — 身份信息 │ ❌ 无独立身份文件 │ │ 👤 USER.md — 用户知识 │ ❌ 无独立用户文件 │ │ 🧠 MEMORY.md — 长期核心记忆 │ ❌ 无独立记忆文件 │ │ 📅 memory/YYYY-MM-DD.md │ ❌ 无每日日志 │ │ — 每日流水账 │ │ │ 🔍 向量语义搜索 │ ❌ 无内置向量搜索 │ ├───────────────────────────────┼─────────────────────────────────────┤ │ 💡 设计哲学:全方位人格化助手 │ 💡 设计哲学:轻量编程工具 │ └───────────────────────────────┴─────────────────────────────────────┘3.4 🎯 手动添加记忆/规则的操作对比
Clawdbot 🦞
# 1. 添加长期记忆 echo "- 用户喜欢早起" >> ~/clawd/MEMORY.md # 2. 修改人格 echo "保持幽默风趣,像老朋友一样聊天" >> ~/clawd/SOUL.md # 3. 添加操作规则 echo "- 回复使用简体中文" >> ~/clawd/AGENTS.md # 4. 添加用户信息 echo "- 用户是一名 Python 开发者" >> ~/clawd/USER.md # 5. 通过对话自动写入 # 对 Agent 说:"请记住我喜欢咖啡,写到 MEMORY.md"OpenCode
# 1. 添加项目规则 echo "- 使用 TypeScript 编写代码" >> ./AGENTS.md # 2. 添加全局规则 echo "- 所有注释使用英文" >> ~/.config/opencode/AGENTS.md # 3. 引用外部规则(opencode.json) { "instructions": ["./docs/coding-standards.md"] } # 4. 使用 /init 自动生成 opencode > /init3.5 🔧 适用场景对比
场景 推荐工具 理由 跨平台个人助手 Clawdbot 🦞 支持 WhatsApp/Telegram 等多渠道 终端编程开发 OpenCode TUI 设计,Vim 友好 需要"人格化"助手 Clawdbot 🦞 SOUL.md + IDENTITY.md 支持 纯代码项目辅助 OpenCode 轻量专注,无额外复杂度 需要语义记忆搜索 Clawdbot 🦞 内置向量索引 多模型灵活切换 两者皆可 都支持多模型配置 团队协作规则共享 两者皆可 都支持 Git 版本控制 📚 第四部分:实践建议
4.1 🦞 Clawdbot 记忆管理最佳实践
- 分层管理记忆
MEMORY.md:存放精炼的长期知识memory/YYYY-MM-DD.md:让 Agent 自动记录每日细节- 定期整理:将每日日志中的重要内容提炼到 MEMORY.md
- 善用人格文件
SOUL.md:定义 Agent 的说话风格IDENTITY.md:给 Agent 一个名字和身份- 这两个文件让你的助手更有"人味儿"
版本控制工作区
cd ~/clawd git init git add AGENTS.md SOUL.md MEMORY.md git commit -m "Initial workspace setup"
4.2 🖥️ OpenCode 规则管理最佳实践
- 项目级 vs 全局级分离
./AGENTS.md:项目特定规则~/.config/opencode/AGENTS.md:个人通用偏好
复用已有文档
{ "instructions": [ "./README.md", "./docs/CONTRIBUTING.md" ] }- 善用 Claude Code 兼容性
- 如果团队同时使用 Claude Code 和 OpenCode
- 可以共用
CLAUDE.md,OpenCode 会自动识别
📚 参考资源
Clawdbot 官方资源
- Clawdbot 官方网站
- Clawdbot CLI 文档
- Clawdbot Memory 概念
- Clawdbot Agent Workspace
- Clawdbot GitHub
- Clawdbot Skills 文档
OpenCode 官方资源
- OpenCode 官方文档
- OpenCode Config 配置
- OpenCode Rules 规则
- OpenCode Agents 自定义
- OpenCode Skills 技能
- OpenCode Plugins 插件
- OpenCode Commands 命令
社区教程
- Getting Started with Clawdbot - DEV Community
- Clawdbot Setup Guide - addROM
- Run Clawdbot with Docker
- OpenCode Superpowers Blog
📝 总结表
维度 Clawdbot 🦞 OpenCode 核心定位 跨平台个人 AI 助手 终端 AI 编程 Agent 工作区 ~/clawd/.opencode/状态目录 ~/.clawdbot/~/.config/opencode/+~/.local/share/opencode/核心记忆文件 AGENTS.md+MEMORY.md+SOUL.md+USER.md+IDENTITY.mdAGENTS.md每日日志 ✅ memory/YYYY-MM-DD.md❌ 无 向量搜索 ✅ 内置 SQLite 索引 ❌ 无 人格定制 ✅ SOUL.md ❌ 无独立支持 多渠道支持 ✅ WhatsApp/Telegram/Slack 等 ❌ 仅终端 Claude Code 兼容 ❌ 使用自己的格式 ✅ 支持 CLAUDE.md fallback 选择建议:
- 需要跨平台全能助手(聊天 + 任务管理 + 记忆)→ Clawdbot 🦞
- 需要轻量终端编程工具(专注代码开发)→ OpenCode
歡迎留言回复交流。
Log in to reply.