Code & Coffee

用咖啡驱动代码,用代码改变世界

OpenClaw 概览与核心功能 - 你的 AI 助手网关

什么是 OpenClaw?

OpenClaw 是一个开源的 AI 助手网关,连接聊天平台与 AI Agent。

核心理念

  • 🤖 多平台支持:Telegram、WhatsApp、Discord、iMessage 等
  • 🧠 Agent 能力:集成 Claude Code、Pi 等编程 Agent
  • 🔌 Skills 扩展:通过 Skills 扩展功能
  • 🔒 本地部署:数据完全掌握在自己手中

解决的问题

问题 OpenClaw 方案
不方便对话 Telegram 随时随地聊天
记忆丢失 QMD 向量记忆系统
工具单一 Skills 扩展生态
隐私泄露 完全本地部署

架构设计

核心组件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─────────────┐
│ Telegram │
│ WhatsApp │ ← 聊天平台
│ Discord │
└──────┬──────┘


┌─────────────┐
│ Gateway │ ← 统一网关
└──────┬──────┘


┌─────────────┐
│ Agent │ ← AI 能力
│ Skills │
└──────┬──────┘


┌─────────────┐
│ Memory │ ← 记忆系统 (QMD)
└─────────────┘

关键概念

Gateway

网关是 OpenClaw 的核心,负责:

  • 会话管理:多用户、多会话
  • 路由分发:消息路由到对应 Agent
  • 通道连接:连接各种聊天平台
  • 认证授权:Token、密码验证

Agent

Agent 提供 AI 能力:

Agent 特点
Pi 友好对话,适合日常使用
Claude Code 编程能力强,适合开发者
自定义 可集成其他 LLM

Skills

Skills 是功能扩展:

分类 Skills
💬 通讯 discord, slack, imsg, bird
🍎 Apple apple-notes, things-mac
🎵 音乐 spotify-player
🔧 开发 github, coding-agent
🛠️ 工具 weather, healthcheck

核心功能

1. 多平台集成

Telegram 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"channels": {
"telegram": {
"token": "your-bot-token",
"allowFrom": ["user-id-1", "user-id-2"],
"groups": {
"*": {
"requireMention": true
}
}
}
}
}

多账号支持

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"agents": {
"list": [
{
"id": "assistant",
"name": "AI 助手",
"channels": ["telegram"]
},
{
"id": "coder",
"name": "编程助手",
"channels": ["discord"]
}
]
}
}

2. Agent 系统

Agent 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"agents": {
"default": "pi",
"list": [
{
"id": "pi",
"provider": "pi",
"model": "sonnet-4-2-2025-01-21"
},
{
"id": "coder",
"provider": "anthropic",
"model": "claude-code"
}
]
}
}

MCP 集成

OpenClaw 支持 MCP (Model Context Protocol):

1
2
3
4
5
6
7
8
9
10
{
"mcp": {
"servers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
}
}
}
}

3. QMD 向量记忆

QMD 是 OpenClaw 的记忆系统:

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"memory": {
"backend": "qmd",
"qmd": {
"includeDefaultMemory": true,
"update": {
"interval": "5m"
},
"limits": {
"maxResults": 6,
"timeoutMs": 4000
}
}
}
}

功能

功能 命令
全文搜索 qmd search
向量搜索 qmd vsearch
混合搜索 qmd query

4. Tools 工具集

OpenClaw 内置丰富的 Tools:

分类 工具 功能
🖥️ browser 浏览器控制
📝 read/write/edit 文件操作
🔧 exec 命令执行
🔍 web_search 网络搜索
📊 cron 定时任务
🌐 nodes 节点管理

5. 安全性

认证配置

1
2
3
4
5
6
7
8
{
"gateway": {
"auth": {
"mode": "token",
"token": "your-secret-token"
}
}
}

工具权限

1
2
3
4
5
6
{
"tools": {
"allow": ["read", "write", "browser"],
"deny": ["exec"]
}
}

