NPM 已发 3 个包 · 5 分钟创建你的领域 CLI 工具

插件化 CLI 框架 +
浏览器自动化引擎

mpage 是一个 领域无关的插件化 CLI 框架,内置浏览器自动化引擎。基于它,5 分钟可以创建任何领域的 CLI 工具(浏览器、数据库、API、DevOps …)。xbrowser CLI 就是基于它构建的。

⭐ 查看源码 📖 完整文档
$ npx create-xcli my-tool
3
NPM 包
35+
页面命令
5
脚手架模板
100%
TypeScript
PACKAGES

3 个 NPM 包

分层设计,各司其职

@dyyz1993/xcli-core framework
🧩 CLI 核心框架
插件化 CLI 框架核心。领域无关的通用设计,不绑定浏览器/数据库/API。
Core 类 + jiti 运行时 TS 编译
PluginLoader 生命周期管理(load/unload/reload)
SiteInstance 命名空间命令注册
HelpGenerator(Zod schema 自动生成)
OutputFormatter(text / json / yaml)
PluginStorage 持久化数据
Agent Guard RBAC 权限控制
@dyyz1993/xpage v1.0.5
🌐 浏览器自动化引擎
基于 Playwright 的浏览器自动化引擎库,提供 35+ 页面命令、录制回放、页面结构提取。
executePageCommand 统一命令接口
RecorderController 操作录制
PlaybackEngine YAML 回放
页面结构提取(structure command)
基于 Playwright-core,可换浏览器
create-xcli scaffold
🚀 项目脚手架
一条命令生成领域 CLI 项目,5 种模板覆盖常见场景。
base — 最小可用 CLI
browser — 浏览器自动化
database — 数据库工具
api — API 调试工具
plugin — 插件开发模板
USAGE

5 分钟创建你的 CLI

example.ts
// ① 用 xcli-core 搭起 CLI 框架
import { Core, ok, fail } from '@dyyz1993/xcli-core';
import { z } from 'zod';

const app = new Core({
  name: 'my-tool',
  version: '0.1.0',
  configDirName: '.my-tool',
  envPrefix: 'MY_TOOL',
  pluginDirs: ['./plugins'],
});

const site = app.loader.getAPI().createSite({
  name: 'builtin',
  url: 'https://example.com',
});

site.command('hello', {
  description: 'Say hello',
  args: z.object({ name: z.string().default('World') }),
  action: async ({ name }) => ok(`Hello, ${name}!`),
});

await app.run(process.argv);

// ② 想要浏览器能力? 引入 xpage
import { executePageCommand } from '@dyyz1993/xpage';
import { chromium } from 'playwright-core';

const browser = await chromium.launch();
const page = await browser.newPage();
await executePageCommand(page, 'goto', { url: 'https://example.com' });
const { title } = await executePageCommand(page, 'title', {});
console.log(title); // "Example Domain"
FEATURES

核心特性

🌐

浏览器自动化

35+ 页面命令、录制 / 回放、页面结构提取,基于 Playwright-core。

🧩

插件系统

TypeScript 运行时加载(jiti)。命令覆盖 / 增强,支持热重载。

🚀

脚手架

一条命令生成项目,5 种模板覆盖:base / browser / database / api / plugin。

🎯

领域无关

核心设计不绑定浏览器 / 数据库 / API,真正通用的 CLI 框架。

📝

Zod Schema

命令参数完全类型安全。Help 文档自动从 schema 生成。

🔐

RBAC 权限

Agent Guard 角色权限控制。生产级 CLI 必备。

💾

持久化存储

PluginStorage 插件数据持久化,CLI 状态可保存。

📤

多格式输出

text / json / yaml 三种输出格式,管道友好。

🧪

高质量

Codecov 覆盖率跟踪,GitHub Actions CI 全流程。

从工具到框架

不止用工具,还造工具的工具