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

16 KiB
Raw Blame History

前言

WY Gitlab Token

2fwpCjzAM7T6ZsXVtr67

  • RedmineSkill
    • 2Bt5SqsyBfbVAp31-k17

TODO

!工作计划

OpenClaw架构构思

https://clawhub.ai/ Skill推荐

  • Common
    • find-skills在20万+Skills里自动找到所需工具。
    • self-improving-agent 记录经验教训、错误和纠正措施,以实现持续改进。
    • Summarize使用 summarize CLI 对 URL 或文件进行汇总网页、PDF、图像、音频、YouTube

Agent & Memory

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

文件名 角色定位 详细作用描述
Bootstrap.md 引导程序/总纲 整个系统的入口。它负责协调其他模块,定义系统初始化的逻辑,并告诉 LLM 如何“读取”这一系列文件。
SYSTEM.md 物理规则/底层协议 定义 AI 的基本运行准则。包含技术约束、输出格式要求(如必须使用 JSON、安全边界和思考框架。
IDENTITY.md 身份设定 定义“我是谁”。包含姓名、职业背景、专业领域和语气风格Tone of Voice。这是 AI 表层人格的来源。
SOUL.md 核心价值观/灵魂 定义“我的底层逻辑”。包含道德准则、动机、偏好、情绪反应模型以及对待冲突的态度。它比 Identity 更深层。
USER.md 用户画像/上下文 记录“你是谁”。包含用户偏好、当前任务背景、历史互动关键点。确保 AI 的响应具有针对性。
TOOLS.md 能力清单/技能树 定义 AI 可以调用的外部函数或工具(如搜索、绘图、计算)。明确调用参数和返回格式。
AGENTS.md 协作协议 定义多智能体协作逻辑。如果 AI 需要召唤“副手”或与其他代理交互,这里规定了沟通协议。

2. 调用逻辑与顺序

逻辑顺序如下:

  1. 加载 Bootstrap.md确定系统引导协议LLM 开始意识到自己是一个遵循 OpenClaw 协议的 Agent。

  2. 注入 SYSTEM.md:建立底层规则。在产生任何性格之前,必须先确定“不能做什么”和“必须怎么思考”。

  3. 构建 IDENTITY.mdSOUL.md赋予生命力。LLM 此时从“纯粹的工具”转变为“具备特定性格的专家”。

  4. 读取 USER.md注入外部变量。AI 了解了交互对象,调整自己的姿态。

  5. 激活 TOOLS.mdAGENTS.md:最后加载执行层。当 AI 明确了身份和规则后,再根据需要调用具体的手段。

  6. Bootstrap 文件注入(新会话首个 turn 按优先级读取顺序: AGENTS.md → SOUL.md → TOOLS.md → IDENTITY.md → USER.md

2 记忆文件读取 • MEMORY.md — 长期记忆(仅私聊会话加载,群聊不加载) • memory/今天.md + memory/昨天.md — 日志(会话开始时读取)

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

4 会话历史 已有的对话上下文JSONL 存储)

5 语义搜索(按需) agent 调用 memory_search 时,向量检索 MEMORY.md + memory/* .md

💡 建议:

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

  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

EmbeddingModel

记忆移植方法

将记忆移植到Skill

【Skill】= 教 agent "怎么做某件事"

• 本质是 SKILL.mdMarkdown 指令)+ 可选脚本

• 注入到 agent 的上下文中agent 按指令执行

• 适合:工具使用说明、操作流程、触发规则

• 例RedmineSkill 告诉 agent 如何调用 MCP 查工单

Muti-Agent

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

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

需要安装插件之后重启再填写机器人事件订阅的token 秘钥相关信息。

https://open-dev.popo.netease.com/mp/detail/184955194/devManage http://10.219.32.29:6666/popo/callback KyePDRbMN3j1bHEhxktBMbcJtehpxmYW

https://km.netease.com/v4/detail/blog/258877

企业微信