部署方式

方式 1:VPS 部署(推荐)

1
2
3
4
5
6
7
8
# 安装
npm install -g openclaw

# 启动
openclaw gateway

# 后台运行
nohup openclaw gateway > /var/log/openclaw.log 2>&1 &

方式 2:Docker 部署

1
2
3
4
5
6
7
8
9
10
# docker-compose.yml
version: '3.8'
services:
openclaw:
image: openclaw/openclaw
volumes:
- ~/.openclaw:/root/.openclaw
ports:
- "18789:18789"
restart: always

方式 3:源码部署

1
2
3
4
5
git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
npm run build
node dist/entry.js gateway

Skills 生态

官方 Skills

分类 Skills
💬 通讯 discord, slack, imsg, bird
🔧 开发 github, coding-agent, mcporter
🍎 Apple apple-notes, things-mac, bear-notes
🎵 媒体 spotify-player, songsee
🛠️ 工具 weather, healthcheck, qmd

安装 Skills

1
2
3
4
5
6
# 通过 OpenClaw CLI
openclaw skills install github

# 或手动安装
cd /path/to/openclaw/skills
git clone https://github.com/tobi/qmd.git

使用场景

场景 1:个人 AI 助手

  • Telegram 随时对话
  • 记住你的偏好和习惯
  • 帮你管理日程

场景 2:编程助手

  • Claude Code 集成
  • GitHub PR Review
  • 代码审查和优化

场景 3:运维工具箱

  • VPS 健康检查
  • 自动备份
  • 定时任务

性能与优化

系统要求

配置 最低 推荐
内存 1GB 2GB+
CPU 1 核 2 核
存储 10GB 20GB+

性能优化

1. Swap 配置

1
2
3
4
# 创建 4GB Swap
dd if=/dev/zero of=/swapfile bs=1M count=4096
mkswap /swapfile
swapon /swapfile

2. 内存限制

1
2
3
4
5
6
7
{
"agents": {
"defaults": {
"maxMemory": "2g"
}
}
}

常见问题

Q: 如何备份?

1
2
3
4
5
# 备份配置
cp -r ~/.openclaw ~/backup-openclaw-$(date +%Y%m%d)

# 备份数据
cp -r ~/.cache/qmd ~/backup-qmd-$(date +%Y%m%d)

Q: Agent 没响应?

  1. 检查 API Key 配置
  2. 查看日志 openclaw logs
  3. 重启 Gateway openclaw gateway restart

Q: 内存不足?

  1. 添加 Swap
  2. 降低并发数
  3. 关闭不需要的 Skills

总结

OpenClaw 是一个强大的 AI 助手网关:

  • 多平台:Telegram、Discord 等
  • 强 Agent:Pi、Claude Code
  • 好记忆:QMD 向量检索
  • 易扩展:Skills 生态
  • 够安全:本地部署

让 AI 助手随时随地为你服务!


Tags: OpenClaw, AI, Telegram, Agent, Gateway, Skills, QMD

系列文章

QMD 向量记忆高级用法 - 打造你的第二大脑

前言

在信息爆炸的时代,如何高效检索信息成为关键。QMD (Quick Markdown) 不仅仅是一个搜索工具,它是你的第二大脑

什么是向量检索?

传统搜索 vs 向量搜索

对比项 传统搜索 (BM25) 向量搜索
原理 关键词匹配 语义理解
能力 精确匹配 模糊理解
速度 稍慢
场景 专业术语 日常表达

示例

1
2
3
4
搜索: "我的投资基金表现如何"

BM25 结果: 匹配 "基金" 关键词的文章
向量搜索: 理解语义,找到所有关于投资、收益、持仓的文章

OpenClaw QMD 配置

