用 Node 直装部署 Clawdbot/Moltbot,并通过 DataPipe 接入 GPT-5.2

用 Node 直装部署 Clawdbot/Moltbot,并通过 DataPipe 接入 GPT-5.2

如果你想要一个“能干活”的个人助理:能发 Telegram、定时提醒、跑脚本、接你自己的 API、还能随时扩展技能,那么 Clawdbot(也常被叫作 Moltbot) 这一类“带工具的代理(agent)”会很顺手。

这篇文章走 快速上手 路线:

  • 服务器上直接用 Node.js 安装并跑起来
  • 配好基础的守护/自启(不依赖 Docker)
  • https://api.datapipe.app/v1 作为 OpenAI 兼容网关,调用 gpt-5.2
  • 给出 curl / Node.js / Python 的完整示例

安全提醒:全文示例都只用环境变量占位符($DATAPIPE_API_KEY),不要把真实 key 写进代码仓库或截图里。


你将得到什么

部署完成后你会拥有:

  • 一个常驻进程(可以像服务一样运行)
  • 能按你的需求扩展:消息渠道、定时任务、网页/文件操作、以及你自己的业务 API
  • 通过 DataPipe 的 OpenAI 兼容接口访问 gpt-5.2(方便替换/切换模型与供应商)

前置条件

在一台 Linux 服务器上准备:

  • Node.js(建议 v20+;越新越省心)
  • npm(随 Node 一起)
  • 一个普通用户(不建议全程 root)

检查版本:

node -v
npm -v

如果你还没装 Node:

  • 有 nvm 的同学用 nvm
  • 没有的话用系统包管理器/NodeSource 都行

(不同发行版安装方式不展开;本文重点放在“跑起来 + 接入 API”。)


安装 Clawdbot/Moltbot

在服务器上找个目录:

mkdir -p ~/apps/clawdbot
cd ~/apps/clawdbot

通常你会有两种来源:

  • 直接用 npm 全局安装 CLI
  • 或者从仓库拉源码运行

这里给一个通用的“CLI 方式”思路(适合快速上手):

npm i -g clawdbot
clawdbot --help

如果你用的是源码方式(便于二次开发/自定义):

git clone <your-repo-url>
cd <repo>
npm i
npm run build

你具体采用哪种方式,取决于你是否要改代码。快速上手优先 CLI;要做深度定制优先源码。


以服务方式运行(systemd)

为了让它“像服务一样”稳定运行(断线重启、开机自启),建议用 systemd。

创建一个 service 文件(路径按你的安装方式调整):

sudo tee /etc/systemd/system/clawdbot.service > /dev/null <<'UNIT'
[Unit]
Description=Clawdbot service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=%i
WorkingDirectory=/home/%i
Environment=NODE_ENV=production
# 如果你通过环境变量放 key,推荐写到单独的 EnvironmentFile
# EnvironmentFile=/etc/default/clawdbot
ExecStart=/usr/bin/env clawdbot gateway start
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
UNIT

上面用了 %i(实例用户)写法;你也可以直接写死 User=yongman / WorkingDirectory=/home/yongman/apps/…

启用并启动:

sudo systemctl daemon-reload
sudo systemctl enable clawdbot.service
sudo systemctl start clawdbot.service

sudo systemctl status clawdbot.service --no-pager

看日志:

journalctl -u clawdbot.service -f

如果你的命令不是 clawdbot gateway start,而是 node dist/index.jsnpm run start,把 ExecStart= 换成你的启动命令即可。


用 DataPipe 接入 GPT-5.2(OpenAI 兼容)

你的目标是把调用指向:

  • Base URL: https://api.datapipe.app/v1
  • Model: gpt-5.2

环境变量

先在服务器上设置:

export DATAPIPE_API_KEY='YOUR_KEY_HERE'

长期建议写进:

  • ~/.profile~/.bashrc
  • 或者 systemd 的 EnvironmentFile(更适合服务)

代码示例(curl / Node.js / Python)

下面示例都使用 OpenAI 兼容路径:

  • POST /v1/chat/completions

如果你更偏好 Responses API(/v1/responses),也可以用相同的 base URL;以你网关支持的端点为准。

1) curl

curl https://api.datapipe.app/v1/chat/completions \
  -H "Authorization: Bearer $DATAPIPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.2",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "用三句话解释一下 Clawdbot 是什么。"}
    ]
  }'

2) Node.js(官方 OpenAI SDK,指向自定义 baseURL)

安装:

npm i openai

代码(index.mjs):

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DATAPIPE_API_KEY,
  baseURL: "https://api.datapipe.app/v1",
});

const resp = await client.chat.completions.create({
  model: "gpt-5.2",
  messages: [
    { role: "system", content: "You are a helpful assistant." },
    { role: "user", content: "给我一个 Clawdbot/Moltbot 的部署 checklist(10 条以内)。" },
  ],
});

console.log(resp.choices?.[0]?.message?.content);

运行:

DATAPIPE_API_KEY=... node index.mjs

3) Node.js(TypeScript 版本)

安装:

npm i openai
npm i -D typescript tsx @types/node

index.ts

import OpenAI from "openai";

const apiKey = process.env.DATAPIPE_API_KEY;
if (!apiKey) throw new Error("Missing DATAPIPE_API_KEY");

const client = new OpenAI({
  apiKey,
  baseURL: "https://api.datapipe.app/v1",
});

const r = await client.chat.completions.create({
  model: "gpt-5.2",
  messages: [
    { role: "system", content: "You are a helpful assistant." },
    { role: "user", content: "写一段用于健康检查的 JSON 输出(包含 ok=true 和 timestamp)。" },
  ],
});

console.log(r.choices?.[0]?.message?.content);

运行:

DATAPIPE_API_KEY=... npx tsx index.ts

4) Python(requests)

安装:

python3 -m pip install requests

main.py

import os
import requests

api_key = os.environ.get("DATAPIPE_API_KEY")
if not api_key:
    raise RuntimeError("Missing DATAPIPE_API_KEY")

url = "https://api.datapipe.app/v1/chat/completions"
payload = {
    "model": "gpt-5.2",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "用要点列出部署一个 agent 服务最容易踩的 5 个坑。"},
    ],
}

r = requests.post(
    url,
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json=payload,
    timeout=60,
)

r.raise_for_status()
print(r.json()["choices"][0]["message"]["content"])

运行:

DATAPIPE_API_KEY=... python3 main.py

常见坑与建议

  • 权限:别用 root 跑常驻服务;用单独用户 + 最小权限
  • 配置:API key 只放环境变量/密钥管理,不要写进 repo
  • 进程守护:用 systemd/pm2 任选其一;不要靠 nohup 凑合
  • 日志:确保能看 journalctl,定位问题会快很多
  • 升级:版本升级前先在测试环境试跑,尤其是插件/渠道适配

下一步:把 Clawdbot 接入你的业务 API

你已经能通过 DataPipe 调到 gpt-5.2 了,下一步通常是:

  • 把你的内部 API(比如 api.datapipe.app 的业务端点)包装成“工具/函数”
  • 在 agent 的 system prompt 里描述工具的输入输出
  • 在生产环境给每个工具加上:超时、重试、限流、审计日志

当你愿意把你的目标流程(比如“每天 9 点汇总数据并发到 Telegram”)说清楚,我可以按你现有的 API 形态,给你一份更贴近业务的工具设计和提示词模板。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注