基于 Aethir Claw + OpenClaw 搭建 7×24 小时加密社交监控 Agent

2026-04-08 | 分类:AI Agent / Web3 / 自动化运维 | 标签:OpenClaw VPS Telegram X API Ubuntu


1. 架构概述

本文描述的系统由三个层次构成:运行时宿主层(Aethir Claw VPS)、Agent 框架层(OpenClaw)、以及通过 Skills 挂载的能力层(X API、Telegram、链上数据等)。

整体架构示意:

用户 / Telegram
      ↕  Bot Token
  ┌──────────────────────────────────┐
  │         Aethir Claw VPS          │
  │   Ubuntu 24.04 LTS  ·  RK3588    │
  │                                  │
  │  ┌────────────────────────────┐  │
  │  │      OpenClaw Runtime      │  │
  │  │  SOUL.md · AGENTS.md       │  │
  │  │  TOOLS.md · HEARTBEAT.md   │  │
  │  │                            │  │
  │  │  Skills(挂载能力)          │  │
  │  │  ├─ x-twitter-api          │  │
  │  │  ├─ crypto-sentiment       │  │
  │  │  ├─ on-chain-alert         │  │
  │  │  └─ telegram-notify        │  │
  │  └────────────────────────────┘  │
  │                                  │
  │  Chrome(headless 浏览器自动化)    │
  └──────────────────────────────────┘
         ↕                  ↕
     X / Twitter API    外部数据源

OpenClaw 是一个以 Markdown 配置文件驱动的 Agent 框架,核心逻辑通过 SOUL.md(Agent 人格与目标)、HEARTBEAT.md(定时任务调度)、TOOLS.md(工具注册表)等文件声明,Skills 作为独立模块挂载,职责分离清晰。


2. 环境说明:Aethir Claw VPS

Aethir Claw 是 Aethir 推出的托管式 OpenClaw 宿主平台,底层为独立 VPS,每用户完全隔离,无共享租户。预装环境如下:

组件 版本 / 说明
操作系统 Ubuntu 24.04 LTS
OpenClaw 最新稳定版,预装
Chrome 预装,支持 headless 模式,用于浏览器自动化
节点区域 US(美国)/ JP(日本)可选
网络 独立 IP,支持稳定的 X API 长连接

注册后通过 SSH 连接实例:

ssh root@<your-vps-ip> -p 22 -i ~/.ssh/id_rsa

实例启动后,OpenClaw 进程已以 systemd 服务形式运行:

# 查看服务状态
systemctl status openclaw

# 手动重启
systemctl restart openclaw

# 查看实时日志
journalctl -u openclaw -f

注意:Aethir Claw 支持可选的「零供应商访问」锁定模式。开启后,平台管理员将无法通过任何方式访问你的实例。建议在完成初始配置后开启。


3. OpenClaw 运行时与 Skill 机制

OpenClaw 的工作目录结构如下:

/openclaw/
├── SOUL.md          # Agent 身份、目标、行为约束
├── USER.md          # 用户偏好与上下文
├── AGENTS.md        # 子 Agent 声明(多 Agent 协作)
├── TOOLS.md         # 工具注册,指向各 Skill 入口
├── HEARTBEAT.md     # 定时任务调度配置
├── MEMORY.md        # 持久化记忆模板
└── skills/
    ├── x-twitter-api/
    │   ├── skill.md
    │   └── index.js
    ├── telegram-notify/
    │   ├── skill.md
    │   └── index.js
    └── crypto-sentiment/
        ├── skill.md
        └── index.js

每个 Skill 由 skill.md 声明其能力描述、输入/输出 schema 以及调用方式,OpenClaw 在推理时根据任务语义动态路由到对应 Skill。


4. 核心 Skill 配置:X 监控

从 ClawHub 安装 X API Skill:

cd /openclaw/skills
git clone https://github.com/clawHub/x-twitter-api.git

skills/x-twitter-api/skill.md 中配置认证信息(推荐通过环境变量注入,避免明文写入配置文件):

# skill.md 片段
name: x-twitter-api
auth:
  bearer_token: ${X_BEARER_TOKEN}
  api_key: ${X_API_KEY}
  api_secret: ${X_API_SECRET}
  access_token: ${X_ACCESS_TOKEN}
  access_token_secret: ${X_ACCESS_TOKEN_SECRET}

在 VPS 上设置环境变量,追加至 /etc/environment 或写入 systemd service 的 EnvironmentFile

X_BEARER_TOKEN=AAAAAAAAAAAAAAAAAAAAAxxxxx
X_API_KEY=your_api_key
X_API_SECRET=your_api_secret
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret

TOOLS.md 中注册该 Skill:

## tools

- name: search_tweets
  skill: x-twitter-api
  description: 搜索 X 上的推文,支持关键词、时间范围、用户过滤

- name: get_user_timeline
  skill: x-twitter-api
  description: 获取指定账号的最新推文列表

- name: post_tweet
  skill: x-twitter-api
  description: 以当前账号身份发布推文

5. Telegram Bot 接入与通知推送

创建 Bot 并获取 Token:通过 @BotFather 在 Telegram 中执行 /newbot,记录返回的 Token。

警告:同一 Bot Token 不能同时被多个进程轮询(getUpdates),否则会触发 409 Conflict 错误。确保 VPS 上只有一个 OpenClaw 实例持有该 Token。

安装并配置 Telegram Skill:

