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

377 lines
16 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 前言
- https://github.com/openclaw/openclaw
- 教程
- [ ] Clawdbot 完整配置指南 - Sylearn的文章 - 知乎 https://zhuanlan.zhihu.com/p/1999437992549447616
- [ ] 【OpenClaw 烧钱避坑指南3个策略教你省下 80% 的 Token】 https://www.bilibili.com/video/BV1TNZjBTEAp/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
- [ ] 【Clawdbot为什么能记住你说过的话? AI记忆系统拆解】 https://www.bilibili.com/video/BV1fv61B4EQ5/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
- 【claude官方揭秘为啥不需要多Agent架构《Building multi-agent systems: when and how to use 》①】 https://www.bilibili.com/video/BV13KzqBHEPw/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
- [ ] ***[【🚀解锁OpenClaw多Agent高级玩法Token消耗直接减半这才是正确的使用方式不同任务分配不同模型独立Session、独立记忆独立工作空间](https://www.bilibili.com/video/BV1dqffBMEcg/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e)
- [ ] [【4种方法将 OpenClaw 成本降低10倍 直降95%+ Token 消耗!【保姆教程】】](https://www.bilibili.com/video/BV1ejADzsEUm/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e) 简单步骤参考 [[#OpenClaw节约成本的方式]]
- [ ] [【🚀【OpenClaw教程】OpenClaw高级玩法记忆蒸馏+Skill固化+模型降级Token成本直降40%,效率倍增!便宜模型也能完成复杂任务!龙虾教程】](https://www.bilibili.com/video/BV1WbPTzHEaa/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e)
- [x] 【Mac mini 64G部署Clawdbot + 本地大模型。无限tokens拥有真正7*24免费私人助手】 https://www.bilibili.com/video/BV1KE61BuEAk/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
- Skill
1. https://github.com/VoltAgent/awesome-openclaw-skills
2. [【50个 skills 让你的 OpenClaw 脱胎换骨】 ](https://www.bilibili.com/video/BV1fDA8z6E9n/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e)
- 其他Bot框架
- 【我厌倦了 OpenClaw用回了 AstrBot【AstrBot 年度更新】】 https://www.bilibili.com/video/BV1FmZMBiEs9/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
# WY Gitlab Token
2fwpCjzAM7T6ZsXVtr67
- RedmineSkill
- 2Bt5SqsyBfbVAp31-k17
# TODO
![[工作计划]]
# OpenClaw架构构思
https://clawhub.ai/ Skill推荐
- Common
- [x] ***find-skills***在20万+Skills里自动找到所需工具。
- [x] ***self-improving-agent*** 记录经验教训、错误和纠正措施,以实现持续改进。
- [x] 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.md` 与 `SOUL.md`**赋予生命力。LLM 此时从“纯粹的工具”转变为“具备特定性格的专家”。
4. **读取 `USER.md`**注入外部变量。AI 了解了交互对象,调整自己的姿态。
5. **激活 `TOOLS.md` 与 `AGENTS.md`**:最后加载执行层。当 AI 明确了身份和规则后,再根据需要调用具体的手段。
1. 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`
```yml
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 Dashboard`docker compose run --rm openclaw-cli dashboard`(通常 [localhost:18789](https://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
## 飞书
- 【【小白入门教程】openclaw(clawdbot)安装部署教程,接入飞书/钉钉/QQ等聊天工具5分钟学会详细教程】 https://www.bilibili.com/video/BV1jBcaz6E6P/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
AppID:cli_a90596306738dcc7
AppSecret:JZfGrXKRkwCE4a5yYvKZ2bSrOM1jZsDV
## QQ
https://github.com/sliverp/qqbot
## IMessage
https://cloud.tencent.com/developer/article/2626310
## PoPo
- 相关文章:
- [OpenClaw(原Clawdbot)对接POPO机器人教程](https://docs.popo.netease.com/lingxi/173a627a791b4372aa50318bfdfb5204?appVersion=4.28.0&deviceType=4&popo_hidenativebar=1&popo_noindicator=1&appVersion=4.40.0&deviceType=0&popo_hidenativebar=1&popo_noindicator=1&disposable_login_token=1)
- https://km.netease.com/v4/detail/blog/258877
- 插件文档:https://docs.popo.netease.com/lingxi/173a627a791b4372aa50318bfdfb5204
需要安装插件之后重启再填写机器人事件订阅的token 秘钥相关信息。
[https://open-dev.popo.netease.com/mp/detail/184955194/devManage](https://open-dev.popo.netease.com/robot/detail/363265944/devManage)
http://10.219.32.29:6666/popo/callback
KyePDRbMN3j1bHEhxktBMbcJtehpxmYW
https://km.netease.com/v4/detail/blog/258877
## 企业微信
- https://github.com/pawastation/wechat-kf
- Token信息
- AgentId:1000002
- Secret:pO0No5pwv8hV9jugSi9xmOZZad72Wei3E4ODsZj4WoM
- 企业ID:wwe0397ed29188a4f0
- 客服相关信息
- 客服ID:
- kfc7eeb057fe05d99d2
- kfc4a55884d560c1c61
- 回调URL:https://institutional-search-louisiana-studio.trycloudflare.com/wechat-kf
- Token:IpeMUlsfK
- EncodingAESKey:NCYt4eJauOIb6faxnHAokQOj2LtOIyGAtXG2i5JF1gV
- Secret:CkwXJs7hJiofO7L1XPZZcxKM7Z5VQEwfR8T4IOfeZYk
- 客服测试链接:https://work.weixin.qq.com/kfid/kfc4a55884d560c1c61
- ~~消息接收创建的App中~~