@framers/agentos-extensions-registry

中文文档
0.18.20发布于 2026/11/14Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 2.2万

AgentOS的扩展目录——通过创建 CuratedManifest () 进行动态加载的信道、工具和提供者元数据

中文使用文档
文档目录14 节
  1. 这个包裹是什么
  2. 架构:目录对源代码
  3. 休闲和可选设计
  4. 第1层:可选 peerDependenciesMeta 每个扩展名
  5. 第2层: import.meta.resolve() 在显示构建时跳过未安装的软件包
  6. 第3层:每层 requiredSecrets 在目录元数据中
  7. 第4层:重资源服从 SharedServiceRegistry
  8. 这看起来像末端
  9. 安装
  10. 主要出口
  11. 使用量
  12. createCuratedManifest(options?)
  13. 捐助和支助
  14. 许可证

AgentOS     Frame.dev

@ framers/ agentos- extension- registry (英语)

AgentOS的扩展目录——元数据、查询帮助和 createCuratedManifest() 工厂.

npm

这个包裹是什么

这是 目录和SDK 用于 AgentOS 扩展名。 它不包含扩展源代码——它规定:

  • 静态元数据目录 (单位:千美元)CHANNEL_CATALOG, (中文(简体) ), TOOL_CATALOG, (中文(简体) ), PROVIDER_CATALOG)描述每一个已知的扩展:它的名称,包,SDK,需要的秘密,和能力.
  • 查询助手 (单位:千美元)getChannelEntry(), (中文(简体) ), getToolEntry(), (中文(简体) ), getProviderEntry())用于在运行时查找目录条目.
  • 动态加载器 (单位:千美元)createCuratedManifest())解决实际安装的扩展包,然后构建一个 ExtensionManifest agentOS 运行时间可以消耗.

架构:目录对源代码

软件包作用
@framers/agentos-extensions源代码 ——实际通道适配器,工具实施及扩展包
@framers/agentos-extensions-registry (这个)目录/SDK 索引上面的扩展,存储元数据,以及动态加载(无论安装哪套)
@framers/agentos运行时间 - 提供 ITool, (中文(简体) ), IChannelAdapter, (中文(简体) ), ExtensionManifest内核 消耗清单

依赖方向 : 此软件包取决于 @framers/agentos 用于运行时间类型( pier dep) 和引用扩展包 @framers/agentos-extensions 作为可选依赖。 只装入已安装的扩展; 丢失的软件包默默跳过 .

休闲和可选设计

编目和运行时间故意脱钩. 下面的四个DI层独立运行,所以一个主机支付它安装和使用的确切费用.

第1层:可选 peerDependenciesMeta 每个扩展名

每个目录条目 CHANNEL_CATALOG, (中文(简体) ), TOOL_CATALOG,以及 PROVIDER_CATALOG 仅按名称引用其 npm 软件包。 此软件包不会急切地导入它们 . peerDependenciesMeta.optional: true 保留 npm install 除非主机明确将软件包添加到自己的软件包中 package.json。 。 。 .

第2层: import.meta.resolve() 在显示构建时跳过未安装的软件包

createCuratedManifest() 移动请求的过滤器( e)tools: 'all' | string[] | 'none', (中文(简体) ), channels: ...)和电话 import.meta.resolve(packageName) 每个条目。 失败者被吞并;该条目从产出清单中删除。 跑步时间永远看不到一个无法解决的包. getAvailableExtensions() 财务报告和审定财务报表 getAvailableChannels() 为想要在自己的UI或日志中浮出已安装扩展名的主机显示此分辨率状态 .

第3层:每层 requiredSecrets 在目录元数据中

CHANNEL_CATALOG 财务报告和审定财务报表 TOOL_CATALOG 条目声明扩展名所期望的密钥( 已通过 SECRET_ENV_MAP) (中文(简体) ). 当运行时间激活描述符时,它会参考 requiredSecrets 并跳过激活,如果非可选密钥无法解答。 包也可以读取其条目不需要的秘密. Pii-redaction中的LLM评委是: 它只在主机设定包时运行 llmJudge 选项,当该选项没有 apiKey 法官问AgentOS的秘密 <provider>.apiKey (从) extensionSecrets,否则该提供者的环境变量,例如 OPENAI_API_KEY,则 pii.llm.apiKey (从) extensionSecrets 页:1 单凭钥匙是不会让法官生气的 主题和ml级的LLM级不带秘密:当主机通过时运行 llmInvoker 在包的选择.

第4层:重资源服从 SharedServiceRegistry

运行时间 ExtensionLifecycleContext.services 暴露一个 getOrCreate(key, factory) API (英语). 激活时没有登记:一包在第一次呼叫时用钥匙穿过工厂,需要资源,然后由登记册运行,然后要求该钥匙(同一包中的其他工具、其护栏、同一登记册上的其他包)共享缓存实例. has(key) 在工厂开工前不要撒谎 BERT NER 模式在 pii- redaction (默认情况下约为 109 MB) q8 重量, 键 agentos:nlp:ner-pipeline并且NLI的管道 以这种方式在地上 守卫懒惰的负载。 两包在没有共享登记簿的情况下首先装入其模型:ml分类器在第一个分类器上装入它的一个ONNX模型(毒伯特),在它检查的第一个输入器上每个过程装入它的嵌入模型(全-MiniLM-L6-v2)时,主题性就装入它的嵌入模型.