cd /openclaw/skills
git clone https://github.com/clawHub/telegram-notify.git
# skill.md 片段
name: telegram-notify
config:
  bot_token: ${TELEGRAM_BOT_TOKEN}
  default_chat_id: ${TELEGRAM_CHAT_ID}

TOOLS.md 中注册:

- name: send_telegram
  skill: telegram-notify
  description: 向指定 Telegram chat 发送文本消息或 Alert

测试推送是否正常:

curl -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
  -d chat_id=${TELEGRAM_CHAT_ID} \
  -d text="OpenClaw 连接测试 OK"

6. SOUL.md 与 HEARTBEAT.md 配置详解

SOUL.md:定义 Agent 的行为目标

# SOUL.md

## identity
你是一个加密市场社交情报 Agent,运行在 Aethir Claw 上。
你的核心任务是监控 X 上的代币叙事、巨鲸账号动态和市场情绪变化,
并在发现异常信号时主动通过 Telegram 推送给用户。

## goals
- 持续追踪用户设定的关键词和账号列表
- 对情绪变化幅度超过阈值的事件立即报警
- 每日生成市场情绪摘要,定时推送

## constraints
- 不得发布任何未经用户确认的推文
- API 调用频率须遵守 X API Rate Limit(Basic tier:每15min 15次搜索)
- 所有操作记录写入 MEMORY.md

HEARTBEAT.md:定时调度配置

# HEARTBEAT.md

## schedule

- cron: "*/15 * * * *"
  task: 执行关键词搜索,检测情绪变化,若出现异常立即 send_telegram

- cron: "0 8 * * *"
  task: 生成过去24小时市场情绪日报,send_telegram 发送给用户

- cron: "*/5 * * * *"
  task: 检查监控列表中巨鲸账号的最新推文,发现异动立即 Alert

注意:HEARTBEAT 的 cron 表达式遵循标准 5 位格式。频繁的任务(如每 5 分钟)需注意与 X API Rate Limit 的配额冲突,建议在 Skill 层做请求队列管理。


7. 安全加固:API Key 管理与隔离边界

风险点 推荐做法
API Key 明文存储 使用环境变量或 /etc/environment,不写入任何 Markdown 配置文件
Telegram Token 泄露 限制 Bot 只能被特定 chat_id 调用,在 Skill 层加 allowlist 校验
Supply chain 风险 只从官方 ClawHub 或可审计的私有仓库安装 Skills,定期 git log 检查更新内容
SSH 访问 禁用密码登录,只允许 SSH Key 认证;必要时启用 Aethir Claw 零供应商访问锁定
X 账号权限 为 Agent 申请独立的 X Developer App,只授予必要权限(Read + Write),不使用主账号 Token

X API Rate Limit 参考(Basic tier):

# 关键端点限制(每15分钟窗口)
GET /2/tweets/search/recent  →  15 次 / 15min(per app)
GET /2/users/:id/tweets      →  15 次 / 15min(per user)
POST /2/tweets               →  17 次 / 24h(per user)

建议在 Skill 层实现指数退避重试逻辑,避免因 429 响应导致任务链中断:

async function searchWithRetry(query, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await twitterClient.v2.search(query);
    } catch (err) {
      if (err.code === 429) {
        const wait = Math.pow(2, i) * 60 * 1000; // 1min, 2min, 4min
        await sleep(wait);
      } else throw err;
    }
  }
}

8. 常见问题排查

现象 原因 解决方式
Telegram 推送报 409 Conflict 同一 Token 被多个进程同时 poll 检查并终止重复的 openclaw 进程;使用 Webhook 模式替代长轮询
X 搜索返回空结果 关键词含特殊字符或语言过滤设置问题 检查 query 编码;移除 lang:en 等过滤条件测试
Agent 任务未按 HEARTBEAT 调度执行 cron 表达式解析错误或 openclaw 服务意外重启 journalctl -u openclaw --since "1h ago" 查看日志;验证 cron 表达式格式
SSH 连接后 gateway 断开 会话超时或 keep-alive 未配置 ~/.ssh/config 中设置 ServerAliveInterval 60;或使用 tmux / screen 保持会话
Skill 安装后无法被路由 TOOLS.md 中未注册或 skill.md 格式错误 检查 TOOLS.md 注册项;验证 skill.md 的 YAML 缩进

9. 扩展方向

在当前框架基础上,以下扩展方向的工程可行性较高:

  • 接入链上数据 Skill(如 Dune Analytics API 或 Nansen Alerts),将链上大额转账与 X 情绪信号做交叉关联
  • AGENTS.md 中声明多个子 Agent,分别负责不同代币板块的监控,由主 Agent 做信号聚合与优先级排序
  • 待 Aethir Claw MaaS 层上线后,将 LLM 调用从外部 API(如 OpenAI)迁移到 Aethir 本地 GPU 推理,消除每次分析的 token 成本
  • 为 Telegram Bot 增加双向交互逻辑:用户发送 /watch $SOL 指令,Agent 实时更新监控列表并写入 MEMORY.md 持久化

参考链接

  • Aethir Claw 官方文档:https://docs.aethir.com/aethir-claw-cn
  • Skills 配置指南:https://docs.aethir.com/aethir-claw/aethic-claw-skills-advanced-settings-and-faqs
  • OpenClaw 学习资源:https://resources.learnopenclaw.ai
  • 注册 Aethir Claw:https://claw.aethir.com
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