基础配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"memory": {
"backend": "qmd",
"qmd": {
"includeDefaultMemory": true,
"update": {
"interval": "5m",
"debounceMs": 15000
},
"limits": {
"maxResults": 6,
"timeoutMs": 4000
}
}
}
}

命令行用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 全文搜索 (BM25)
qmd search "基金 持仓"

# 向量相似度搜索
qmd vsearch "我的投资偏好"

# 混合搜索 (推荐)
qmd query "最近买了什么股票"

# 指定集合搜索
qmd query "工作安排" -c memory

# JSON 格式输出
qmd query "项目进度" --json

实战场景

场景 1:快速回顾对话

1
2
3
4
5
$ qmd query "昨天讨论的 AI 项目"

结果:
- 匹配度 85%: 2026-02-04.md - AI Agent 测试记录
- 匹配度 72%: 项目计划.md - Agent 集成方案

场景 2:跨时间检索

1
2
3
4
5
# 搜索所有关于 "投资" 的记录
qmd search "投资" --all

# 搜索最近一个月的记录
qmd query "基金走势" --min-score 0.5

场景 3:精准定位

1
2
3
4
5
# 获取完整文档
qmd get qmd://memory/2026-02-05.md

# 多文档获取
qmd multi-get "qmd://memory/*.md" --json

高级技巧

1. 优化检索质量

1
2
3
4
5
# 提高相似度阈值,过滤低质量结果
qmd query "关键词" --min-score 0.7

# 扩大搜索范围
qmd query "内容" -n 10

2. 集合管理

1
2
3
4
5
6
7
8
# 查看所有集合
qmd collection list

# 创建新集合
qmd collection add /path/to/notes --name my-notes

# 删除集合
qmd collection remove old-notes

3. 索引维护

1
2
3
4
5
6
7
8
# 强制重新索引
qmd update --pull

# 清理无用数据
qmd cleanup

# 查看索引状态
qmd status

QMD 工作原理

向量嵌入模型

1
2
3
4
Embedding 模型: embeddinggemma-300M-Q8_0
- 轻量级模型,适合 VPS
- 300M 参数
- 本地运行,不依赖外部 API

数据存储

1
2
3
4
~/.cache/qmd/index.sqlite
- 向量索引
- BM25 索引
- 元数据

与 OpenClaw 集成

配置 memory-core

1
2
3
4
5
6
7
8
{
"memory": {
"backend": "qmd",
"memory-core": {
"enabled": true
}
}
}

可用工具

工具 功能
memory_search QMD 搜索
memory_get 获取记忆内容
memory_list 列出所有记忆

常见问题

Q: 向量搜索崩溃

问题: Bun 1.3.8 + node-llama-cpp 兼容问题

解决:

1
2
3
4
5
6
# 方案1: 使用 BM25
qmd search "关键词"

# 方案2: 重装 QMD
git clone https://github.com/tobi/qmd.git
cd qmd && bun install

Q: 搜索结果不准确

解决:

  1. 增加文档数量
  2. 提高检索阈值
  3. 使用混合搜索 query 而非单一 search

Q: 索引过大

解决:

1
2
3
4
5
# 清理无用数据
qmd cleanup

# 移除不需要的集合
qmd collection remove unused-collection

最佳实践

1. 命名规范

1
2
3
4
# 推荐命名
2026-02-06-项目计划.md
2026-02-05-投资笔记.md
对话-2026-02-04-AI讨论.md

2. 内容结构

1
2
3
4
5
6
7
8
9
10
# 标题

## 关键信息
- 时间
- 人物
- 地点

## 详细内容

## 结论/行动项

3. 定期维护

1
2
3
4
# 每周执行
qmd update # 更新索引
qmd cleanup # 清理垃圾
qmd status # 检查状态

总结

QMD + OpenClaw 让我实现了:

  • 精准检索:不用记住文件名,记住关键词就行
  • 语义理解:用自然语言搜索
  • 完全本地:数据在自己手里
  • 零成本:不需要外部 API

