跳转到内容
Last updated

OpenClaw 是一个强大的人工智能代理框架。通过将 MoreLogin 技能安装到您的 OpenClaw 工作区中,您的代理将能够完全自主管理浏览器和云手机。

先决条件

  • Node.js v18 或更高版本
  • OpenClaw 已安装并初始化
  • 在同一台计算机上运行的 MoreLogin 桌面应用(本地 API 位于 http://localhost:40000

安装与设置

1. 安装 OpenClaw(如果尚未安装)

npm install -g openclaw
openclaw init    # Creates ~/.openclaw/workspace/

初始化后,工作区结构如下所示:

~/.openclaw/
├── workspace/
│   ├── skills/          ← Skill plugins live here
│   │   └── morelogin/   ← MoreLogin skill (you will create this)
│   ├── TOOLS.md         ← Tool configuration file
│   └── ...
└── config.yaml          ← OpenClaw global config

2. 安装 MoreLogin 技能

将官方技能库克隆到 OpenClaw 技能目录中:

# Clone the skill into the correct location
git clone https://github.com/MoreLoginBrowser/morelogin-local-api-skill.git \
  ~/.openclaw/workspace/skills/morelogin

# Install dependencies
cd ~/.openclaw/workspace/skills/morelogin
npm install

技能从哪里来?
技能源代码托管在 GitHub 上:MoreLoginBrowser/morelogin-local-api-skill。该存储库包含 OpenClaw 用于与 MoreLogin 交互的 CLI 包装器和 API 绑定。

3. 配置 OpenClaw 工具

将 MoreLogin 工具定义添加到您的 ~/.openclaw/workspace/TOOLS.md 文件中:

### Morelogin

- Install Path: /Applications/Morelogin.app (macOS) or C:\Program Files\MoreLogin (Windows)
- Default CDP Port: 9222
- Local API: http://localhost:40000

4. 验证安装

运行快速测试以确认技能已正确安装:

openclaw morelogin browser list --page 1 --page-size 5

如果 MoreLogin 应用程序正在运行,您应该会看到带有浏览器的 JSON 响应(或空列表)。


更新技能

要更新到最新版本:

cd ~/.openclaw/workspace/skills/morelogin
git pull origin main
npm install

升级前请检查发行说明 中的重大更改。


CLI 命令参考

MoreLogin 技能将 CLI 命令直接公开给 OpenClaw 环境。代理在推理过程中自动调用这些,但您也可以手动运行它们进行测试。

浏览器

# List profiles
openclaw morelogin browser list --page 1 --page-size 20

# Start a profile (Returns debugPort for CDP connection)
openclaw morelogin browser start --env-id abc123def

# View running status
openclaw morelogin browser status --env-id abc123def

# Close profile
openclaw morelogin browser close --env-id abc123def

云手机

# List cloud phones
openclaw morelogin cloudphone list --page 1 --page-size 20

# Start/Stop
openclaw morelogin cloudphone start --id <cloudPhoneId>
openclaw morelogin cloudphone stop --id <cloudPhoneId>

# Get details (Includes ADB connection info)
openclaw morelogin cloudphone info --id <cloudPhoneId>

# Execute cloud phone command via ADB
openclaw morelogin cloudphone exec --id <cloudPhoneId> --command "ls /sdcard"

代理和组管理

# Proxy
openclaw morelogin proxy list
openclaw morelogin proxy add --payload '{"proxyIp":"1.2.3.4","proxyPort":8000,"proxyType":0}'

# Group
openclaw morelogin group list
openclaw morelogin group create --name "US-Group"

最小端到端示例

下面是一个完整的示例,它创建浏览器、启动它、通过 CDP 访问 URL,然后关闭浏览器 — 所有这些都由 OpenClaw 代理精心安排。

自然语言提示

“创建一个新的 MoreLogin 浏览器,打开 google.com,截取屏幕截图,然后将其关闭。”

代理执行什么

# 1. Create a browser profile
openclaw morelogin browser create --name "demo-profile"
# → Returns: {"envId": "abc123def"}

# 2. Start the profile
openclaw morelogin browser start --env-id abc123def
# → Returns: {"debugPort": "9222", "webdriver": "/path/to/chromedriver"}

# 3. Connect via CDP (agent uses Puppeteer internally)
# The agent connects to ws://127.0.0.1:9222 and runs:
#   - page.goto("https://www.google.com")
#   - page.screenshot({path: "screenshot.png"})

# 4. Close the profile
openclaw morelogin browser close --env-id abc123def

等效脚本 (Node.js)

const { execSync } = require('child_process');
const puppeteer = require('puppeteer-core');

async function main() {
  // 1. Create profile
  const createResult = JSON.parse(
    execSync('openclaw morelogin browser create --name "demo-profile"').toString()
  );
  const envId = createResult.data.envId;

  // 2. Start profile
  const startResult = JSON.parse(
    execSync(`openclaw morelogin browser start --env-id ${envId}`).toString()
  );
  const debugPort = startResult.data.debugPort;

  // 3. Connect via CDP and automate
  const browser = await puppeteer.connect({
    browserURL: `http://127.0.0.1:${debugPort}`,
    defaultViewport: null
  });
  const page = (await browser.pages())[0];
  await page.goto('https://www.google.com');
  await page.screenshot({ path: 'screenshot.png' });
  console.log('Screenshot saved.');

  // 4. Cleanup
  await browser.disconnect();
  execSync(`openclaw morelogin browser close --env-id ${envId}`);
  console.log('Profile closed.');
}

main().catch(console.error);

代理人如何推理

当您要求 OpenClaw 代理*“创建浏览器并登录 example.com”*时,代理将:

  1. 调用 openclaw morelogin browser create(或等效 API)以获取 envId
  2. 调用 openclaw morelogin browser start 以获取 debugPort
  3. 使用 CDP 工具(如 Puppeteer/Playwright)连接到 debugPort 并执行登录步骤。
  4. 通过 openclaw morelogin browser status 验证是否成功。

故障排除

症状解决方案
command not found: openclaw确保 OpenClaw 已全局安装:npm install -g openclaw
Error: connect ECONNREFUSED 127.0.0.1:40000在运行命令之前启动 MoreLogin 桌面应用程序
技能目录缺失运行 openclaw init 创建工作区,然后克隆技能
更新后数据过时git pull 之后再次在技能目录中运行 npm install