open-index/open-npm huggingface dataset:
npm package: @qqbeverly/hello-cdn-poc
Description: POC for testing CDN delivery via NPM
Author: Vivid Team
Latest version: 0.0.7

# HelloCDN POC

Proof of Concept для тестування CDN delivery через NPM.

## 📦 Структура

```
hello-cdn-poc/
├── src/
│   └── index.ts          # Вихідний код
├── dist/                 # Згенеровані файли
│   ├── hello-cdn.esm.js  # ES Module
│   ├── hello-cdn.umd.js  # UMD (для <script>)
│   └── hello-cdn.d.ts    # TypeScript types
├── examples/
│   ├── test-umd.html     # Тест UMD
│   └── test-esm.html     # Тест ESM
└── package.json
```

## 🚀 Workflow

### 1. Встановити залежності

```bash
npm install
```

### 2. Build

```bash
npm run build
```

### 3. Тест локально

Відкрити `examples/test-umd.html` в браузері

### 4. Публікація в NPM

```bash
# Логін (якщо ще не залогінений)
npm login

# Публікація
npm publish --access public
```

### 5. Перевірка через CDN

**UNPKG:**

```html
<script src="https://unpkg.com/@qqbeverly/hello-cdn-poc@latest/dist/hello-cdn.umd.js"></script>
```

**jsDelivr:**

```html
<script src="https://cdn.jsdelivr.net/npm/@qqbeverly/hello-cdn-poc@latest/dist/hello-cdn.umd.js"></script>
```

**ESM:**

```javascript
import HelloCDN from "https://unpkg.com/@qqbeverly/hello-cdn-poc@latest/dist/hello-cdn.esm.js";
```

### 6. Використання

```javascript
// Після завантаження через <script>
HelloCDN.init({
  message: "Custom message",
  element: "#my-div",
});
```
npm package: @qqbrowser/openclaw-qbot
Description: Multi-channel AI gateway with extensible messaging integrations
Latest version: 0.0.147

# OpenClaw for QQ Browser

