LogoLexmount 文档
LogoLexmount 文档
首页

介绍

使用指南OpenClaw 接入 Lexmount 说明Codex Skill 接入 Lexmount 说明
Node.js SDK快速开始核心能力示例与参考
X (Twitter)
Node.js SDK

快速开始

安装 SDK、配置凭证,并使用 Playwright 连接远程浏览器。

仓库运行准备

如果你希望直接运行 SDK 仓库里的示例代码,可以按下面步骤操作:

1. 安装示例依赖

git clone <repository-url>
cd lexmount-js-sdk/examples
npm install

2. 配置环境变量

在 examples 目录创建 .env 文件:

LEXMOUNT_API_KEY=your-api-key-here
LEXMOUNT_PROJECT_ID=your-project-id-here
# 可选
LEXMOUNT_BASE_URL=https://api.lexmount.cn

3. 运行示例

npm run build
cd examples
npm run playwright-basic
npm run session-management
npm run context-basic

基础使用

import { Lexmount } from 'lexmount';

const client = new Lexmount({
  apiKey: process.env.LEXMOUNT_API_KEY,
  projectId: process.env.LEXMOUNT_PROJECT_ID,
});

const session = await client.sessions.create();
console.log(`Session ID: ${session.id}`);
console.log(`Connect URL: ${session.connectUrl}`);

await session.close();
client.close();

直接使用环境变量

import { Lexmount } from 'lexmount';

const client = new Lexmount();
const session = await client.sessions.create({ browserMode: 'normal' });

console.log(session.id);
await session.close();
client.close();

与 Playwright 集成

import { chromium } from 'playwright';
import { Lexmount } from 'lexmount';

const client = new Lexmount();
const session = await client.sessions.create();

const browser = await chromium.connectOverCDP(session.connectUrl);
const context = browser.contexts()[0];
const page = context.pages()[0] ?? (await context.newPage());

await page.goto('https://example.com');
console.log(await page.title());

await browser.close();
await session.close();
client.close();

构造函数说明

配置项

import { Lexmount } from 'lexmount';

const client = new Lexmount({
  apiKey: 'your-api-key',
  projectId: 'your-project-id',
  baseUrl: 'https://api.lexmount.cn',
  timeout: 60_000,
  logLevel: 'INFO',
});

创建会话

const session = await client.sessions.create({
  browserMode: 'normal',
});

console.log(session.id);
console.log(session.connectUrl);

会话超时由平台统一管理。如果会话已经到达配置的超时时间,但平台在最近 2 分钟内仍然看到了来自客户端的 CDP 流量,那么清理会被延后,直到这段活跃窗口结束。

查询会话

const result = await client.sessions.list({ status: 'active' });
console.log(result.pagination.totalCount);

for (const session of result) {
  console.log(`${session.id}: ${session.status}`);
}

错误处理

import {
  AuthenticationError,
  Lexmount,
  NetworkError,
  TimeoutError,
} from 'lexmount';

try {
  const client = new Lexmount();
  await client.sessions.create();
} catch (error) {
  if (error instanceof AuthenticationError) {
    console.error('凭证无效');
  } else if (error instanceof TimeoutError) {
    console.error('请求超时');
  } else if (error instanceof NetworkError) {
    console.error('网络连接失败');
  } else {
    throw error;
  }
}

日志

import { setLogLevel } from 'lexmount';

setLogLevel('DEBUG');

Node.js SDK

Lex Home 中可直接使用的 Lexmount Node.js SDK 文档。

核心能力

Node.js SDK 提供的 sessions、contexts、extensions、downloads、日志与错误处理能力。

目录

仓库运行准备
1. 安装示例依赖
2. 配置环境变量
3. 运行示例
基础使用
直接使用环境变量
与 Playwright 集成
构造函数说明
配置项
创建会话
查询会话
错误处理
日志