# @desert-ant-labs/emo 中文文档

规范地址：https://npmcn.com/package/%40desert-ant-labs/emo/

版本：4\.3\.0
npm 元数据更新时间：2026-11-05T21:27:04.836Z
中文译文更新时间：2026-11-13T03:19:12.539Z
软件包许可：SEE LICENSE IN LICENSE\.md

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40desert-ant-labs/emo
原文对照：https://npmcn.com/package/%40desert-ant-labs/emo/?lang=original
项目主页：https://desertant.com/models/emo/
源码仓库：https://github.com/Desert-Ant-Labs/desert-ant-core

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：175 MB，31 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@litertjs/core \>=2\.1\.0
- 首次发布：2026-06-24T12:33:42.654Z
- 最新版本发布：2026-11-05T21:27:04.646Z
- 近 30 天下载量：2391（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：37（近 12 个月 37 个）

## 中文简介

On-device多语言的emoji建议为JavaScript. 在浏览器(WebAssembly + LiteRT.js)和服务器端(native)运行,从一个导入.

## 安装

```sh
npm install @desert-ant-labs/emo
```

也可以使用：`pnpm add @desert-ant-labs/emo`、`yarn add @desert-ant-labs/emo`、`bun add @desert-ant-labs/emo`

## README

# @沙漠- ant- labs/ emo

在浏览器和节点运行的JavaScript的On-device多语种emoji建议. 给Emo一个短的任务,日历条目,注释,或消息,它返回了23种语言的排名的emoji. 文本保持本地状态 .

两条共用一条 `Emo` API : (英语)