你的第二大脑,从 QMD 开始!


Tags: QMD, 向量检索, 语义搜索, OpenClaw, AI, 知识管理

OpenClaw 折腾记 - 从 Telegram AI 助手到向量记忆系统

前言

作为一个热爱折腾的普通人,我一直在寻找一个能够随时随地与 AI 对话解决方案。直到发现了 OpenClaw —— 一个开源的 AI 助手框架。

什么是 OpenClaw?

OpenClaw 是一个开源的 AI 助手网关,具有以下特点:

  • 多平台支持:Telegram、WhatsApp、Discord、iMessage 等
  • Agent 能力:集成 Claude Code、Pi 等编程 Agent
  • 本地化部署:数据完全掌握在自己手中
  • 可扩展性:通过 Skills 扩展功能

我的使用场景:

  1. 📱 在手机上通过 Telegram 与 AI 对话
  2. 🧠 QMD 向量记忆系统,精准检索
  3. 📊 基金数据自动追踪
  4. 🛠️ VPS 运维工具箱

第一章:QMD 向量记忆系统配置

OpenClaw 最新版内置了 QMD 支持,这是一个强大的语义搜索工具。

配置步骤

  1. 修改 ~/.openclaw/openclaw.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"memory": {
"backend": "qmd",
"qmd": {
"includeDefaultMemory": true,
"update": {
"interval": "5m",
"debounceMs": 15000
},
"limits": {
"maxResults": 6,
"timeoutMs": 4000
}
}
}
}
  1. 使用命令:
1
2
3
4
5
6
7
8
# 全文搜索 (BM25)
qmd search "基金"

# 向量搜索
qmd vsearch "我的投资偏好"

# 混合搜索
qmd query "持仓基金走势"

🐛 遇到的问题:Bun 兼容问题

问题现象

1
2
panic: Segmentation fault at address 0x7FCF86E3E840
Peak: 6.58GB | Machine: 10.42GB

解决方案

最终解决方案:手动从源码安装 QMD,并保持 Bun 1.3.8。


第二章:基金数据自动追踪

部署方案

  1. 创建数据获取脚本

  2. 配置定时任务:

1
2
# crontab -e
0 15 * * * cd /root/.openclaw && python3 scripts/fetch_fund_nav.py

数据展示

通过 OpenClaw 的 QMD 搜索,可以快速检索历史数据。


第三章:VPS 优化

添加 Swap 空间

1
2
3
4
5
6
7
# 创建 4GB Swap 文件
dd if=/dev/zero of=/swapfile bs=1M count=4096
mkswap /swapfile
swapon /swapfile

# 永久生效
echo "/swapfile none swap sw 0 0" >> /etc/fstab

效果:

1
2
Mem:           9.7Gi       692Mi       5.3Gi
Swap: 4.0Gi 0B 4.0Gi

第四章:Hexo 博客部署

部署步骤

  1. 安装 Node.js 和 Hexo:
1
2
3
4
# 使用 nvm 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
npm install -g hexo-cli
  1. 初始化博客:
1
2
3
hexo init /var/www/blog
cd /var/www/blog
hexo theme next
  1. 配置 Caddy 自动 HTTPS:
1
2
3
4
5
blog.2001.life {
root * /var/www/blog/public
file_server
encode gzip
}

总结

通过这段时间的折腾,我获得了:

  1. 随时可用的 AI 助手 - Telegram 随时对话
  2. 精准的记忆系统 - QMD 向量检索
  3. 自动化的基金追踪 - 每日净值数据
  4. 安全的 VPS 配置 - Swap + SSH 加固
  5. 独立的博客系统 - Hexo + Caddy 自动 HTTPS

心得

  • 遇到问题不要慌,善用搜索和社区资源
  • 保留原始配置,备份是关键
  • 记录过程,既是总结也是分享

Tags: OpenClaw, AI, Telegram, QMD, Hexo, VPS

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

0%