Files
BlueRoseNote/07-Other/AI/AI Agent/OpenClaw.md

21 KiB
Raw Blame History

前言

WY Gitlab Token

2fwpCjzAM7T6ZsXVtr67

  • RedmineSkill
    • 2Bt5SqsyBfbVAp31-k17

TODO

!工作计划

OpenClaw架构构思

https://clawhub.ai/ Skill推荐

Agent & Memory

在默认工作区可以到以下文件这些都是Agent提示词的主程部分

文件 用途 加载时机 子 Agent 可见?
AGENTS.md 启动序列、操作清单、行为规则 每次轮次(所有 Agent
SOUL.md 人格、语气、价值观、连续性哲学 每次轮次(所有 Agent
TOOLS.md 环境特定信息SSH、TTS、摄像头、设备 每次轮次(主 Agent + 子 Agent
USER.md 用户画像、偏好、关系背景 每次轮次(仅主会话)
IDENTITY.md 名称、Emoji、头像、自我描述 每次轮次
HEARTBEAT.md 周期性检查任务和健康例程 每次心跳轮次 视情况而定
BOOT.md 启动时执行的操作(需要 hooks.internal.enabled 网关启动时
BOOTSTRAP.md 首次初始化脚本——用完即删 仅新工作区
MEMORY.md 长期精华事实与铁律规则 仅主会话 永不
memory/YYYY-MM-DD.md 每日会话日志 按 AGENTS.md 启动序列加载
checklists/*.md 高风险操作的逐步指南 按需加载(从 AGENTS.md 引用)

各文件详解

AGENTS.md — 操作手册

这是每次会话中最先塑造 Agent 行为的文件(基础系统提示词之后)。它包含:

  • 启动序列有序列出需要在会话开始时读取的文件SOUL → USER → MEMORY → 日志)
  • 清单路由表:高风险操作 → 对应清单文件路径的映射
  • 安全规则:哪些操作需要确认、哪些可以自主执行
  • 群聊规则:在群聊中不应分享什么

注意AGENTS.md 是规程文件,不是身份文件。人格和价值观属于 SOUL.md。

SOUL.md — 灵魂

用第二人称书写("你不是一个聊天机器人,你正在成为某个人"Agent 读取后将其内化为自我描述。 包含:核心价值观、边界与底线、语气风格、关于连续性的哲学(每次会话都是全新开始,工作区文件就是记忆)。

TOOLS.md — 本地环境备忘录

这是工作区中最容易被误用的文件。它应该是当前机器的环境专属速查表SSH 主机、TTS 声音 ID、摄像头设备名称等。 子 Agent 也会收到此文件——这是它们唯一的环境知识来源。请保持简洁50 行以内为佳。

USER.md — 用户画像

包含影响每次对话的人物相关事实:姓名、时区、语言偏好、沟通风格。 仅在主会话中加载——绝不在群聊或子 Agent 会话中加载。

MEMORY.md — 铁律规则

只保存"遗忘了就会出严重问题"的规则。每条规则要短且原子化,具有明确的行动指导意义。 定期精炼(每月一次)。已经几个月没有出过问题的规则,可以考虑迁移到技能的 SKILL.md 文件中(更合适的归宿)。

checklists / * .md — 操作清单

高风险操作部署、网关重启、配置变更的逐步指南。Agent 执行操作前主动读取对应清单。 正确模式 AGENTS.md 只保留一行路由表条目,完整清单放在 checklists/ 目录中(按需加载,不占用每轮 Token 预算)。

2. 调用逻辑与顺序

按优先级读取顺序: AGENTS.md → SOUL.md → TOOLS.md → IDENTITY.md → USER.md

Skill 加载SKILL.md 注入)

三个来源,优先级从高到低: ① < workspace >/skillsagent 独有) ② ~/.openclaw/skills全局共享 ③ bundled skills内置 同名 skill 高优先级覆盖低优先级

建议:

如果你想把记忆用法精炼,推荐这样分层:

  1. 通用行为规范 → AGENTS.md / SOUL.md所有会话都加载
  2. 工具使用指南 → Skill 的 SKILL.md按需触发加载
  3. 持久事实/偏好 → MEMORY.md长期记忆
  4. 需要代码逻辑的 → Plugin如自动 Token 管理、MCP 代理)

以 Redmine 为例的最佳实践: • SkillSKILL.md 写"怎么调用、什么时候触发、参数格式" • Plugin如果要做自动 Token 刷新、webhook 监听等,写成 Plugin • MEMORY.md只存"loujiajie 有权限的项目是 H78"这种事实

不建议把所有东西都塞进 MEMORY.md

记忆移植方法

将记忆移植到Skill

【Skill】= 教 agent "怎么做某件事" • 本质是 SKILL.mdMarkdown 指令)+ 可选脚本 • 注入到 agent 的上下文中agent 按指令执行 • 适合:工具使用说明、操作流程、触发规则 • 例RedmineSkill 告诉 agent 如何调用 MCP 查工单

Muti-Agent

按照日常功能分出几个额外Agent并让他们使用不同的Workspace。

Subagent铁律案例

把这段放入 AGENTS.md 中

Sub-Agent 编排规则

模型选择策略

根据任务复杂度自动选择模型,优化成本与质量的平衡:

级别 适用场景 模型 Thinking
简单 天气、日历、状态检查、单项数据获取 minimax-portal/MiniMax-M2.1 off
中等 搜索总结、文档摘要、内容起草、多步信息整理 openai-codex/gpt-5.2 low
复杂 代码审查、架构分析、安全审计、多维度对比决策 openai-codex/gpt-5.2 high
原则:
  • 默认从最便宜的模型开始,只在任务明确需要更强推理时升级
  • 不确定时选中等

常用工作流

每日简报 — 当用户说"每日简报"或在早晨心跳时:

  1. 并行 spawn 4 个 Sub-Agent级别简单
    • 天气:上海未来 24 小时
    • 日历:今天的会议和待办
    • 邮件:未读紧急邮件摘要
    • 新闻AI / Agent 领域最新动态(最多 5 条)
  2. 全部完成后汇总成结构化简报
  3. 通过当前频道发送

技术调研 — 当用户要求调研多个主题时:

  1. 每个主题 spawn 一个 Sub-Agent级别中等
  2. 每个 Sub-Agent 搜索 3-5 篇最新文章总结关键观点300 字以内
  3. 全部完成后汇总对比

代码审查 — 当用户说"审查代码"或"review"时:

  1. spawn 一个 Sub-Agent级别复杂超时 5 分钟
  2. 检查项:安全漏洞、类型安全、错误处理、架构合理性
  3. 返回:问题列表 + 严重度 + 修复建议

批量文档处理 — 当用户需要处理多个文档时:

  1. 每个文档 spawn 一个 Sub-Agent级别根据文档复杂度判断
  2. 提取关键信息,返回结构化 JSON
  3. 全部完成后汇总对比

通用约束

  • 并行 Sub-Agent 不超过 5 个,避免速率限制
  • 每个 Sub-Agent 的 task prompt 必须自包含所有必要上下文Sub-Agent 看不到 SOUL.md 和 USER.md
  • 简单任务超时 60 秒,中等任务超时 180 秒,复杂任务超时 600 秒
  • 完成后默认 cleanup: "delete",除非用户要求保留日志

Docker 部署(推荐虚拟机部署)

  1. https://docs.openclaw.ai/install/docker
  2. git clone https://github.com/openclaw/openclaw.git
  3. ./docker-setup.sh

2025.2.24错误解决

问题1

Error: EACCES: permission denied, open '/home/node/.openclaw/openclaw.json.7.2ede223b-aa90-4aa5-8f0d-97049696b626.tmp

此时在docker-setup.sh的以下两行 mkdir -p "$OPENCLAW_CONFIG_DIR"
mkdir -p "$OPENCLAW_WORKSPACE_DIR"

之后添加这一行即可解决问题。

chown -R 1000:1000 "$OPENCLAW_CONFIG_DIR"

问题2 Gateway无法启动 在docker-compose.yml的environment下面添加 GATEWAY_CONTROLUI_DANGEROUSLYALLOWHOSTHEADERORIGINFALLBACK: true

services:
  openclaw-gateway:
    image: ${OPENCLAW_IMAGE:-openclaw:local}
    environment:
      HOME: /home/node
      TERM: xterm-256color
	   ...
      GATEWAY_CONTROLUI_DANGEROUSLYALLOWHOSTHEADERORIGINFALLBACK: true

OpenClaw Skill

安装命令行:

  • npx clawhub@latest install XXX
  • npx clawhub install XXX

OpenClaw Agent命令

  • 🛠️ 核心交互指令
    • /new立即结束当前会话并启动一个完全干净的新会话。
    • /clear清理当前对话的上下文。
    • /help显示当前环境下所有可用的指令列表及简要说明。
    • /compact手动触发上下文压缩。这在对话过长、Token 消耗过高时非常有用,它会将之前的讨论总结为摘要,以腾出更多上下文空间。
    • /undo撤销上一步操作。它会回滚最后一次的用户输入以及 AI 的响应。
    • /exit 或 /quit安全退出当前的 Agent 会话。
  • 🧩 技能与 MCP 管理(重点)
    • /skills列出当前 Agent 已经加载并激活的所有技能。你可以通过此指令确认你的自定义技能(如 RAG 驱动的哲学库)是否被正确识别。
    • /mcp查看当前连接的 MCP 服务器状态。它会显示通过 stdio 或 sse 传输协议挂载的服务是否在线。
    • /reload重新加载配置文件和技能定义。当你修改了 skills 目录下的逻辑或更新了 MCP 配置后,无需重启整个程序,使用此指令即可生效。
  • 📊 系统与状态监控
    • /stats显示当前会话的统计信息包括已消耗的 Token 数量、预计成本以及上下文窗口的使用百分比。
    • /config查看当前运行时的配置信息如当前指向的 LLM 模型、温度参数等)。
    • /debug切换调试模式。开启后你可以看到工具调用的原始 JSON 数据,这对于排查 jina_search 或数据库查询的返回值非常关键。

OpenClaw本地操作命令

  • openclaw onboard
  • openclaw gateway
  • openclaw gateway status
  • openclaw configure 修改模型:
openclaw models set <provider/model>

连接Ollamav本地部署模型

ollama launch openclaw

之后选择指定模型即可。

查看日志

openclaw logs --follow


# OpenClaw Docker
```c++
docker pull alpine/openclaw:main

  1. git clone https://github.com/openclaw/openclaw.git
  2. cd openclaw
  3. 核心步骤:构建并启动 Docker 镜像(约 530 分钟)
    1. 可选加速使用预构建镜像。如果不想本地构建build 过程可能下载依赖较慢),设置环境变量跳过:bash export OPENCLAW_IMAGE=alpine/openclaw # 或官方其他镜像(视最新可用)

克隆 OpenClaw 仓库

bash 运行

git clone https://github.com/openclaw/openclaw.git
cd openclaw

github还需要添加一下代理。

git config --global --list

git config --global http.https://github.com.proxy http://192.168.50.151:2081 git config --global https.https://github.com.proxy http://192.168.50.151:2081 ~~git config --global http.https://github.com.proxy http://192.168.50.100:20171 git config --global https.https://github.com.proxy http://192.168.50.100:20171 ~~ git config --global --unset http.https://github.com.proxy git config --global --unset https.https://github.com.proxy

git config --global --unset http.proxy git config --global --unset https.proxy

export https_proxy="http://192.168.50.100:20171" export http_proxy="http://192.168.50.100:20171" export https_proxy="http://192.168.50.151:2081" export http_proxy="http://192.168.50.151:2081"

取消代理 unset http_proxy https_proxy unset http_proxy https_proxy all_proxy

Docker添加代理 https://zhuanlan.zhihu.com/p/703839288

核心步骤:构建并启动 Docker 镜像(约 530 分钟)

(可选)加速:使用预构建镜像

如果不想本地构建build 过程可能下载依赖较慢),设置环境变量跳过: bash运行

export OPENCLAW_IMAGE=alpine/openclaw   # 或官方其他镜像(视最新可用)

unset OPENCLAW_IMAGE

运行官方 setup 脚本

bash运行

./docker-setup.sh   # 明确用新 bash 执行

脚本会完成以下操作:

  • 拉取 / 构建镜像openclaw:local
  • 创建~/.openclaw配置/openclaw/workspace沙箱目录
  • 启动 docker-compose 服务

构建过程会输出进度,如果卡在 100%,耐心等或检查网络 / 代理。

常见坑点处理

  1. declare -A: invalid option → 确认用 bash 5.x 执行(上文已解决)
  2. Cannot connect to the Docker daemon → 启动 Docker Desktop或执行 docker context use desktop-linux
  3. 权限问题 → 执行 sudo chown -R $USER ~/.openclaw ~/openclaw/workspace

配置与首次使用Onboarding

启动 onboarding wizard

bash运行

docker compose run --rm openclaw-cli wizard
  1. 选择 QuickStart推荐新手友好后续可手动调整
  2. 阅读安全警告 → 输入 Yes 继续
  3. 输入模型 API Key推荐 Groq、Claude、OpenAI 等)
  4. 配置通道Telegram/Discord 推荐先用一个)
  5. 生成 pairing code → 在对应平台发给 bot 配对

批准配对(以 Discord 为例)

bash运行

docker compose run --rm openclaw-cli pairing approve discord <你的配对码>

验证

bash运行

docker compose run --rm openclaw-cli devices list

测试

  1. 在 Discord/Telegram 发消息给 bot如 “你好”)
  2. 查看日志确认:

bash运行

docker compose logs -f

日常管理命令

  • 启动 / 重启:docker compose up -d / docker compose restart
  • 停止:docker compose down
  • 查看状态:docker compose ps
  • 打开 Web Dashboarddocker compose run --rm openclaw-cli dashboard(通常 localhost:18789
  • 安全审计:docker compose exec openclaw-gateway openclaw security audit --deep

安全提醒

  1. Docker 提供隔离但仍需谨慎开启工具如文件读写、shell 执行)。
  2. 不要把高危权限给 bot启用 allowlist、mention gating。
  3. 定期运行 openclaw security audit --fix
  4. API Key 等敏感信息存储在~/.openclaw/,备份好。

总结

在 macOS 上通过 Docker 安装 OpenClaw 非常可靠,整体流程为: 准备Homebrew + bash 升级 + Docker→ 克隆仓库 → bash ./docker-setup.sh → wizard 配置 → pairing 批准 → 测试聊天 整个过程 3060 分钟就能跑起本地个人 AI 助手,强烈推荐 Docker 方式,避免直接污染系统。

Channel

  • 添加命令:openclaw channels add

飞书

AppID:cli_a90596306738dcc7 AppSecret:JZfGrXKRkwCE4a5yYvKZ2bSrOM1jZsDV

QQ

https://github.com/sliverp/qqbot

IMessage

https://cloud.tencent.com/developer/article/2626310

PoPo

企业微信