Decentralization? We're still early!

Clawdbot/Moltbot vs OpenCode 文件结构深度研究报告

  • Clawdbot/Moltbot vs OpenCode 文件结构深度研究报告

    發布人 Brave 2026-01-28 00:46

    本研究旨在深入对比两款 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.mdAgent 的身份信息"我叫 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 人位
    
    ## 决策记录
    - 用户确认以后所有代码示例都用 TypeScript

    MEMORY.md vs memory/YYYY-MM-DD.md 的区别

    维度MEMORY.mdmemory/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.mdmemory/*.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>.sqlite

    1.6 🛠️ Skills 系统

    Skills 是可复用的工具使用指南,教 Agent 如何使用特定工具。

    Skills 加载优先级(高→低):

    1. ~/clawd/skills/ — 工作区级(仅当前 Agent)
    2. ~/.clawdbot/skills/ — 全局共享(所有 Agent)
    3. 内置 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-list

    1.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.mdCLAUDE.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   # 生成 protobuf

    2.4 📝 手动添加规则的方法

    方法一:直接创建/编辑文件

    # 创建项目级规则
    touch AGENTS.md
    nano AGENTS.md
    
    # 创建全局规则
    mkdir -p ~/.config/opencode
    touch ~/.config/opencode/AGENTS.md

    方法二:使用 /init 命令

    opencode
    > /init

    OpenCode 会扫描项目并自动生成 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 加载路径:

    1. .opencode/skill/*/SKILL.md — 项目级
    2. ~/.config/opencode/skill/*/SKILL.md — 全局级
    3. .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.mdAGENTS.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
    > /init

    3.5 🔧 适用场景对比

    场景推荐工具理由
    跨平台个人助手Clawdbot 🦞支持 WhatsApp/Telegram 等多渠道
    终端编程开发OpenCodeTUI 设计,Vim 友好
    需要"人格化"助手Clawdbot 🦞SOUL.md + IDENTITY.md 支持
    纯代码项目辅助OpenCode轻量专注,无额外复杂度
    需要语义记忆搜索Clawdbot 🦞内置向量索引
    多模型灵活切换两者皆可都支持多模型配置
    团队协作规则共享两者皆可都支持 Git 版本控制

    📚 第四部分:实践建议

    4.1 🦞 Clawdbot 记忆管理最佳实践

    1. 分层管理记忆
      • MEMORY.md:存放精炼的长期知识
      • memory/YYYY-MM-DD.md:让 Agent 自动记录每日细节
      • 定期整理:将每日日志中的重要内容提炼到 MEMORY.md
    2. 善用人格文件
      • SOUL.md:定义 Agent 的说话风格
      • IDENTITY.md:给 Agent 一个名字和身份
      • 这两个文件让你的助手更有"人味儿"
    3. 版本控制工作区

      cd ~/clawd
      git init
      git add AGENTS.md SOUL.md MEMORY.md
      git commit -m "Initial workspace setup"

    4.2 🖥️ OpenCode 规则管理最佳实践

    1. 项目级 vs 全局级分离
      • ./AGENTS.md:项目特定规则
      • ~/.config/opencode/AGENTS.md:个人通用偏好
    2. 复用已有文档

      {
        "instructions": [
          "./README.md",
          "./docs/CONTRIBUTING.md"
        ]
      }
    3. 善用 Claude Code 兼容性
      • 如果团队同时使用 Claude Code 和 OpenCode
      • 可以共用 CLAUDE.md,OpenCode 会自动识别

    📚 参考资源

    Clawdbot 官方资源

    OpenCode 官方资源

    社区教程


    📝 总结表

    维度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

    Brave 回复 3 days, 13 hours ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在