> 基于 [OpenClaw](https://github.com/openclaw/openclaw) 开源项目的定制化分支，为 QQ 浏览器提供内嵌式 AI 助手能力。

## 背景

[OpenClaw](https://github.com/openclaw/openclaw) 是一个开源的多渠道 AI 网关（Multi-channel AI Gateway），支持 WhatsApp、Telegram、Slack、Discord 等 20+ 消息渠道的统一接入，提供会话管理、工具调用、语音交互等完整的 AI 助手能力。

本项目 Fork 自 OpenClaw，目标是将其 **嵌入到 QQ 浏览器中**，为用户提供开箱即用的本地 AI 助手体验。

## 编译

```shell
pnpm install
pnpm build && pnpm ui:build
```

## 本地运行

```shell
pnpm openclaw gateway run --port 2000
```

## 发布

```shell
# 更改 package.json 版本号
# 务必确认后再发布
bash scripts/qb-publish.sh
```

## 与 QQ 浏览器联调

```shell
# 先编译
pnpm build && pnpm ui:build

# 直接本地发布安装替换即可
# version 可选，不选的话使用当前版本
bash scripts/qb-debug.sh <version>
```

- [官方文档](https://docs.openclaw.ai)
- [架构概览](https://docs.openclaw.ai/concepts/architecture)
- [配置参考](https://docs.openclaw.ai/gateway/configuration)
- [安全指南](https://docs.openclaw.ai/gateway/security)

## 原 README

[README_ORIGIN.MD](README_ORIGIN.MD)

## 迁移过程

[QQBrowser-Integration-Plan.md](QQBrowser-Integration-Plan.md)
npm package: @qqi/babel-plugin-remove-dog-calls
Description: 用于 webpack 使用 babel 时排出 @qqi/dev-log 在浏览器端的使用
Author: 泥豆君
Latest version: 1.0.0

# @qqi/babel-plugin-remove-dog-calls

[![version](<https://img.shields.io/npm/v/@qqi/babel-plugin-remove-dog-calls.svg?logo=npm&logoColor=rgb(0,0,0)&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/@qqi/babel-plugin-remove-dog-calls) [![issues 提交](<https://img.shields.io/badge/issues-提交-rgb(255,0,63)?logo=github>)](https://github.com/MrMudBean/qqi/issues)

因为 [@qqi/dev-log](https://www.npmjs.com/package/@qqi/dev-log) 的工作原理，导致其在使用时，我们想通过一个环境变量来限制是否打印消息。但是，在 'browser' 环境中不同于 'node' 环境。即便是通过变量阻止了信息的打印。但是，为打印的消息存在于打包码中本身就是一个非安全行为。

## 安装

```bash
npm install --save-dev @qqi/babel-plugin-remove-dog-calls
```

## 使用

该项会在运行时拦截 `dog`（通过 `const dog = new Dog()` 创建的）的正式环境的执行。可能会牵连其他非 `@qqi/dev-log` 创建的项

之前的示例使用的为 '.babelrc' 文件。但是， _其不支持使用动态_，所以需要使用 'babel.config.js' 文件来定义 babel 设置。

```js
export default function (api) {
  api.cache(true);
  // 根据当前的设定的变量来设定是否使用该插件
  const isProduction = process.env.NODE_ENV === 'production';

  return {
    presets: [
      '@babel/preset-env',
      '@babel/preset-react',
      '@babel/preset-typescript',
    ],
    plugins: [
      '@babel/plugin-proposal-class-properties',
      process.env.NODE_ENV === 'production' &&
        '@qqi/babel-plugin-remove-dog-calls',
    ].filter(Boolean),
  };
}
```

## 文档地址

参看 [https://earthnut.dev/npm/qqi/remove-dog](https://earthnut.dev/npm/qqi/remove-dog)
npm package: @qqi/check-version
Description: 一个检测工作目录下 packages 文件夹下子 npm 包版本是否存在的模块
Author: 泥豆君
Latest version: 1.1.0

# qqi check-version

一个简单的本地版本检测工具

## 安装

```bash
npm install --save-dev @qqi/check-version
```

## 使用

默认使用方式为传入 `name` 参数，代码将执行判断工作目录下的 'packages/[name]' 子 npm 包的版本号是否已存在于线上

```bash
# 写法一
npx @qqi/check-version name=[name]
# 写法二
npx @qqi/check-version n=[name]
# 写法三
npx @qqi/check-version name [name]
# 写法四
npx @qqi/check-version n [name]
```

也可以传入 `cwd` 参数覆盖默认的判断文件夹，默认查找 'packages' 文件夹下子 npm 包，若您习惯于其他命名方式

```bash
# 倘若子主包 core 在 lists 文件夹下
npx @qqi/check-version name=core cwd=lists  # 推荐模式

npx @qqi/check-version name core cwd lists

npx @qqi/check-version name=core cwd lists

npx @qqi/check-version name core cwd=lists

npx @qqi/check-version n=core c=lists  # 推荐模式

npx @qqi/check-version n core c lists
```

默认的 name 值为 "." ，即以 packages 目录为项目的根（倘若 package.json 文件在这里的话）

使用 skip 参数是否跳过执行线上版本检测（因为 '0.0.0' 的版本默认为跳过检测，若初始版本非 '0.0.0' 时 ，也可以使用该参数跳过检测）

```bash
# 倘若子主包 core 在 lists 文件夹下
npx @qqi/check-version name=core cwd=lists skip  # 推荐模式

npx @qqi/check-version name=core cwd lists skip

npx @qqi/check-version n=core c=lists s # 推荐模式

npx @qqi/check-version n=core c lists s
```

若想在其他非分包的项目使用，即单独的项目使用配置，使用 `npx @qqi/check-version c=.` 即可。

## 使用示例

在 `pub.sh` 文件中使用时：

```bash
CHECK_VERSION="@qqi/check-version"
install_check_version() {
    if ! npm  list -g --depth=0 | grep -q " ${CHECK_VERSION}"; then
        echo "当前未全局安装 '${CHECK_VERSION}'，即将进行安装"
        npm install ${CHECK_VERSION} --global
    else
         echo "包 ${CHECK_VERSION} 已全局安装"
    fi
}
# 输出的 npm 发布的 tag。也可以通过调整 cwd 和 name 的参数来适配实际的项目地址
tag=""
install_check_version
if ! tag=$(npx "${CHECK_VERSION}" c=. 2>&1); then
    echo "未通过版本校验：$tag"
    exit 1
fi
echo "获取🉐发布标签为 ${tag}"
# 安装
npm ci

echo "开始发布 npm 包"

if ! npm publish --provenance --access public --tag ${tag} ; then
    echo "发布失败"
    exit 0
fi

echo "🚀🚀  发布成功，完结 🎉🎉 撒花 🎉🎉"
```

使用 [`npx @qqi/check-version`](https://www.npmjs.com/package/@qqi/check-version) 获取的 tag 是符合标准 npm 的预发布版本的版本号的规则。通过 [`npx vjj`](https://www.npmjs.com/package/vjj) 进行版本的迭代管理即符合标准的 npm 的 publish 的预发布的 tag ，也将在 `CHANGELOG.md` 文件添加更新迭代的版本的日志记录的标题（广子，这就是广子）。

所以，上面的 .sh 文件将提取 "0.0.1" 的 tag 值为 "latest"，若提取 "0.1.0-test.0" 则提取出 "test"

## 文档位置

[@qqi/check-version](https://earthnut.dev/npm/qqi/check-version)
npm package: @qqi/copy-text
Description: node 环境文本复制文本到剪切板 📋（不支持 Linux 系）
Author: 泥豆君
Latest version: 1.1.0

# qqi copy-text

将文本复制到剪切板

仅支持 windows、macOs 的 node 环境

[qqi](https://github.com/MrMudBean/qqi) 下都是小众的模块，且更新频率较低

## 安装

```bash
npm install --save @qqi/copy-text
```

## 使用

```ts
import { copyTextToClipboard } from '@qqi/copy-text';

await copyTextToClipboard('hello world');
```

## 文档

[@qqi/copy-text](https://earthnut.dev/npm/qqi/copy-text)
npm package: @qqi/dev
Description: 原 @qqi/dev-log 的 dev 部分
Author: 泥豆君
Latest version: 1.0.0

# @qqi/dev

[![version](<https://img.shields.io/npm/v/@qqi/dev.svg?logo=npm&logoColor=rgb(0,0,0)&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/@qqi/dev) [![issues 提交](<https://img.shields.io/badge/issues-提交-rgb(255,0,63)?logo=github>)](https://github.com/MrMudBean/qqi/issues)

## 安装

```bash
npm install --save-dev @qqi/dev
```

## 使用

在单元测试的时候使用 `jest` ，在功能测试时使用 `node:test` 和 `node:assert`。但是测试的时候，总是有打印的消息被 `node:test` 的结果覆盖。所以，写了一个简介的 dev ，用于功能测试。

类似于 `node:test`，使用如下：

```ts
import { dev } from '@qqi/dev-log';

const log = console.log;

dev.beforeEach(() => {
  console.log('你们执行前需要先执行我');
});

dev.afterEach(() => {
  console.log('你们执行完后会执行我');
});

// 简单使用
dev('测试 1', () => {
  log(1);
});

// 我其实就是想能够跳过测试而不是每一次 ((skip)=>{ if(skip) return; ....})(false)
dev.skip('跳过的测试', () => {
  log('我并不会被打印出来');
});

// 子测试，每一个测试是独立的，类似于 jest，单独的测试模块出现 Error 将阻止剩余逻辑执行
dev('包含子项的测试', it => {
  it.before(() => {
    console.log('我是大哥，我先执行，且仅执行一次');
  });
  it.before(() => {
    console.log('我是二哥，我执行次于大哥，且仅执行一次');
  });

  it.after(() => {
    console.log('我是小弟，你们执行完再执行我就行，仅执行一次');
  });

  it.beforeEach(() => {
    console.log('我是三哥，我执行次于二哥，每次子项执行我都执行一次');
  });

  it.beforeEach(() => {
    console.log('我是二弟，我执行早于小弟，每次子项执行我都执行一次');
  });

  it('子项 1️⃣', () => {
    log('我要出错');
    throw new Error('我粗错了');
    log('完啦，我打印不出来了');
  });

  it('子项 2️⃣', () => {
    log('没想到吧，我还活着');
  });
});

// 可以异步执行
await dev('测试异步的代码', async it => {
  it('测试异代码 2️⃣ ', async () => {
    log('异步代码 2️⃣ 外部');
    return new Promise(resolve => {
      log('异步代码 2️⃣ 内部');
      setTimeout(() => {
        log('异步代码 2️⃣');
        resolve('异步代码 2️⃣');
      }, 500);
    });
  });

  await it<string>('测试异代码 1️⃣ ', async () => {
    log('异步代码 1️⃣ 外部');
    return new Promise(resolve => {
      log('异步代码 1️⃣ 内部');
      setTimeout(() => {
        log('异步代码 1️⃣');

        resolve('异步代码 1️⃣');
      }, 1000);
    });
  });
});
```

在使用异步的测试时，总是期待能够使用 `await` ，否者可能将收到 `TypeError`。

## 文档地址

参看 [https://earthnut.dev/qqi/dev](https://earthnut.dev/npm/qqi/dev)
npm package: @qqi/dev-log
Description: 在 dev 环境使用 name_dev 启动日志打印
Author: earthnut
Latest version: 1.0.5
Deprecated: 该包不再维护，请使用 @qqi/dev 和 @qqi/log 部分

# @qqi/dev-log

[![version](<https://img.shields.io/npm/v/@qqi/dev-log.svg?logo=npm&logoColor=rgb(0,0,0)&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/@qqi/dev-log) [![issues 提交](<https://img.shields.io/badge/issues-提交-rgb(255,0,63)?logo=github>)](https://github.com/earthnutDev/@qqi/dev-log/issues)

一个用于开发的时候打印日志的工具，本质就是 `console` 的封装。

## 安装

```bash
npm install @qqi/dev-log --save
```

## 使用 Dog

### 创建全局的 `dog` (dev log 的缩写，天才第一步，起名要认真) 对象

```ts
/// 这里假设以 `a node tools` 为 `name` 的值
export const dog = new Dog({ name: 'a node tools' });
```

### 在需要打印日志的地方引入 `dog` 对象

```ts
import { dog } from './dog';

dog('你好'); // 该值是否打印还依赖于环境变量中有没有配置 `dev_log_dev` 的值
```

### 启用配置

```bash
# 配置 name 为 'a node tools'，则使用 `a_node_tools_dev` 或 `A_NODE_TOOLS_DEV` 来启动
a_node_tools_dev=true npm run dev
```

## 使用 dev

在单元测试的时候使用 `jest` ，在功能测试时使用 `node:test` 和 `node:assert`。但是测试的时候，总是有打印的消息被 `node:test` 的结果覆盖。所以，写了一个简介的 dev ，用于功能测试。

类似于 `node:test`，使用如下：

```ts
import { dev } from '@qqi/dev-log';

const log = console.log;

dev.beforeEach(() => {
  console.log('你们执行前需要先执行我');
});

dev.afterEach(() => {
  console.log('你们执行完后会执行我');
});

// 简单使用
dev('测试 1', () => {
  log(1);
});

// 我其实就是想能够跳过测试而不是每一次 ((skip)=>{ if(skip) return; ....})(false)
dev.skip('跳过的测试', () => {
  log('我并不会被打印出来');
});

// 子测试，每一个测试是独立的，类似于 jest，单独的测试模块出现 Error 将阻止剩余逻辑执行
dev('包含子项的测试', it => {
  it.before(() => {
    console.log('我是大哥，我先执行，且仅执行一次');
  });
  it.before(() => {
    console.log('我是二哥，我执行次于大哥，且仅执行一次');
  });

  it.after(() => {
    console.log('我是小弟，你们执行完再执行我就行，仅执行一次');
  });

  it.beforeEach(() => {
    console.log('我是三哥，我执行次于二哥，每次子项执行我都执行一次');
  });

  it.beforeEach(() => {
    console.log('我是二弟，我执行早于小弟，每次子项执行我都执行一次');
  });

  it('子项 1️⃣', () => {
    log('我要出错');
    throw new Error('我粗错了');
    log('完啦，我打印不出来了');
  });

  it('子项 2️⃣', () => {
    log('没想到吧，我还活着');
  });
});

// 可以异步执行
await dev('测试异步的代码', async it => {
  it('测试异代码 2️⃣ ', async () => {
    log('异步代码 2️⃣ 外部');
    return new Promise(resolve => {
      log('异步代码 2️⃣ 内部');
      setTimeout(() => {
        log('异步代码 2️⃣');
        resolve('异步代码 2️⃣');
      }, 500);
    });
  });

  await it<string>('测试异代码 1️⃣ ', async () => {
    log('异步代码 1️⃣ 外部');
    return new Promise(resolve => {
      log('异步代码 1️⃣ 内部');
      setTimeout(() => {
        log('异步代码 1️⃣');

        resolve('异步代码 1️⃣');
      }, 1000);
    });
  });
});
```

在使用异步的测试时，总是期待能够使用 `await` ，否者可能将收到 `TypeError`。

## 文档地址

参看 [https://earthnut.dev/qqi_dev-log/](https://earthnut.dev/qqi_dev-log/)
npm package: @qqi/log
Description: 原 @qqi/dev-log 中的 log 部分
Author: 泥豆君
Latest version: 1.1.4

# @qqi/log

[![version](<https://img.shields.io/npm/v/@qqi/log.svg?logo=npm&logoColor=rgb(0,0,0)&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/@qqi/log) [![issues 提交](<https://img.shields.io/badge/issues-提交-rgb(255,0,63)?logo=github>)](https://github.com/MeMudBean/qqi/issues)

## 安装

```bash
npm install --save @qqi/log
```

## 使用 Dog

### 创建全局的 `dog` (dev log 的缩写，天才第一步，起名要认真) 对象

```ts
/// 这里假设以 `a node tools` 为 `name` 的值
export const dog = new Dog({ name: 'a node tools' });
```

### 在需要打印日志的地方引入 `dog` 对象

```ts
import { dog } from './dog';

dog('你好'); // 该值是否打印还依赖于环境变量中有没有配置 `dev_log_dev` 的值
```

### 启用配置

```bash
# 配置 name 为 'a node tools'，则使用 `a_node_tools_dev` 或 `A_NODE_TOOLS_DEV` 来启动
a_node_tools_dev=true npm run dev
```

### 折叠同名方法打印消息

使用 `fold` 参数 :

```js
import { Dog } from '@qqi/log';

const dog = Dog();
```

## 文档地址

参看 [https://earthnut.dev/npm/qqi/log](https://earthnut.dev/npm/qqi/log)
npm package: @qqi/rollup-external
Description: 用于 rollup 打包 📦 时排除异己的工具 🔧
Author: 泥豆君
Latest version: 1.1.2

# qqi rollup-external

一个简单的 rollup 构建打包时的排除外部依赖的函数（多用于构建 npm 库包）

因为我在构建新的 npm 库包时，常因不仔细导致包

## 安装

```bash
npm install  --save-dev @qqi/rollup-external
```

## 使用

在 `rollup.config.js` 文件中配置：

```js
.... 其他引用
import { external } from '@qqi/rollup-external';
.... 其他代码逻辑

export default {
  ... 其他配置,
  external: external({
    // 默认排除 package.json 中 dependencies 的依赖
    // 排除 `node:`、`a-`、`color-pen` 、`@qqi`开头的依赖
    exclude: ["node:", "a-" ,"color-pen", "@qqi/"],
    // 忽略 `node:` 开头的包在 package.json 中未声明的 dependencies 的依赖
    // 未配置改项，若项目中包含 `node:`
    ignore: ["node:"],
    // 一定要包含的依赖，将被打包入打包文件夹内
    //  或是使用 `src/` 等路径，则报错 “依赖未被排除，打包关闭”
    include: ['@qqi/copy-text','src/utils', 'src/dog']
  }),
  ... 其他配置,

}

```

- 默认读取 `package.json` 中的 `dependencies` 和 `peerDependencies` 的依赖项作为 `exclude` 的值，即改值一般无需配置
- `include` 使用的全量对比，且优先级要远远高于 `exclude` 和 `ignore` 的配置，若在 `dependencies` 中配置了某依赖却又想将该依赖包含在打包文件内时可使用 `include`（但是需注意包会包含于 'node_modules' 文件夹下，保证 files 字段包含该项）
- `ignore` 用于忽略那些不包含于 'package.json' 的 `dependencies` 中却需要被排除的依赖，如 `node:`、`src/` 等路径的依赖。校验时以输入的字符串的 `startWith` 判断
- 可直接不使用参数，如果仅是想排除 'package.json' 文件中 `dependencies` 配置依赖 （怎么感觉有一股翻译腔）

### 第二参数

第二参数可控制在使用时在控制台展示简易日志。

第二参数可接受的类型

- `boolean` ： 为 `true` 将为每一个引入打印简易日志
- `string` ： 将使用 `id.includes(str)` 的方式判定是否打印该条简易日志
- `string[]` ：将为数组中的每一项使用 `id.includes(str)` 判定

## 文档地址

[@qqi/rollup-external](https://earthnut.dev/npm/qqi/rollup-external)
npm package: @qqi/rollup-preserve-directive
Description: 使用 rollup 打包时保留 `use client/server` 指令
Author: MrMudBean
Latest version: 1.0.0

# @enr/rollup-preserve-directive

[![version](<https://img.shields.io/npm/v/@qqi/rollup-preserve-directive.svg?logo=npm&logoColor=rgb(0,0,0)&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/@qqi/rollup-preserve-directive) [![issues 提交](<https://img.shields.io/badge/issues-提交-rgb(255,0,63)?logo=github>)](https://github.com/MrMudBean/qqi/issues)

在使用 rollup 打包时保留 `"use client/server";` 指令而不报错。

## 安装

```bash
npm install --save-dev @qqi/rollup-preserve-directive
```

## 使用

作为 rollup 的第一个插件即可：

```js
import { preserveDirective } from '@qqi/rollup-preserve-directive';

export default {
  // ... 其他配置

  plugins: [
    preserveDirective(), // 保留 `use client/server` 指令且不报错

    // ... 其他插件
  ],

  // ... 其他配置
};
```
npm package: @qqi/table
Description: 一个简单的在控制台及控制台构建彩色文本表格的工具
Author: 花生亻
Latest version: 0.1.0

# 彩色表格

~~一个在控制台构建表格的工具（自定义版 console.table ）~~

~~本来想着写成在终端（node 环境）和控制台（浏览器环境）公用的，但是发现在浏览器环境表现不佳，且不同的浏览器环境渲染效果不同，还不如使用 `console.table`~~

现在支持在浏览器环境打印彩色文本的表格，但是目前不支持自定义边框及长文本换行。因为在 `node` 使用的终端和浏览器的控制台渲染的方式不同，其核心代码也不尽相同。

(目前的小问题就是当同行表情过多时会产生偏移)

## 安装

```bash
npm install  --save colored-table

# 亦可 (两包以后将同步版本发布)

npm install --save @qqi/table
```

## 使用

```ts
import { ColoredTable } from 'colored-table';

/** 构建表格，可传入初始化的数据，也可直接不使用参数而使用 `addRow` 添加行 */
const table = new ColoredTable([
  ['我在第一行第一列', '我在第一行第二列'],
  ['我在第二行第一列', '我在第二行第二列'],
]);

// 因为一个表只有一个表头，所以每次调用 `setHeader` 都将覆盖上一次配置表头
/** 设置表头，也可以在实例化时使用对象配置表头 */
table.setHeader(['第一列', '第二列']);

/** 使用 `addRow` 添加行，会追加到已有行后 */
table.addRow(['我在第三行第一列', '我在第三行第二列']);
// 构建表
table();
```

格式效果：

| 第一列           | 第二列           |
| :--------------- | :--------------- |
| 我在第一行第一列 | 我在第一行第二列 |
| 我在第二行第一列 | 我在第二行第二列 |
| 我在第三行第一列 | 我在第三行第二列 |

在浏览器效果：

[![浏览器表格](https://raw.githubusercontent.com/earthnutDev/qqi/main/media/浏览器表格.png)](https://github.com/earthnutDev/qqi/blob/main/media/浏览器表格.png)

带表情的效果

[![浏览器表格](https://raw.githubusercontent.com/earthnutDev/qqi/main/media/浏览器表格-with-emoji.png)](https://github.com/earthnutDev/qqi/blob/main/media/浏览器表格-with-emoji.png)

### setFontSize

除了 `addRow` 和 `setHeader` 两个方法，实例上还存在 `setFontSize` 方法。该方法将控制最终渲染的表格的字符大小。当然，这仅可在浏览器环境使用

```ts
table.setFontSize(8); // 渲染表格会在控制台显示更小
table.setFontSize(16); // 渲染表格会在控制台显示更大
```

### ColoredTableGlobalData

包还导出了 `ColoredTableGlobalData` 用于指定默认全局的样式。在该数据上的更改将直接影响所有没有特殊配置样式的文本或是边框。

## 文档地址

[colored-table](https://earthnut.dev/nmp/colored-table)