OpenClaw + QMD + Azure+TG安装

系统 : Ubuntu 22.04
默认目录 : /root/.openclaw

目标:复制 → 执行 → 验证,即可完成部署。


一、系统初始化

bash 复制代码
apt update && apt upgrade -y
apt install -y curl wget vim git unzip lrzsz ufw ffmpeg

二、安全配置

bash 复制代码
ufw enable
ufw allow 22/tcp
ufw status

安装 fail2ban

bash 复制代码
apt install fail2ban -y

编辑配置

bash 复制代码
vim /etc/fail2ban/jail.local

配置内容

ini 复制代码
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 5
findtime = 600
bantime = 3600

启动

bash 复制代码
systemctl restart fail2ban
systemctl enable fail2ban

验证

bash 复制代码
fail2ban-client status sshd

三、安装 OpenClaw

bash 复制代码
curl -fsSL https://openclaw.ai/install.sh | bash

验证

bash 复制代码
openclaw --version

检查运行

bash 复制代码
openclaw gateway status

查看日志

bash 复制代码
journalctl -u openclaw -f

说明:

OpenClaw 安装脚本会自动安装:

  • Node.js
  • npm
  • 运行环境

推荐顺序:

  1. 安装 OpenClaw
  2. 再安装 QMD

四、创建 Telegram 机器人

Telegram 搜索:

复制代码
@BotFather

执行:

复制代码
/newbot

获得 BOT TOKEN

复制代码
<你的Telegram_BOT_TOKEN>

五、安装 QMD

bash 复制代码
cd /root

git clone https://github.com/tobi/qmd.git

cd qmd

npm install

npm run build

六、创建 qmd 命令

bash 复制代码
ln -s /root/qmd/dist/cli/qmd.js /usr/local/bin/qmd

验证

bash 复制代码
qmd

七、创建索引

bash 复制代码
node /root/qmd/dist/cli/qmd.js collection add /root/.openclaw/workspace --name workspace-index --mask "*.md"

node /root/qmd/dist/cli/qmd.js embed workspace-index

八、查询测试

bash 复制代码
qmd query VPS

九、OpenClaw 常用命令

bash 复制代码
openclaw gateway status
openclaw gateway start
openclaw gateway stop
openclaw gateway restart

十、获取 Telegram 用户 ID

搜索机器人

复制代码
@userinfobot

发送

复制代码
/start

即可获得 Telegram 用户 ID。


十一、Telegram 命令审批配置

作用:

当 AI 需要执行服务器命令(例如 exec、shell 操作)时,不会自动执行,而是发送审批请求到 Telegram。

只有 approvers 列表中的用户确认后才会执行命令。

示例:

json 复制代码
"execApprovals": {
 "enabled": true,
 "approvers": ["<你的Telegram用户ID>"],
 "target": "dm"
}

说明:

  • enabled:开启命令审批
  • approvers:允许审批命令的 Telegram 用户 ID
  • target:审批消息发送位置

十二、BotFather 隐私设置

在 BotFather 执行:

复制代码
/setprivacy

选择机器人

复制代码
@你的机器人用户名

然后选择

复制代码
Enable

十三、Gateway 配置

json 复制代码
"gateway": {
 "port": 18789,
 "mode": "local",
 "bind": "loopback"
}

说明:

loopback 表示仅本机访问。


十四、Memory (QMD) 配置

json 复制代码
"memory": {
 "backend": "qmd",
 "citations": "auto",
 "qmd": {
  "command": "qmd",
  "searchMode": "search",
  "paths": [
   {
    "path": "/root/.openclaw/workspace",
    "name": "workspace",
    "pattern": "**/*.{md,txt}"
   }
  ],
  "update": {
   "interval": "60m",
   "debounceMs": 150000,
   "onBoot": true
  },
  "limits": {
   "maxResults": 6,
   "maxSnippetChars": 6000,
   "maxInjectedChars": 36000,
   "timeoutMs": 100000
  }
 }
}

十五、服务器内存不足解决

bash 复制代码
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

echo '/swapfile none swap sw 0 0' >> /etc/fstab

free -h

十六、完整 openclaw.json 示例

需要替换:

复制代码
<你的Azure_ENDPOINT>
<你的Azure_API_KEY>
<你的Telegram_BOT_TOKEN>
<你的Telegram用户ID>
<你的OpenClaw_GATEWAY_TOKEN>
json 复制代码
{
 "wizard": {
  "lastRunAt": "2026-03-18T14:55:39.087Z",
  "lastRunVersion": "2026.3.13",
  "lastRunCommand": "onboard",
  "lastRunMode": "local"
 },
 "models": {
  "mode": "merge",
  "providers": {
   "azure-openai-responses": {
    "baseUrl": "<你的Azure_ENDPOINT>",
    "apiKey": "<你的Azure_API_KEY>",
    "api": "openai-responses",
    "headers": {"api-key": "<你的Azure_API_KEY>"},
    "authHeader": false,
    "models": [{
     "id": "gpt-5.3-chat",
     "name": "GPT-5.3 Chat (Azure)",
     "reasoning": false,
     "input": ["text","image"],
     "contextWindow": 128000,
     "maxTokens": 4096
    }]
   }
  }
 },
 "agents": {
  "defaults": {
   "model": {"primary": "azure-openai-responses/gpt-5.3-chat"},
   "workspace": "/root/.openclaw/workspace",
   "compaction": {"mode": "safeguard"},
   "maxConcurrent": 4,
   "subagents": {"maxConcurrent": 8}
  }
 },
 "tools": {
  "profile": "full",
  "allow": ["*"],
  "deny": [],
  "elevated": {
   "enabled": true,
   "allowFrom": {"telegram": ["<你的Telegram用户ID>"]}
  }
 },
 "commands": {
  "native": "auto",
  "nativeSkills": "auto",
  "restart": true,
  "ownerDisplay": "raw"
 },
 "session": {
  "dmScope": "per-channel-peer"
 },
 "hooks": {
  "internal": {
   "enabled": true,
   "entries": {
    "boot-md": {"enabled": true},
    "bootstrap-extra-files": {"enabled": true},
    "command-logger": {"enabled": true},
    "session-memory": {"enabled": true}
   }
  }
 },
 "channels": {
  "telegram": {
   "enabled": true,
   "dmPolicy": "allowlist",
   "botToken": "<你的Telegram_BOT_TOKEN>",
   "allowFrom": ["<你的Telegram用户ID>"],
   "groupPolicy": "disabled",
   "streaming": "partial",
   "execApprovals": {
    "enabled": true,
    "approvers": ["<你的Telegram用户ID>"],
    "target": "dm"
   }
  }
 },
 "gateway": {
  "port": 18789,
  "mode": "local",
  "bind": "loopback",
  "auth": {
   "mode": "token",
   "token": "<你的OpenClaw_GATEWAY_TOKEN>"
  }
 },
 "memory": {
  "backend": "qmd",
  "citations": "auto"
 },
 "skills": {
  "install": {"nodeManager": "npm"}
 },
 "plugins": {
  "entries": {"telegram": {"enabled": true}}
 },
 "meta": {
  "lastTouchedVersion": "2026.3.13"
 }
}

部署完成

OpenClaw + QMD 已完成安装与配置。

相关推荐
wespaul几秒前
VeapAI 自然语言操作实战|第 04 篇:系统数据加工——把系统自身的元数据吃成知识
java·大数据·运维·数据库·人工智能
墨云安全5 分钟前
自动化安全测试工具的技术架构、集成方式与任务编排(2026 年实践)
人工智能·网络安全·渗透测试
KKKlucifer7 分钟前
从人工堆标到模型驱动:数据分类分级平台的现实分化
大数据·人工智能·分类
Data analyse45616 分钟前
rrweb回放事件资源加载顺序重放校验
前端·人工智能·算法·机器学习·数据分析
kida_yuan17 分钟前
【岁月留声】知识库检索能力演进史
人工智能·elasticsearch
昨夜见军贴061620 分钟前
原始采样记录数字化落地,IACheck AI 报告文档审核 Agent 实现监测文档校验自动化
人工智能·算法·自动化
在夜里告别98922 分钟前
视频关键词文字怎么突出?平衡重点突出与画面可读性
人工智能
阿Q的AI笔记26 分钟前
英伟达开源SoL-Pi:AI自己研究出优化方案,为Agent Harness省下64% Token
人工智能
微学AI34 分钟前
从历史曲线到提前预警:TimechoAI 的时序预测与业务落地实践
人工智能·算法
玫瑰互动GEO36 分钟前
通义千问GEO优化占位工程化:结构化事实+场景内容+可引用卖点,接住导购推荐
人工智能·ai·gem·geo优化·gem优化