@fungi.computer/nacre

中文文档
0.6.6发布于 2026/11/15MITTypeScriptES Module近 30 天下载 1.1万

托管 Apps 的 shell 客户端: 工作端、 命令主机、 密钥、 命令、 窗口管理器和 App 目录行

中文使用文档
文档目录7 节
  1. 安装或设置
  2. 快开始
  3. 核心概念
  4. API 参考
  5. 实例和检查
  6. 限制和错误
  7. 贡献和许可证

纳克( Nacre) (@fungi.computer/nacre(中文(简体) )

纳克是皮尔之母 内衬的牡蛎会生长在壳内. 这个软件包是App主机的衬里:窗口的 shell客户端, 命令、密钥和 App 目录从中构建。 牡蛎的页面用它,和 没有牡蛎服务器,任何外壳都可以导入.

安装或设置

pnpm add @fungi.computer/nacre

一揽子措施仅限无害环境管理。 这取决于 @fungi.computer/agar, (中文(简体) ), @fungi.computer/ear-tag, (中文(简体) ), @fungi.computer/gills, (中文(简体) ), @fungi.computer/puffball, (中文(简体) ), @fungi.computer/whistle, (中文(简体) ), effect 财务报告和审定财务报表 zod。 。 。 .

快开始

import { createWindowManager } from "@fungi.computer/nacre";

const windows = createWindowManager({
  createContainer: () => ({}),
  mount: () => ({
    setVisibility: () => undefined,
    reconfigure: () => undefined,
    dispose: () => undefined,
  }),
});
await windows.open({ windowId: "notes" });

核心概念

@fungi.computer/nacre 提供托管 Apps 的客户端。 可能是这样 独立于 Workers 服务器和节点包装辅助器导入。 一样 出口可通过重点条目获取:

条目合同
./workbenchWorkbench主机合同,共享儿童窗口主机,Gill布局和安排器形状.
./command-host一个惠斯克图,它接受与经核实的释放声明相对的上架命令.
./keysDOM密钥发送并共享和弦匹配.
./commands窗口, App picker 和命令调色板声明在主机回调时进行.
./window-manager窗口生成,能见度,导航,取消和处置.
./app-directoryApp地址,可重用目录行和目录元数据.

./shell-module 是宿主和它运行的外壳之间的契约 自行进口,而不是通过根条目。 shell 释放导出 mountShell(root, input) (单位:千美元)MountShell(三); input (单位:千美元)ShellMountInput载体 工作台把手, 外壳安装 AppStorage 财务报告和审定财务报表 methods.call(method, input) 用于其宣布的后端方法,这需要 输入为 JSON 文本并用已解码的 JSON 结果解决. importShellModule(moduleUrl, hostOrigin) 导入选中的 shell 模块 检查其出口 mountShell拒绝 与 ShellModuleError 否则。 宿主从不捆绑外壳.

提供您自己的挂载适配器 createWindowManager它接收到 容器、发射说明、取消信号和导航回调 返回的手柄拥有能见度、重组和处置。 经理 处理 Stale 挂载并序列化每个窗口的更改 。 既不选 应用软件或授予能力.

createAppSurfaceCommandHost 拥有命令贡献和焦点. 给 mount(id, declarations) 经核实的释放声明 返回Agar的处理器 connectAppHost。挂载的 App 无法引入 未宣布的命令或要求保留外壳和弦。 放弃命令挂载 当其iframe关闭时,并用外壳处理命令主机. installShellKeys 仅在调用时附加 DOM 听器; 其返回值 把他们带走。 终端弹壳可以不用命令和窗口所有者 DOM(英语:DOM).

目录元数据不是发射权限. 主机扩展了公共行计划 以自己的许可模式 并承认自己。 真菌队 目录、 团队设置能力和已签名的 Hub/host 协议在其 私人消费者;公共外壳无一进口.

API 参考

生成的引用在 文档/api。 。 。 .

实例和检查

  • pnpm --filter @fungi.computer/nacre test 运行窗口管理器, 命令 主机,外壳模块和App目录测试.
  • pnpm --filter @fungi.computer/nacre stranger 装入包裹 排字检查,并运行一个消费者对焦油球.

限制和错误

目录元数据不是发射权限, 挂载的 App 无法引入 一个未宣布的命令. importShellModule 拒绝不导出模块 mountShell 与 ShellModuleError。 。 。 .

贡献和许可证

通过植物库改变土地. 麻省理工学院许可证;见 自由主义。 。 。 .

版本与发布记录

@fungi.computer/nacre 共发布 34 个版本,首次发布于 2026/10/23;过去 12 个月发布了 34 个版本。

版本发布日期距今
0.6.6latest2026/11/15今天
0.6.52026/11/15今天
0.6.42026/11/141 天前
0.6.32026/11/141 天前
0.6.22026/11/141 天前
0.6.12026/11/141 天前

关于 @fungi.computer/nacre 的常见问题

@fungi.computer/nacre 是什么?

托管 Apps 的 shell 客户端: 工作端、 命令主机、 密钥、 命令、 窗口管理器和 App 目录行

如何安装 @fungi.computer/nacre?

在项目目录运行 npm install @fungi.computer/nacre,或使用 pnpm add / yarn add / bun add。

@fungi.computer/nacre 支持 TypeScript 吗?

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

@fungi.computer/nacre 支持 ESM 还是 CommonJS?

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

@fungi.computer/nacre 可以商用吗?

@fungi.computer/nacre 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fungi.computer/nacre 的下载量有多少?

根据 npm 官方下载统计,@fungi.computer/nacre 在 2026/10/16 – 2026/11/14 这 30 天内被下载 10,650 次,日均约 355 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fungi.computer/nacre 还在维护吗?

最新版本 0.6.6 发布于 2026/11/15(今天);至今共发布 34 个版本,其中过去 12 个月发布了 34 个;首次发布于 2026/10/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。