Claude自动化代理服务

一个连接Claude Code与OpenClaw守护进程的MCP服务器,提供24/7自动化服务,包括定时任务、跨平台消息发送和浏览器自动化,无需额外API密钥。

  • by mordiaky
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mordiaky/clawdaemon-mcp

使用说明

ClawDaemon MCP

一个MCP服务器,将Claude Code连接到持久的OpenClaw守护进程,实现全天候自动化。包括一个Claude CLI代理,让OpenClaw使用您的Claude Code订阅作为其AI大脑-不需要单独的API密钥。

它做什么

OpenClaw作为后台守护进程在您的计算机上运行。这个MCP服务器为Claude Code提供了管理该守护进程的工具——创建cron作业、设置Webhook、在23个以上的平台上发送消息,以及自动化您的浏览器。

与其他方法的主要区别: 当Claude Code未打开时,自动化仍在运行当你回来时,克劳德会通过事件队列了解发生的一切。

建筑

                        ┌─────────────────────────────────────────────┐
                        │              OpenClaw Daemon (24/7)          │
                        │  ┌─────────┐ ┌──────┐ ┌────────┐ ┌───────┐ │
                        │  │ Discord │ │ Cron │ │Browser │ │ Gmail │ │
                        │  └────┬────┘ └──┬───┘ └───┬────┘ └───┬───┘ │
                        │       └─────────┴─────────┴──────────┘     │
                        │                    │                        │
                        │              Gateway (:18789)               │
                        └──────────┬─────────────────┬───────────────┘
                                   │                 │
              MCP stdio            │  OpenAI API     │
Claude Code ◄──────────► MCP Server│  (:18790)       │
                              │    │                 │
                        SQLite DB  └── Claude Proxy ◄┘
                                         │
                                    claude --print
                                   (your CLI sub)
  • OpenClaw守护进程 在后台运行(systemd/launchd)。处理cron、消息通道、浏览器自动化。
  • MCP服务器 连接到守护进程并为Claude Code公开工具。
  • 克劳德代理 将OpenAI API调用转换为 claude --print 电话。OpenClaw认为它是在与API对话,但它使用的是您的Claude Code订阅。
  • 事件队列 存储自动化的结果。当Claude Code重新连接时,它会轮询错过的事件。

先决条件

快速开始

1.安装

git clone https://github.com/mordiaky/clawdaemon-mcp.git
cd clawdaemon-mcp
npm install
npm run build

2.设置OpenClaw

如果你还没有安装OpenClaw:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
npx pnpm install
npx pnpm build

启动网关:

node openclaw.mjs gateway run

网关启动 http://127.0.0.1:18789 默认情况下。

3.将MCP连接到克劳德代码

claude mcp add clawdaemon -- node /absolute/path/to/clawdaemon-mcp/build/server.js

可选择添加OpenClaw的内置消息传递工具:

claude mcp add openclaw -- node /absolute/path/to/openclaw/openclaw.mjs mcp serve

重新启动Claude Code以加载工具。

4.设置克劳德代理(可选)

Claude Proxy允许OpenClaw使用您的Claude Code CLI订阅作为其AI模型。这意味着OpenClaw可以响应Discord消息、运行心跳任务和流程自动化——所有这些都由Claude提供支持,无需单独的API密钥。

启动代理

cd clawdaemon-mcp
npm run proxy

代理正在监听 http://127.0.0.1:18790/v1 并将兼容OpenAI的API调用转换为 claude --print 电话。

配置OpenClaw以使用代理

添加到您的 ~/.openclaw/openclaw.json:

{
  "models": {
    "providers": {
      "claude-proxy": {
        "baseUrl": "http://127.0.0.1:18790/v1",
        "api": "openai-completions",
        "models": [
          {
            "id": "claude-cli",
            "name": "Claude via CLI Proxy",
            "input": ["text", "image"],
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "claude-proxy/claude-cli"
      }
    }
  }
}

重新启动网关以应用:

openclaw gateway restart

让代理访问您的MCP服务器

编辑 openclaw-mcp-config.json 要添加您希望代理生成的Claude可以访问的任何MCP服务器:

{
  "mcpServers": {
    "clawdaemon": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/clawdaemon-mcp/build/server.js"],
      "env": {}
    },
    "your-other-server": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/your-server/build/index.js"],
      "env": {}
    }
  }
}

