# @brftech/filex-app-ui 中文文档

规范地址：https://npmcn.com/package/%40brftech/filex-app-ui/

版本：0\.59\.0
npm 元数据更新时间：2026-11-06T22:10:15.877Z
中文译文更新时间：2026-11-08T14:58:10.015Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40brftech/filex-app-ui
原文对照：https://npmcn.com/package/%40brftech/filex-app-ui/?lang=original
项目主页：https://github.com/BRF-Tech/filex#readme
源码仓库：https://github.com/BRF-Tech/filex

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

- 包体积（解压后）：214 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-09-28T02:43:59.088Z
- 最新版本发布：2026-11-06T22:10:15.506Z
- 近 30 天下载量：2715（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

filex应用程序接口 SDK:一个应用程序自有的沙盒接口与filex(打开,保存,肮脏,调用应用程序模块)之间的桥梁

## 安装

```sh
npm install @brftech/filex-app-ui
```

也可以使用：`pnpm add @brftech/filex-app-ui`、`yarn add @brftech/filex-app-ui`、`bun add @brftech/filex-app-ui`

## README

# @brftech/ filex-app-ui (英语)

SDK 一个应用程序自己的接口捆绑到聊天 [文件x](https://github.com/BRF-Tech/filex)。 。 。 .

一个app可能带来自己的HTML/JS/CSS接口. filex 从应用程序服务它 已核准软件包并运行在一个沙箱框架,其政策不允许 连接、 没有存储和没有饼干 - 除了狭义的例外 请求和安装审查显示: 它自己的软件包文件 (单位:千美元)`package_fetch`),并从文件x 0.55框中取出自己的软件包页面 (单位:千美元)`frame_package`和 `blob:` 改为:`connect_blob`) (中文(简体) ). 浏览器不能完整 停止发送数据的页面 - 参见文件x的APP- PLUGINS.md. 界面所做的一切 通过一个已检查的信道通过文件x,这个软件包就是那个信道:几个KB,没有依赖性.

```bash
npm install @brftech/filex-app-ui
```

```js
import { connect } from '@brftech/filex-app-ui';

const fx = await connect();              // the handshake; rejects outside filex
const file = await fx.open();            // { name, ext, size, mime, readOnly, text(), bytes(), stream(), read(), save() }
editor.value = await file.text();
editor.addEventListener('input', () => fx.dirty(true));
fx.onSave(() => editor.value);           // filex's Save, a draft's "Save to disk", Ctrl+S
```

没有捆绑船,船 `dist/filex-app-ui.iife.js` 在你的捆绑和装入 带有 `<script src>`: 它定义 `window.FilexAppUI.connect`。 。 。 .

