# @framers/agentos-extensions-registry 中文文档

规范地址：https://npmcn.com/package/%40framers/agentos-extensions-registry/

版本：0\.18\.20
npm 元数据更新时间：2026-11-14T10:26:51.037Z
中文译文更新时间：2026-11-15T12:05:29.604Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40framers/agentos-extensions-registry
原文对照：https://npmcn.com/package/%40framers/agentos-extensions-registry/?lang=original
项目主页：https://agentos.sh/
源码仓库：https://github.com/framerslab/agentos-extensions-registry

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

- 包体积（解压后）：308 kB，36 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@framers/agentos \>=0\.10\.34
- 首次发布：2026-02-07T04:04:51.025Z
- 最新版本发布：2026-11-14T10:26:50.662Z
- 近 30 天下载量：21515（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：46（近 12 个月 46 个）

## 中文简介

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

## 安装

```sh
npm install @framers/agentos-extensions-registry
```

也可以使用：`pnpm add @framers/agentos-extensions-registry`、`yarn add @framers/agentos-extensions-registry`、`bun add @framers/agentos-extensions-registry`

## README

[![AgentOS](https://npmcn.com/package/%40framers/agentos-extensions-registry/logos/agentos-primary-no-tagline-transparent-2x.png)](https://agentos.sh/)     [![Frame.dev](https://npmcn.com/package/%40framers/agentos-extensions-registry/logos/frame-logo-green-no-tagline.svg)](https://frame.dev/)

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

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

[![npm](https://img.shields.io/npm/v/@framers/agentos-extensions-registry?logo=npm&color=cb3837)](https://www.npmjs.com/package/@framers/agentos-extensions-registry)

## 这个包裹是什么

这是 **目录和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)时,主题性就装入它的嵌入模型.

### 这看起来像末端

```typescript
// 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阶段平行分级器、最坏动作汇总、中流重置),见 [护栏](https://docs.agentos.sh/features/guardrails)关于整个生命周期,参见 [扩展加载](https://docs.agentos.sh/architecture/extension-loading) 财务报告和审定财务报表 [自动登录扩展](https://docs.agentos.sh/extensions/auto-loading)。 。 。 .

## 安装

```bash
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`)到环境可变名称 |

## 使用量

```typescript
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?)`

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

## 捐助和支助

| 指南 | 什麽 |
| --- | --- |
| [捐款](https://github.com/framerslab/agentos-extensions-registry/blob/master/CONTRIBUTING.md) | 制定、承诺和拉动请求规则、审查线索、发放捐款许可证 |
| [发行指南](https://github.com/framerslab/agentos-extensions-registry/blob/master/RELEASING.md) | 每日发布时间 UTC10: 17 如何将主发布到 npm |
| [代理指令](https://github.com/framerslab/agentos-extensions-registry/blob/master/AGENTS.md) | 编码代理人的命令和公约 |
| [行为守则](https://github.com/framerslab/agentos-extensions-registry/blob/master/.github/CODE_OF_CONDUCT.md) | 社区标准 |
| [安全政策](https://github.com/framerslab/agentos-extensions-registry/blob/master/.github/SECURITY.md) | 私下报告脆弱性 |
| [支助](https://github.com/framerslab/agentos-extensions-registry/blob/master/SUPPORT.md) | 哪里去寻求帮助 |

## 许可证

Apache 2.0 — 见 [自由主义](https://npmcn.com/package/%40framers/agentos-extensions-registry/LICENSE)。 。 。 .

## 常见问题

### @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 和提交记录判断。