代理将此配置传递给 claude --print --mcp-config 因此,响应消息的Claude实例具有完全的工具访问权限。

MCP工具

守护进程

工具 它做什么
daemon_status 检查OpenClaw网关是否运行正常

自动化管理

工具 它做什么
create_cron 安排定期自动化
list_automations 列出所有活动的自动化
delete_automation 删除自动化

事件轮询

工具 它做什么
poll_events 获取自上次检查以来发生的事件
acknowledge_event 将事件标记为已处理
get_event_history 浏览过去的事件
prune_events 从队列中删除过期事件

消息传递

工具 它做什么
send_message 通过任何连接的通道发送消息
list_channels 列出已连接的消息传递渠道

浏览器自动化

工具 它做什么
browser_navigate 在浏览器中打开URL
browser_extract 获取当前页面的DOM快照
browser_screenshot 截图

配置

环境变量

变量 默认值 描述
OPENCLAW_GATEWAY_URL ws://127.0.0.1:18789 网关WebSocket URL
OPENCLAW_GATEWAY_TOKEN (来源于~/.openclaw/openclaw.json) 网关的认证令牌
CLAWDAEMON_DB ~/.clawdaemon/events.db 事件队列数据库路径
CLAUDE_PROXY_PORT 18790 Claude CLI代理的端口

克劳德代理如何工作

代理是一个轻量级的HTTP服务器,使Claude Code CLI看起来像一个与OpenAI兼容的API:

  1. OpenClaw发送了一个标准 /v1/chat/completions 请求
  2. 代理将消息转换为提示字符串
  3. 它正在孕育 claude --print --output-format json --mcp-config openclaw-mcp-config.json
  4. Claude使用完整的MCP工具访问权限处理提示
  5. 代理以OpenAI格式包装响应并返回
  6. OpenClaw提供对Discord/Telegram等的响应。

支持流式(SSE)和非流式响应。

频道设置(Discord示例)

一旦代理运行并且OpenClaw配置为使用它,请添加一个消息通道:

  1. 在以下位置创建Discord机器人https://discord.com/developers/applications
  2. 获取机器人令牌,启用消息内容意图
  3. 添加 ~/.openclaw/openclaw.json:
{
  "channels": {
    "discord": {
      "enabled": true,
      "groupPolicy": "open",
      "accounts": {
        "default": {
          "token": "YOUR_DISCORD_BOT_TOKEN"
        }
      }
    }
  }
}
  1. 重新启动网关并邀请机器人到您的服务器
  2. DM机器人触发配对,然后批准: openclaw pairing approve discord <CODE>

Claude现在将通过代理响应Discord消息。

故障排除

MCP服务器无法连接/工具未显示

  1. 重新启动Claude代码 --MCP工具仅在会话开始时加载。
  2. 检查网关是否正在运行 --参观 http://127.0.0.1:18789.
  3. 检查MCP服务器状态 --快跑 /mcp 克劳德密码。

Claude Proxy未响应

  1. 检查代理是否正在运行 — curl http://127.0.0.1:18790/v1/models
  2. 检查Claude CLI是否经过身份验证 — claude --version
  3. 检查代理日志 --日志将转到stderr。跑 npm run proxy 在终端中查看它们。

Discord机器人连接但不接收消息

  1. 在Discord开发人员门户中启用所有三个特权网关意图(消息内容、服务器成员、状态)
  2. 集 groupPolicy: "open" 在Discord频道配置中
  3. DM机器人并完成配对流程

重启时“等待网关准备就绪”

Discord的WebSocket有时无法干净地重新连接。停止网关,等待15秒,然后重新启动:

systemctl --user stop openclaw-gateway.service
sleep 15
openclaw gateway restart

为什么存在

OpenClaw是一个强大的自动化守护进程,但其内置的AI需要单独的API密钥。Claude Code用户已经拥有Claude订阅。此MCP服务器+代理允许您使用OpenClaw的全自动化堆栈(消息传递、cron、浏览器、webhook),完全由您现有的Claude Code订阅提供支持-无需额外的API成本,无ToS违规行为。

许可证

麻省理工学院