| 打电话 | 它会做什么 |
| --- | --- |
| `fx.session` | 应用程序和视图、读者的语言和方向、文件x的颜色、人物的显示名称、文件(每个文件都有) `encrypted: 'folder' | 'vault' | 'file'` 当它被端到端加密时, filex 0.55 - 只有它自己的信息: 文件是 `readOnly` 而不诵读; `plaintext: true` 旁边 `encrypted: 'folder'` 或者说 `'vault'`, filex 0.56: 请求的应用程序 `encrypted_folders` 并 filex 在清晰中将文件交接 - 在个人浏览器中解密 `open()`,再次加密于 `save()`最多 `LIMITS.maxEncryptedBytes`· ; `saveAs` 在打开文件时不提供模块),赠款 |
| `fx.open(i)` 编号 : `fx.save(data)` 编号 : `fx.saveAs(name, data)` | 读取打开的文件; 保存在文件之上(新版本,或草稿是); 保存新文件,由个人选择。 A 类 `.csv` (文件编号:0.57): `file.read(as)` 答题 `text_dialect` - 其分界线、字节顺序标记、行尾和编码 `text()` 在编码中解码; `fx.save(data, {csv: {delimiter, encoding, bom, eol}})` 说保存的 CSV 是怎样写的, 哪个文件x在以自己的方式写文件之前, 检查字节([APP-PLUGINS-API.md → CSV文件](https://github.com/BRF-Tech/filex/blob/main/docs/APP-PLUGINS-API.md#csv-files-how-they-are-written)(中文(简体) ) |
| `fx.dirty(on)`, (中文(简体) ), `fx.title(t)`, (中文(简体) ), `fx.toast(t, tone)`, (中文(简体) ), `fx.confirm(opts)`, (中文(简体) ), `fx.close()` | 告诉文件x 未保存的更改; 请求文件x 绘制线条、 问题、 关闭( 敬酒和问题带有您的应用程序名称) |
| `fx.copy(text)` | 将文本放入剪贴板 - 从点击或按键中调用它 : 没有一个, 文件x先询问对象 |
| `fx.download(name, data, mime?)` | 将个人文件交给他们自己的磁盘(`"ui": { "download": true }` 从点击,或文件x询问; 最多256 MiB; Chromium 将其流入他们选择的文件 |
| `fx.print(name, pdf)` | 打印一个PDF(文件0.55; `"ui": { "print": true }` 列表中:一个沙盒框可能不会打开打印对话框,所以filex从自己的页面打印出来 - filex每次询问和打印到个人允许,最多64个MiB(`LIMITS.maxPrintBytes`; 文件x 0.54 和旧答案 `unknown_method`,其打印页面可能无法显示的主机 `unavailable` |
| `fx.coedit.join()` 编号 : `.subscribe(from)` 编号 : `.append(kind, body)` 编号 : `.lease(op, seen)` 编号 : `.cursor(c)` 编号 : `.putBlob` 编号 : `.getBlob` 编号 : `.leave()` | 一起编辑(文件x 0.56) `"co_edit": {"open": true}`,作为 `files:co-edit`:filex封存会话日志并通过其中继命令,应用程序从不持有密钥. `join` 答题 `created` 当该成员开始会话时 - 它会放入基准文档(`putBlob('base', …)`在其他人加入之前; `fx.save(data, {through})` 告诉会话保存什么 。 文件x 0.55 个答案 `unavailable` - 单独编辑吧 |
| `fx.call(method, params)` | 询问应用程序自己的模块( a)`ui_call`(中文(简体) ) |
| `fx.submit(action, params)` | 队列该应用程序在打开的文件上的动作之一 - 如 `copy`,从点击或文件x询问 |
| `fx.state.get(key)` 编号 : `fx.state.set(key, value)` | 用于此应用程序和这个人的小商店( 清晰打开的加密文件夹的文件: 单独的商店, 封入浏览器) |
| `fx.license.get()` | 该应用程序的许可证,用于从商店安装的付费应用程序(filex 0.52.0): `{status: 'free'}`,或 `{status: 'valid', valid_until, updates_until}` - 没有钥匙,没有许可证 |
| `fx.on('theme' | 'locale' | 'file.changed' | 'close.request' | 'app.updated', fn)` | 监听文件x(合并编辑后添加) `coedit.entry`, (中文(简体) ), `coedit.cursor`, (中文(简体) ), `coedit.dropped`(中文(简体) ) |

`connect()` 涂装文件x的颜色( i)`--fe-*` 自定义属性), `lang`, (中文(简体) ), `dir` 财务报告和审定财务报表 `data-theme` 打开 `<html>` 并保持它们流畅;通过 `{ applyTheme: false }` 亲自动手.

整个合同 - 显示,服务政策,每一个信息 - 是 `docs/APP-PLUGINS-API.md` ——"一个应用程序自己的接口";如何构建和包接 一个接口是 `docs/PLUGIN-KIT.md` ——"写出接口". 协议 本身是 `src/protocol.ts` (也导出为 `@brftech/filex-app-ui/protocol`, (中文(简体) ), filex 本身的框架导入,所以双方不能漂移.

麻省理工学院

## 常见问题

### @brftech/filex-app-ui 是什么？

filex应用程序接口 SDK:一个应用程序自有的沙盒接口与filex\(打开,保存,肮脏,调用应用程序模块\)之间的桥梁

### 如何安装 @brftech/filex-app-ui？

在项目目录运行 npm install @brftech/filex-app-ui，或使用 pnpm add / yarn add / bun add。

### @brftech/filex-app-ui 支持 TypeScript 吗？

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

### @brftech/filex-app-ui 支持 ESM 还是 CommonJS？

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

### @brftech/filex-app-ui 可以商用吗？

@brftech/filex-app-ui 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @brftech/filex-app-ui 的下载量有多少？

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

### @brftech/filex-app-ui 还在维护吗？

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