这看起来像末端

// 1. Host installs the registry SDK + only the extensions it wants.
//    npm install @framers/agentos @framers/agentos-extensions-registry
//                @framers/agentos-ext-pii-redaction

import { AgentOS } from '@framers/agentos';
import { createCuratedManifest } from '@framers/agentos-extensions-registry';

// 2. Manifest build resolves only what's installed.
const manifest = await createCuratedManifest({ tools: 'all' });
// → manifest.packs.length === 1 (only the PII redaction pack made it).

// 3. AgentOS activates the pack. Nothing loads and nothing is registered:
//    services.has('agentos:nlp:ner-pipeline') is false.
//    The PII guard reads the final reply only (its evaluateStreamingChunks
//    option is false by default), so hold streamed output or the streamed
//    text reaches the person before the redaction. guardrailOutputMode (and
//    requiredGuardrails) exist from @framers/agentos 0.13.3; an older core
//    ignores the option and streams.
const agent = new AgentOS();
await agent.initialize({ extensionManifest: manifest, guardrailOutputMode: 'hold' });

// 4. The first scan that needs the NER tier asks the registry for
//    'agentos:nlp:ner-pipeline', and the model loads then. Later scans and
//    the pack's pii_scan and pii_redact tools share it.

调度机械(第1阶段相继消毒器、第2阶段平行分级器、最坏动作汇总、中流重置),见 护栏关于整个生命周期,参见 扩展加载 财务报告和审定财务报表 自动登录扩展。 。 。 .

安装

pnpm add @framers/agentos-extensions-registry

然后安装所需的任意扩展包(例如. @framers/agentos-ext-telegram) (中文(简体) ). 只有已安装的软件包会被装入 createCuratedManifest()。 。 。 .

主要出口

导出说明
createCuratedManifest(options?)构建一个 ExtensionManifest 从已安装的扩展名。 接受频道/工具过滤器、机密和每个扩展覆盖.
CHANNEL_CATALOG所有37个频道平台条目的静态目录(平台、软件包、SDK、需要的秘密)
TOOL_CATALOG工具扩展名的静态目录( 网络搜索、 CLI 执行器、 图像搜索等)
PROVIDER_CATALOG静态目录 27个模型提供者条目:25 LLM+2图像(提供者名称,模型,基础URL). 11个LLM供应商在核心中提供运行时间适配器;其余是用于发现和路线图等同的目录元数据.
getAvailableExtensions()只返回在当前环境中可解析 npm 包的扩展
getAvailableChannels()只返回安装了软件包的频道适配器
SECRET_ENV_MAP映射出密钥( 例如 ). telegram.botToken)到环境可变名称

使用量

import { createCuratedManifest } from '@framers/agentos-extensions-registry';

// Load all installed extensions
const manifest = await createCuratedManifest({ channels: 'all', tools: 'all' });

// Or selectively enable specific channels
const manifest = await createCuratedManifest({
  channels: ['telegram', 'discord', 'slack'],
  tools: 'all',
  secrets: {
    'telegram.botToken': process.env.TELEGRAM_BOT_TOKEN,
    'discord.botToken': process.env.DISCORD_BOT_TOKEN,
    'slack.botToken': process.env.SLACK_BOT_TOKEN,
  },
});

// Pass to AgentOS runtime
const agent = new AgentOS();
await agent.initialize({ extensionManifest: manifest });

createCuratedManifest(options?)

参数类型默认说明
channelsstring[] | 'all' | 'none''all'要启用的频道平台
toolsstring[] | 'all' | 'none''all'启用哪个工具扩展
secretsRecord<string, string>{}秘密地图( 倒回 vars )
basePrioritynumber0所有扩展的基础优先级
overridesRecord<string, Override>{}每段扩展覆盖 : { enabled?, priority?, options? }

捐助和支助

指南什麽
捐款制定、承诺和拉动请求规则、审查线索、发放捐款许可证
发行指南每日发布时间 UTC10: 17 如何将主发布到 npm
代理指令编码代理人的命令和公约
行为守则社区标准
安全政策私下报告脆弱性
支助哪里去寻求帮助

许可证

Apache 2.0 — 见 自由主义。 。 。 .

版本与发布记录

@framers/agentos-extensions-registry 共发布 46 个版本,首次发布于 2026/02/07;过去 12 个月发布了 46 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.18.20latest2026/11/141 天前
0.18.192026/11/123 天前
0.18.182026/11/096 天前
0.18.172026/11/0510 天前
0.18.162026/11/0115 天前
0.18.152026/10/2125 天前

关于 @framers/agentos-extensions-registry 的常见问题

@framers/agentos-extensions-registry 是什么?

AgentOS的扩展目录——通过创建 CuratedManifest () 进行动态加载的信道、工具和提供者元数据

如何安装 @framers/agentos-extensions-registry?

在项目目录运行 npm install @framers/agentos-extensions-registry,或使用 pnpm add / yarn add / bun add。

@framers/agentos-extensions-registry 支持 TypeScript 吗?

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

@framers/agentos-extensions-registry 支持 ESM 还是 CommonJS?

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

@framers/agentos-extensions-registry 可以商用吗?

@framers/agentos-extensions-registry 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@framers/agentos-extensions-registry 的下载量有多少?

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

@framers/agentos-extensions-registry 还在维护吗?

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