-   **`@desert-ant-labs/emo`** (默认):一个WebAssembly输油管 [LitteRT.js (法语)](https://www.npmjs.com/package/@litertjs/core) 推论: **浏览器**。它没有本土的依赖性,因此,对于一个多目标捆绑器(Next.js, Remix, SvelteKit, Nuxt)的每个目标,包括浏览器捆绑和客户端-组件SSR通过在节点提供的这些框架,一个单一的导入结构是干净的。 这是安全的 _导入_ 在服务器侧渲染时,但LiteRT.js需要浏览器(或Web Worker)来初始化,所以 `Emo.load()` 运行仅在浏览器中推导;在平原节点中调用它会丢出一个可操作错误,指向您 `/native`。 。 。 .
-   **`@desert-ant-labs/emo/native`**: 预建的本地核心, macOS上的核心ML和Linux上的LiteRT, for **服务器侧推论** 在节点。 没有 `@litertjs/core`没有建筑工具 没有旗帜 从仅服务器代码(API路由,服务器动作,平分节点脚本)导入. 不要从同样在浏览器中的组件导入它 .

```bash
# Browser (default entry):
npm i @desert-ant-labs/emo @litertjs/core

# Server-side inference in Node (/native entry) needs no extra install:
npm i @desert-ant-labs/emo
```

该型号被从Hugging Face下载,首先在SDK的被贴标签上使用,后被缓存. Npm 柏油丸里没有模型大小的货.

```js
import { Emo } from "@desert-ant-labs/emo";

const emo = await Emo.load();
const suggestions = await emo.suggestions("Pay my bills", { limit: 3 });
// [{ emoji: "💰", confidence: 0.65 }, ...]

emo.dispose(); // release the model (both builds)
```

纯服务器代码,希望本地核心从中导入相同的 API `/native` 子路径 :

```js
import { Emo } from "@desert-ant-labs/emo/native"; // server only
```

## 正在装入模型

默认 `Emo.load()` 从 Hugging Face 下载模型文件([`desert-ant-labs/emo`](https://huggingface.co/desert-ant-labs/emo)在SDK的被贴标签, 验证,并缓存它们。 浏览器构建获取 `.tflite` 用于 LiteRT.js 并在浏览器中缓存它. 土著建筑`/native`获取 `.tflite` 在 Linux 上还是 `.mlmodelc/` 在 macOS 上,并在 OS 缓存目录下缓存它.

跳过 Higging Face 的下载:

-   `directory`:一个明确的模型目录(内部构建,或浏览器在节点下构建). 文件已经使用离线,否则模型会被下载到其中.
-   `modelBaseUrl`: 例如, 为模型文件服务的基础 URL `"/assets/emo/"` (浏览器建设).

`Emo.load()` 并接受:

-   `cacheRoot`: 管理上磁盘缓存的基础目录,默认 `~/.cache` (内部构建,或浏览器在节点下构建).
-   `onProgress`: 加载或下载进度回调,分数在 `[0, 1]`。 。 。 .
-   `skinTone`: 一个 `"default"`, (中文(简体) ), `"light"`, (中文(简体) ), `"mediumLight"`, (中文(简体) ), `"medium"`, (中文(简体) ), `"mediumDark"`,或 `"dark"` 调用时 `suggestions`。 。 。 .

浏览器- 仅构建- 选项 :

-   `litert`:一个带给你的 `@litertjs/core` 模块.
-   `litertWasmDir`: LiteRT.js Wasm 目录的URL或路径.
-   `accelerator`: 一个 `"wasm"`, (中文(简体) ), `"webgpu"`,或 `"webnn"`。 。 。 .

## 保险箱和安保部

默认 `@desert-ant-labs/emo` 导入可直接用于组件 : 它是纯 JavaScript + Web Assembly 没有本地模块, 所以捆绑者可以构建 用于浏览器和节点 SSR 从同一个模块图中通过,没有 配置 .

这个 `@desert-ant-labs/emo/native` 子路径加载本地加通( 通过 `koffi`和 仅用于服务器代码。 如果您在捆绑服务器的框架内导入它 代码(例如 Next.js Route Handler 或 Server Action),将其标记为外部 捆绑者不会试图捆绑本地二进制。 在下一个.js中:

```js
// next.config.js
module.exports = { serverExternalPackages: ["@desert-ant-labs/emo"] };
```

## 平台

本地服务器构建( N)`/native`)为linux-x64,linux-arm64,和darwin-arm64的舰只. 其他节点平台投出一个明显的错误 `load()`; 使用默认的 Web Assembly 构建、 Swift 软件包或浏览器.

## 许可证

[沙漠蚂蚁实验室 源头可破坏许可证](https://license.desertant.com/)。为大多数免费提供 应用软件和商务许可证必须规模化。 完整的术语在链接. 许可证发放: [许可@ desertant.com](mailto:licensing@desertant.com)。 。 。 .

SDK的第三方通知: [`THIRD_PARTY_NOTICES.md`](https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/THIRD_PARTY_NOTICES.md)。 。 。 .

权重第三方通知: [`THIRD_PARTY_NOTICES.md`](https://huggingface.co/desert-ant-labs/emo/blob/main/THIRD_PARTY_NOTICES.md)。 。 。 .

## 常见问题

### @desert-ant-labs/emo 是什么？

On-device多语言的emoji建议为JavaScript\. 在浏览器\(WebAssembly \+ LiteRT\.js\)和服务器端\(native\)运行,从一个导入\.

### 如何安装 @desert-ant-labs/emo？

在项目目录运行 npm install @desert-ant-labs/emo，或使用 pnpm add / yarn add / bun add。

### @desert-ant-labs/emo 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @desert-ant-labs/emo 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @desert-ant-labs/emo 可以商用吗？

@desert-ant-labs/emo 使用 SEE LICENSE IN LICENSE\.md 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @desert-ant-labs/emo 的下载量有多少？

根据 npm 官方下载统计，@desert-ant-labs/emo 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,391 次，日均约 80 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @desert-ant-labs/emo 还在维护吗？

最新版本 4\.3\.0 发布于 2026/11/06（7 天前）；至今共发布 37 个版本，其中过去 12 个月发布了 37 个；首次发布于 2026/06/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

