# @framers/agentos-extensions 中文文档

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

版本：1\.0\.57
npm 元数据更新时间：2026-11-14T10:34:53.355Z
中文译文更新时间：2026-11-15T12:46:59.556Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：233 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-02-07T04:06:23.959Z
- 最新版本发布：2026-11-14T10:34:52.973Z
- 近 30 天下载量：11807（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：58（近 12 个月 58 个）

## 中文简介

AgentOS的扩展源——工具,频道适配器和集成的实现,模板,和运算表. 与 @ framers/ agentos TypeScript AI 代理运行时同步 .

## 安装

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

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

## README

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

# AgentOS 扩展

AgentOS的扩展源代码——工具,频道适配器,集成,和启动器模板.

[![CI Status](https://github.com/framerslab/agentos-extensions/workflows/CI/badge.svg)](https://github.com/framerslab/agentos-extensions/actions) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![API Docs](https://img.shields.io/badge/docs-TypeDoc-blue)](https://framerslab.github.io/agentos-extensions/) [![npm: registry](https://img.shields.io/npm/v/@framers/agentos-extensions-registry?label=registry)](https://www.npmjs.com/package/@framers/agentos-extensions-registry) [![npm: catalog](https://img.shields.io/npm/v/@framers/agentos-extensions?label=catalog)](https://www.npmjs.com/package/@framers/agentos-extensions) [![NVIDIA Inception](https://img.shields.io/badge/NVIDIA_Inception-Member-76B900?logo=nvidia&logoColor=white)](https://www.nvidia.com/en-us/startups/)

## 这个软件包是什么

此软件包包含 **实际执行源代码** agentOS 扩展名 : telegram 适配器、网络搜索工具、语音提供者、浏览器自动化、频道适配器 37个平台,还有更多 还有船 **启动模板** (单位:千美元)`templates/`用于创建 从零开始新的扩展 .

**这不是一个注册.** 登记目录的是源代码。 关系 两个兄弟包之间是:

| 软件包 | 作用 |
| --- | --- |
| **`@framers/agentos-extensions`** (本套装) | 执行源代码、清单和模板 |
| **`@framers/agentos-extensions-registry`** | 引用此软件包元数据并曝光的目录/ SDK `createCuratedManifest()` |

**依赖方向 :** `agentos-extensions-registry` 取决于来自此软件包的元数据, 而不是反过来。 这里的扩展是自成一体的,可以单独安装 没有登记.

## 已发布扩展

所有扩展都发布到 npm 下 `@framers` 范围.

### 扩展

| 软件包 | 说明 | 无 |
| --- | --- | --- |
| [`@framers/agentos-ext-web-search`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/research/web-search) | 多提供者网络搜索和事实检查 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-search)](https://www.npmjs.com/package/@framers/agentos-ext-web-search) |
| [`@framers/agentos-ext-web-browser`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/research/web-browser) | 浏览器自动化和内容提取 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-browser)](https://www.npmjs.com/package/@framers/agentos-ext-web-browser) |
| [`@framers/agentos-ext-web-scraper`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/research/web-scraper) | 逐渐刮去取来, Playwright, 隐形, 秘方, 以及 LLM 倒置取出 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-scraper)](https://www.npmjs.com/package/@framers/agentos-ext-web-scraper) |
| [`@framers/agentos-ext-news-search`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/research/news-search) | 通过新闻API搜索新闻文章 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-news-search)](https://www.npmjs.com/package/@framers/agentos-ext-news-search) |
| [`@framers/agentos-ext-giphy`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/media/giphy) | 通过 Giphy API 搜索 GIF 标签( P) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-giphy)](https://www.npmjs.com/package/@framers/agentos-ext-giphy) |
| [`@framers/agentos-ext-image-search`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/media/image-search) | 股票相片搜索( Pexels, Unsplash, Pixabay) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-image-search)](https://www.npmjs.com/package/@framers/agentos-ext-image-search) |
| [`@framers/agentos-ext-letterboxd`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/media/letterboxd) | 信箱电影取出评论并直接折回页面 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-letterboxd)](https://www.npmjs.com/package/@framers/agentos-ext-letterboxd) |
| [`@framers/agentos-ext-omdb`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/media/omdb) | 电影和电视元数据 互联网电影数据库(IMDB)上"烂番茄"的资料(英文) 和Metacritic收视率 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-omdb)](https://www.npmjs.com/package/@framers/agentos-ext-omdb) |
| [`@framers/agentos-ext-voice-synthesis`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/media/voice-synthesis) | 通过 11Labs 进行文字对语音 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-voice-synthesis)](https://www.npmjs.com/package/@framers/agentos-ext-voice-synthesis) |
| [`@framers/agentos-ext-cli-executor`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/system/cli-executor) | Shell 命令执行文件管理 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-cli-executor)](https://www.npmjs.com/package/@framers/agentos-ext-cli-executor) |
| [`@framers/agentos-ext-auth`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/auth) | JWT 认证和订阅管理 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-auth)](https://www.npmjs.com/package/@framers/agentos-ext-auth) |
| [`@framers/agentos-ext-clearbit`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/integrations/clearbit) | 通过Clearbit公司和人员浓缩 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-clearbit)](https://www.npmjs.com/package/@framers/agentos-ext-clearbit) |
| [`@framers/agentos-ext-telegram`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/integrations/telegram) | Telegram Bot API 集成 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-telegram)](https://www.npmjs.com/package/@framers/agentos-ext-telegram) |
| [`@framers/agentos-ext-wunderbot-feeds`](https://www.npmjs.com/package/@framers/agentos-ext-wunderbot-feeds) | Wunderbot 饲料摄取 + 社会内容管道集成 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-wunderbot-feeds)](https://www.npmjs.com/package/@framers/agentos-ext-wunderbot-feeds) |
| [`@framers/agentos-ext-telegram-bot`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/communications/telegram-bot) | 电报机器人通信处理器 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-telegram-bot)](https://www.npmjs.com/package/@framers/agentos-ext-telegram-bot) |
| [`@framers/agentos-ext-anchor-providers`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/provenance/anchor-providers) | 索拉纳链路出处定位 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-anchor-providers)](https://www.npmjs.com/package/@framers/agentos-ext-anchor-providers) |
| [`@framers/agentos-ext-tip-ingestion`](https://www.npmjs.com/package/@framers/agentos-ext-tip-ingestion) | Tip 内容处理管道( 已公布的软件包; 在这个工作空间中没有销售) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-tip-ingestion)](https://www.npmjs.com/package/@framers/agentos-ext-tip-ingestion) |
| [`@framers/agentos-ext-browser-automation`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/system/browser-automation) | 全浏览器自动化( Playwright) — 10个工具 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-browser-automation)](https://www.npmjs.com/package/@framers/agentos-ext-browser-automation) |
| [`@framers/agentos-ext-deep-research`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/research/deep-research) | 多来源研究和调查——5个工具 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-deep-research)](https://www.npmjs.com/package/@framers/agentos-ext-deep-research) |
| [`@framers/agentos-ext-content-extraction`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/research/content-extraction) | 内容提取(URLs、YouTube、PDF)——5个工具 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-content-extraction)](https://www.npmjs.com/package/@framers/agentos-ext-content-extraction) |
| [`@framers/agentos-ext-credential-vault`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/system/credential-vault) | 加密证书管理——5个工具 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-credential-vault)](https://www.npmjs.com/package/@framers/agentos-ext-credential-vault) |
| [`@framers/agentos-ext-document-export`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/productivity/document-export) | 向PDF、DOCX、PPTX、XLSX和CSV输出报告和甲板 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-document-export)](https://www.npmjs.com/package/@framers/agentos-ext-document-export) |
| [`@framers/agentos-ext-widget-generator`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/productivity/widget-generator) | 生成带有文件管理的自定义交互式 HTML 部件 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-widget-generator)](https://www.npmjs.com/package/@framers/agentos-ext-widget-generator) |
| [`@framers/agentos-ext-notifications`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/communications/notifications) | 多渠道通知路由器——3个工具 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-notifications)](https://www.npmjs.com/package/@framers/agentos-ext-notifications) |
| [`@framers/agentos-ext-self-harm-referral`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/safety/self-harm-referral) | 在留言或答复中用危机线回答自我伤害的表达并报告每次转介的守护者 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-self-harm-referral)](https://www.npmjs.com/package/@framers/agentos-ext-self-harm-referral) |

### 频道适配器

| 软件包 | 说明 | 无 |
| --- | --- | --- |
| [`@framers/agentos-ext-channel-telegram`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/telegram) | 电报通讯频道( grammY) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-telegram)](https://www.npmjs.com/package/@framers/agentos-ext-channel-telegram) |
| [`@framers/agentos-ext-channel-whatsapp`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/whatsapp) | WhatsApp 通讯频道 (Baileys) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-whatsapp)](https://www.npmjs.com/package/@framers/agentos-ext-channel-whatsapp) |
| [`@framers/agentos-ext-channel-discord`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/discord) | Discord 消息频道 (discord.js) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-discord)](https://www.npmjs.com/package/@framers/agentos-ext-channel-discord) |
| [`@framers/agentos-ext-channel-slack`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/slack) | 黑消息频道 (Bolt) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-slack)](https://www.npmjs.com/package/@framers/agentos-ext-channel-slack) |
| [`@framers/agentos-ext-channel-webchat`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/webchat) | 已建成的WebChat频道(Socket. (单位:千美元) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-webchat)](https://www.npmjs.com/package/@framers/agentos-ext-channel-webchat) |
| [`@framers/agentos-ext-channel-twitter`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/twitter) | Twitter/X社交频道(Twitter-api-v2) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-twitter)](https://www.npmjs.com/package/@framers/agentos-ext-channel-twitter) |
| [`@framers/agentos-ext-channel-instagram`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/instagram) | Instagram 社会频道(Graph API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-instagram)](https://www.npmjs.com/package/@framers/agentos-ext-channel-instagram) |
| [`@framers/agentos-ext-channel-reddit`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/reddit) | Reddit 社交频道( snoowrap) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-reddit)](https://www.npmjs.com/package/@framers/agentos-ext-channel-reddit) |
| [`@framers/agentos-ext-channel-youtube`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/youtube) | YouTube社交频道(googleapis) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-youtube)](https://www.npmjs.com/package/@framers/agentos-ext-channel-youtube) |
| [`@framers/agentos-ext-channel-linkedin`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/linkedin) | 链接 社交频道(市场营销API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-linkedin)](https://www.npmjs.com/package/@framers/agentos-ext-channel-linkedin) |
| [`@framers/agentos-ext-channel-facebook`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/facebook) | 脸书社交频道(Meta Graph API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-facebook)](https://www.npmjs.com/package/@framers/agentos-ext-channel-facebook) |
| [`@framers/agentos-ext-channel-threads`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/threads) | 线索社交频道(Meta Graph API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-threads)](https://www.npmjs.com/package/@framers/agentos-ext-channel-threads) |
| [`@framers/agentos-ext-channel-bluesky`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/bluesky) | Bluesky社会频道(AT协议) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-bluesky)](https://www.npmjs.com/package/@framers/agentos-ext-channel-bluesky) |
| [`@framers/agentos-ext-channel-mastodon`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/mastodon) | 马斯托登社会频道(联邦) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-mastodon)](https://www.npmjs.com/package/@framers/agentos-ext-channel-mastodon) |
| [`@framers/agentos-ext-channel-farcaster`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/farcaster) | 法克斯特社会频道(Neynar API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-farcaster)](https://www.npmjs.com/package/@framers/agentos-ext-channel-farcaster) |
| [`@framers/agentos-ext-channel-lemmy`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/lemmy) | 莱米联邦社会频道 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-lemmy)](https://www.npmjs.com/package/@framers/agentos-ext-channel-lemmy) |
| [`@framers/agentos-ext-channel-google-business`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/google-business) | 谷歌商业简介频道 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-google-business)](https://www.npmjs.com/package/@framers/agentos-ext-channel-google-business) |
| [`@framers/agentos-ext-channel-blog-publisher`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/blog-publisher) | 博客出版商 (Dev.to, Hashnode, 中文本, WordPress) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-blog-publisher)](https://www.npmjs.com/package/@framers/agentos-ext-channel-blog-publisher) |
| [`@framers/agentos-ext-channel-pinterest`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/pinterest) | 兴趣社交频道(API v5) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-pinterest)](https://www.npmjs.com/package/@framers/agentos-ext-channel-pinterest) |
| [`@framers/agentos-ext-channel-tiktok`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/tiktok) | TikTok 社会频道(API for Business) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-tiktok)](https://www.npmjs.com/package/@framers/agentos-ext-channel-tiktok) |
| [`@framers/agentos-ext-channel-email`](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/channels/email) | 电子邮件消息通道(SMTP或Resend's HTTPS API, IMAP),在SQL上设置了压制记录并取消订阅符 | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-email)](https://www.npmjs.com/package/@framers/agentos-ext-channel-email) |

## 双Tier 扩展模式

AgentOS扩展被组织成两个层次,具有不同的版本和 释放策略 :

### 核心扩展( Monorepo 根)

7个基础包生活在下方的单列波根 `packages/agentos-ext-*`数字 :

| 软件包 | 说明 |
| --- | --- |
| `agentos-ext-code-safety` | 静态代码分析护栏(注射、XSS、秘密) |
| `agentos-ext-pii-redaction` | PII 检测和重排管道,采用拒绝模式(`onDetect: 'refuse'`)和两种接触类型(街道地址,社交手柄),只有在命名时它才会发现 |
| `agentos-ext-grounding-guard` | 索赔提取和源码核查 |
| `agentos-ext-ml-classifiers` | 内容分类:一种当地英国毒性模型(毒伯特),以LLM判断器或关键词模式为倒置;a `/moderation` 在您选择的裁判模型上设置一个 openAI 中度守护和行为分类器的入口 |
| `agentos-ext-topicality` | 专题漂移检测和专题外过滤 |
| `agentos-ext-http-api` | 用于代理OS的 HTTP API 服务器 |
| `agentos-ext-skills` | 技能加载和执行工具 |

每个版本都是自行版,由出版工作流程发布至npm 保存它的数据库, 推到更改文件的仓库主控器 包裹船。 这里的版本凸起 **没有** 影响所编译的扩展版本.

### 解析扩展( 此子模块)

里面的软件包 `registry/curated/` 是完整扩展目录:频道 适配器,集成,研究工具,媒体工具等. 每个版本 每日发行(协调世界时10:17)出版每套节目 已运出的文件更改于 `master` 自上次公布以来[相关内容](https://npmcn.com/package/%40framers/agentos-extensions/RELEASING.md)) (中文(简体) ).

### 为什么是两层?

-   **核心扩展** 是安全的关键护栏和基本基础设施. 他们需要独立的铸币局来发出信号 打破变化而不强迫一个全目录 释放。 他们的CI运行在每一个 PR到单列波根.
-   **允许的扩展** 是更广泛的目录。 释放他们 对齐相互依存关系:当软件包的新版本离开依赖关系时 范围,同样的运行会提高这个范围,并公布依赖者.

### 保安员住在哪里?

这个 `registry/curated/safety/` 目录包含 **断面读取器** 指着 单列波根的犬科核心包。 代码安全的实际源代码, pii-redaction, 和基地警卫生活 完全在 `packages/agentos-ext-*` 时间 单发根。 ml 分类符和专题包在此有副本; npm 从根包收到两者,直到 [问题121](https://github.com/framerslab/agentos-extensions/issues/121) 移动他们的 在这里释放。 ml 分类器复制件比 npm 上的包要老: 它没有 `/moderation` 进入点. 有两个护卫员只住在这里 从这个仓库发布: `content-policy-rewriter` 财务报告和审定财务报表 `self-harm-referral`。 。 。 .

## 仓库结构

```
agentos-extensions/
├── .github/workflows/     # CI, release, TypeDoc pages
├── logos/                 # Branding assets
├── templates/             # Starter templates for new extensions
│   ├── basic-tool/        # Single tool template
│   ├── multi-tool/        # Multiple tools template
│   ├── guardrail/         # Safety/compliance template
│   └── workflow/          # Multi-step process template
├── registry/
│   ├── curated/           # Official & verified extensions
│   │   ├── auth/          # Authentication & subscriptions
│   │   ├── channels/      # Messaging & social channels (37 platform packs)
│   │   ├── communications/# Telegram bot, notifications
│   │   ├── integrations/  # External services (Telegram API)
│   │   ├── media/         # Giphy, image search, voice synthesis
│   │   ├── meetings/      # Browser-join meeting bot provider (Google Meet, Microsoft Teams)
│   │   ├── provenance/    # On-chain anchoring (tip-ingestion package is published separately)
│   │   ├── research/      # Web search, deep research, content extraction
│   │   ├── safety/        # Stub READMEs -> core packages (see above)
│   │   ├── system/        # CLI executor, browser automation, credential vault
│   │   ├── voice/         # Twilio, Telnyx, Plivo voice providers
│   │   └── productivity/  # Google Calendar, Gmail
│   └── community/         # Community-contributed extensions
├── scripts/               # Registry build & scaffolding tools
├── registry.json          # generated by pnpm run build; the published catalog ships in the npm package
├── pnpm-workspace.yaml    # Workspace packages for publishing
└── typedoc.json           # API docs config
```

## 快速启动

### 安装登记册(建议)

通过主管登记册立即装入所有扩展 :

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

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

const manifest = await createCuratedManifest({
  tools: 'all',
  channels: 'none',
  secrets: {
    'serper.apiKey': process.env.SERPER_API_KEY!,
    'giphy.apiKey': process.env.GIPHY_API_KEY!,
  },
});

const agentos = new AgentOS();
await agentos.initialize({ extensionManifest: manifest });
```

只有安装了 npm 包的扩展包才会加载——缺失的包会默地跳出.

### 安装单个扩展

```bash
npm install @framers/agentos-ext-web-search
```

```typescript
import { AgentOS } from '@framers/agentos';
import webSearch from '@framers/agentos-ext-web-search';

const agentos = new AgentOS();
await agentos.initialize({
  extensionManifest: {
    packs: [{
      factory: () => webSearch({ /* config */ })
    }]
  }
});
```

## 扩展如何保持可选和懒惰

延伸表面由四层依附注入. 每层都是默认的选入,因此安装了5个扩展的主机不支付其他95个的开销,而需要110MB NER模型的扩展机直到第一次呼叫才加载.

### 第1层:包装所有门

每个扩展都是自己的npm包. 在你之前没有进口的东西 `npm install` 这个 这个 `@framers/agentos-extensions-registry` SDK依赖于扩展包,作为 `peerDependenciesMeta.optional`,因此,单独安装注册就可以在不提取任何扩展源的情况下提供目录元数据。 添加 `@framers/agentos-ext-pii-redaction` 给您的 `package.json` 登记者看见它,就把它取出,登记者就把它扔在下一个显示的建筑物上.

### 第2层:登记解决跳过未安装的软件包

`createCuratedManifest()` 电话 `import.meta.resolve()` 在每条目录条目上,先添加到清单中。 如果决议抛出,则省略条目. 跑步时间永远看不到它。 没有错误,没有警告,没有缺少模块崩溃。 这是目录(metadata)和只发出可以实际运行的包的注册的区别.

```typescript
// Even if you ask for `tools: 'all'`, only installed packages reach the runtime.
const manifest = await createCuratedManifest({ tools: 'all' });
// → manifest.packs contains only @framers/agentos-ext-* packages found on disk.
```

### 第3层: `requiredSecrets` 门描述符激活

在一个包内,每个描述器(单个工具、护栏、信道或工作流程)可以声明 `requiredSecrets`启动前, `ExtensionManager` 检查每个非选择性秘密是否可从秘密商店、包选项或环境中解开。 少了一个秘密? 描述符被跳过,其余的包仍然激活. 可选的秘密解锁可选特性(如PII编辑扩展的LLM-judge level)而不要求它们.

```typescript
// pii-redaction declares its LLM judge as an optional dependency.
{
  id: 'pii_judge_resolver',
  kind: 'tool',
  requiredSecrets: [{ id: 'anthropic.apiKey', optional: true }],
  // ...
}
// No ANTHROPIC_API_KEY in env? The judge is skipped, the rest of the pack works.
```

### 第4层: `SharedServiceRegistry.getOrCreate()` 推迟大量资源

ML模型,嵌入索引,ONNX运行时间,NER管道,以及数据库池在激活时不被加载. 它们注册为工厂,只有在需要它们的第一个电话时才能建造。 同一实例在同一包中由描述者共享,(带有一个命名空间键)在包中共享.

```typescript
async onActivate(ctx) {
  // The 110MB BERT NER model. Not loaded yet.
  const nerModel = await ctx.services.getOrCreate('pii:ner-model', async () => {
    const { NerModel } = await import('./NerModel.js');
    return NerModel.load();
  });
  this.scanTool.setNerModel(nerModel);
  this.streamingGuardrail.setNerModel(nerModel);
}
```

这个 `import('./NerModel.js')` 是一个动态导入:模型文件本身不会输入模块图,直到有东西要求服务。 第一次呼叫支付负载费用;随后的呼叫击中了缓存. 泪下释放出一切 通过注册的生命周期.

### 这对护栏来说是怎样的

主机安装 `@framers/agentos-ext-pii-redaction`数字 :

1.  **安装.** `npm install @framers/agentos-ext-pii-redaction @framers/agentos-extensions-registry @framers/agentos`没有别的.
2.  **立体建设.** `createCuratedManifest({ tools: 'all' })` 仅解析已安装的 PII 包并发出单包清单.
3.  **起动.** `ExtensionManager.loadManifest()` 运行 `pack.onActivate(ctx)`,用于登记 a `pii:ner-model` 工厂 `SharedServiceRegistry`。模型文件没有被载入.
4.  **说明性登记.** 两个工具描述符( :`pii_scan`, (中文(简体) ), `pii_redact`在具体种类的登记册中有一个护栏说明地。 护栏描述器 `config.canSanitize = true` 财务报告和审定财务报表 `config.evaluateStreamingChunks = true` 标记它为两相调度器.
5.  **初请.** 用户信息点击输入管道. 两相调度器依次运行 第1相:PII护栏 `evaluateInput()` 火,呼叫NER输油管, 模型负载在这第一个呼叫。 随后的请求击中了缓存模型.
6.  **流出输出.** 由于模型生成一个响应,每个 `TEXT_DELTA` 块通过护栏 `evaluateOutput()`。调度器返回 `SANITIZE` 以编辑文本确定结果(第1阶段链相继),然后将所有第2阶段的分类器平行运行,以便进行任何剩余的检查.
7.  **泪倒.** `pack.onDeactivate(ctx)` 关闭时按倒序运行。 共享服务登记处发布该模式.

其它四个护栏包也开始使用, 各自以自己的方式: `@framers/agentos-ext-ml-classifiers` 进口一种ONNX型号`Xenova/toxic-bert`在护栏的第一个分类, `@framers/agentos-ext-grounding-guard` 懒惰地装入NLI管道, `@framers/agentos-ext-topicality` 在其检查的第一个输入上导入其嵌入模型 `@framers/agentos-ext-code-safety` 仅使用正则且不支付负载费用。 分类器和专题包中没有工厂 `SharedServiceRegistry`因此,上述登记册步骤不适用于其模型.

这个自动发现的表面是运行时被探测的工具加入的: 一个在会话 N 中创建函数的代理可以通过 `SkillExporter` 改为 a `SKILL.md` 登记册在下一个进程开始时接应。 铸造会长出地表中跑;自动发现船作为一等能.

关于调度机械(第1阶段消毒器、第2阶段平行分级器、最坏动作汇总、中流重置),见 [护栏](https://docs.agentos.sh/features/guardrails)关于生命周期内部,见 [扩展加载](https://docs.agentos.sh/architecture/extension-loading)。 。 。 .

### 书记官处备选方案

`createCuratedManifest()` 接受:

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `tools` | `string[] | 'all' | 'none'` | `'all'` | 要启用哪个工具扩展 。 通过一系列名称(例如:. `['web-search', 'giphy']`有选择地装入. |
| `channels` | `ChannelPlatform[] | 'all' | 'none'` | `'all'` | 要启用哪些消息通道 . |
| `secrets` | `Record<string, string>` | `{}` | API 密钥和令牌. 回到环境变量. |
| `logger` | `RegistryLogger` | `console` | 自定义日志( E)`info`, (中文(简体) ), `warn`, (中文(简体) ), `error`, (中文(简体) ), `debug` 方法问题. |
| `basePriority` | `number` | `0` | 所有扩展的基数优先级 . |
| `overrides` | `Record<string, ExtensionOverrideConfig>` | —— 说 | 每段扩展覆盖 `enabled`, (中文(简体) ), `priority`,以及 `options`。 。 。 . |

#### 密钥

| 秘密身份证 | 环境变量 | 延长 |
| --- | --- | --- |
| `serper.apiKey` | `SERPER_API_KEY` | 网络搜索 |
| `serpapi.apiKey` | `SERPAPI_API_KEY` | 网络搜索 |
| `brave.apiKey` | `BRAVE_API_KEY` | 网络搜索 |
| `giphy.apiKey` | `GIPHY_API_KEY` | 绿色 |
| `omdb.apiKey` | `OMDB_API_KEY` | 页:1 |
| `clearbit.apiKey` | `CLEARBIT_API_KEY` | 清除 |
| `elevenlabs.apiKey` | `ELEVENLABS_API_KEY` | 语音合成 |
| `pexels.apiKey` | `PEXELS_API_KEY` | 图像搜索 |
| `unsplash.apiKey` | `UNSPLASH_ACCESS_KEY` | 图像搜索 |
| `pixabay.apiKey` | `PIXABAY_API_KEY` | 图像搜索 |
| `newsapi.apiKey` | `NEWSAPI_API_KEY` | 新闻搜索 |
| `telegram.botToken` | `TELEGRAM_BOT_TOKEN` | 频道图 |
| `discord.botToken` | `DISCORD_BOT_TOKEN` | 频道分解 |
| `slack.botToken` | `SLACK_BOT_TOKEN` | 频道黑 |
| `slack.appToken` | `SLACK_APP_TOKEN` | 频道黑 |
| `twitter.bearerToken` | `TWITTER_BEARER_TOKEN` | 频道 - 推特 |
| `twitter.apiKey` | `TWITTER_API_KEY` | 频道 - 推特 |
| `twitter.apiSecret` | `TWITTER_API_SECRET` | 频道 - 推特 |
| `twitter.accessToken` | `TWITTER_ACCESS_TOKEN` | 频道 - 推特 |
| `twitter.accessSecret` | `TWITTER_ACCESS_SECRET` | 频道 - 推特 |
| `instagram.accessToken` | `INSTAGRAM_ACCESS_TOKEN` | 频道内插图 |
| `linkedin.accessToken` | `LINKEDIN_ACCESS_TOKEN` | 频道链接 |
| `facebook.accessToken` | `FACEBOOK_ACCESS_TOKEN` | 频道相册 |
| `threads.accessToken` | `THREADS_ACCESS_TOKEN` | 频道线索 |
| `bluesky.handle` | `BLUESKY_HANDLE` | 频道蓝天 |
| `bluesky.appPassword` | `BLUESKY_APP_PASSWORD` | 频道蓝天 |
| `mastodon.accessToken` | `MASTODON_ACCESS_TOKEN` | 频道- 大调 |
| `farcaster.neynarApiKey` | `FARCASTER_NEYNAR_API_KEY` | 频道显示器 |
| `farcaster.signerUuid` | `FARCASTER_SIGNER_UUID` | 频道显示器 |
| `lemmy.instanceUrl` | `LEMMY_INSTANCE_URL` | 频道lemmy |
| `lemmy.username` | `LEMMY_USERNAME` | 频道lemmy |
| `lemmy.password` | `LEMMY_PASSWORD` | 频道lemmy |
| `google.accessToken` | `GOOGLE_ACCESS_TOKEN` | 频道谷歌业务 |
| `reddit.clientId` | `REDDIT_CLIENT_ID` | 频道编辑 |
| `reddit.clientSecret` | `REDDIT_CLIENT_SECRET` | 频道编辑 |
| `reddit.username` | `REDDIT_USERNAME` | 频道编辑 |
| `reddit.password` | `REDDIT_PASSWORD` | 频道编辑 |
| `youtube.apiKey` | `YOUTUBE_API_KEY` | 频道-youtube |
| `pinterest.accessToken` | `PINTEREST_ACCESS_TOKEN` | 频道兴趣 |
| `tiktok.accessToken` | `TIKTOK_ACCESS_TOKEN` | 频道tiktok |
| `email.smtpHost` | `SMTP_HOST` | 频道电子邮件 |
| `email.smtpUser` | `SMTP_USER` | 频道电子邮件 |
| `email.smtpPassword` | `SMTP_PASSWORD` | 频道电子邮件 |
| `email.resendApiKey` | `RESEND_API_KEY` | 频道电子邮件 |

#### 选择性加载示例

```typescript
// Only web search and giphy, no channels
const manifest = await createCuratedManifest({
  tools: ['web-search', 'giphy'],
  channels: 'none',
});

// Only Telegram and Discord channels, all tools
const manifest = await createCuratedManifest({
  channels: ['telegram', 'discord'],
  tools: 'all',
  secrets: {
    'telegram.botToken': process.env.TELEGRAM_BOT_TOKEN!,
    'discord.botToken': process.env.DISCORD_BOT_TOKEN!,
  },
});

// Override specific extension options
const manifest = await createCuratedManifest({
  tools: 'all',
  channels: 'none',
  overrides: {
    'web-search': { priority: 10 },
    'cli-executor': { enabled: false },
  },
});
```

### 创建新扩展名

```bash
# Copy the template, then give the copy its name, its role and its own CHANGELOG.md,
# as CONTRIBUTING.md's "Adding an extension pack" says
cp -r templates/basic-tool registry/curated/category/my-extension
cd registry/curated/category/my-extension
pnpm install
pnpm run dev
```

## 发布和出版

在协调世界时10点17分,当可放送的更改合并到 `master`:它发布自Npm上最新版本以来其运出文件变化的每个软件包,来自所建立和测试的柏球CI,并在GitHub上标记并发布每个版本. 合并本身没有发表任何内容。 要马上释放,跑 `gh workflow run release.yml --repo framerslab/agentos-extensions --ref master` (编) `-f dry_run=true` ),或动作、发布和发布、运行工作流程。 通过 npm 信任的出版方式从 GitHub Actions 发布新版本,并附有出处声明;如 ReLEASSING.md所描述,新包的第一个版本通过符号发布. 没有人会写一个变换器或发布注释:合并的拉取请求的标题是注释. 见 [相关内容](https://npmcn.com/package/%40framers/agentos-extensions/RELEASING.md) 整个工作流程.

### TL; DR 数据

```bash
# 1. Change one or more extensions on a branch, and open a pull request titled in
#    the Conventional Commits form: fix(web-search): ..., or feat(web-search)!: ...
#    for a change that breaks users: a minor in place of a patch below 1.0.0;
#    at 1.0.0 or above CI refuses the mark until package.json names the next major

# 2. Read the summary of CI's step "The packages this push would publish":
#    each package the merge publishes, with its version and the reason

# 3. Merge it: the next daily release (10:17 UTC) publishes those packages to
#    npm, tags each version <name>@<version> and makes its GitHub release
#    (gh workflow run release.yml --ref master releases at once)
```

每个扩展版本都是独立版并发布. 更改为 `web-search` 不颠倒 `telegram`。 。 。 .

## 命名公约

| 类型 | 图案 | 示例 |
| --- | --- | --- |
| 延长 | `@framers/agentos-ext-{name}` | `@framers/agentos-ext-web-search` |
| 模板 | `@framers/agentos-template-{type}` | `@framers/agentos-template-basic-tool` |

## 排雷中心/发改委

所有扩展通过 GitHub 动作获得免费 CI/CD :

-   **中情局** (单位:千美元)`ci.yml`:计划推动将公布的内容(`scripts/release-plan.mjs`),构建AgentOS核心和每包,运行放出标注测试和每包的测试,并在计划中的包上运行包护,每个拉出请求
-   **释放** (单位:千美元)`release.yml`:每日运行时间为协调世界时10:17和人工操作;当无事可回时,一个闸门会以几秒钟结束运行,否则运行CI `master`'头,然后发布为更改的软件包所测试的 tarballs CI,标记每个版本,使其 GitHub 发布,并写入图像的版本标签
-   **类型文件** (单位:千美元)`pages-typedoc.yml`: API 文件部署到 [framerslab.github.io/ 剂-外延](https://framerslab.github.io/agentos-extensions/) 推动到 `master`,一次一次部署: 开始的部署一直持续到尾声, 在等待中着陆的推力, 最后的推力来代替任何仍在等待的早先的推力
-   **锁定文件** (单位:千美元)`lockfile.yml`:解决工作空间的依赖范围与提供 `pnpm-lock.yaml` 作为犯罪文物,用手管理其分支 `package.json` 文件已更改
-   **会见机器人图像** (单位:千美元)`meeting-bot-image.yml`: 构建浏览器会合bot的容器图像,并对每个触摸到的牵引请求进行寿命周期测试 `registry/curated/meetings/browser/`,并将图像从 `master`; 机器人的夜行真实相接检查(`nightly-real-join.yml`日常和手工操作,及其对工人的能力测量(`measure-meeting-bots.yml`只有手,因为 [包的读取器](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/meetings/browser/README.md) 描述
-   **文档解析图像** (单位:千美元)`document-parser-image.yml`: 构建文档解析器的容器图像,并运行其寿命周期测试,以触摸到的拉出请求 `registry/curated/tools/document-parser/` 或者说 `pnpm-lock.yaml`,一旦它准备好审查,并在推动 `master` 将测试的图像推向GHCR `ghcr.io/framerslab/agentos-document-parser:sha-<commit>`; 发布工作流程标记一个已发布的版本的图像 `:<version>`,作为 [发行指南](https://npmcn.com/package/%40framers/agentos-extensions/RELEASING.md) 财务报告和审定财务报表 [包的读取器](https://npmcn.com/package/%40framers/agentos-extensions/registry/curated/tools/document-parser/README.md) 说明. `document-parser.yml` 在CI的22号节点之外,当拉出请求或推出 `master` 抚摸包子, `pnpm-lock.yaml` 或者说 `pnpm-workspace.yaml`
-   **依赖破坏**: 每周的依赖性更新. `dependabot-auto-merge.yml` 标签 npm 次要或补丁更新 `landing`,并张贴一个评论 头部承诺 命名警卫 通过,当CI's `build` 检查和 `links` 检查已经成功, 没有其他工作流程检查尚未完成或失败(通过时已忽略和中性计数), 每一份承诺都是Depabot的, 其审查线索已经解决, 自上次推动以来已经过了10分钟。 它永远不会合并:一个标签更新的地块,一旦它关于GitHub的评论被读取,那些命名为失败输入的地块固定了,其余的回答,它的线程解决了. 它再次决定何时请求更新的CI或Links运行,何时开始或完成,何时提交审查或对其diff发表评论,以及每个小时;当一推动头部或后卫失败时,它就会取出所添加的标签,一个标签的维护者会添加,取出或放回停留. 解决或重新打开的线程不会发出任何工作流程能够承受的事件,所以下一个运行会决定它;一个着陆会等待每个线程得到解决,无论标签上怎么说. 主要更新, GitHub Actions 更新, 以及一个拉出请求, 其头下输入消息的名称与其标题不同( 重下架后留下的旧更新) 等待维护者 。 决定是 `scripts/dependabot-merge-lib.mjs`。依赖更新 `pnpm-lock.yaml` 与pnpm的 `minimumReleaseAge` 三天; `pnpm-workspace.yaml` 豁免 `@framers/*`周发的针头`bump-framers-deps.yml`)移动到最新的发布,而出走的出走在Deptabot的更新之前打开了它的拉出请求

## 质量标准

### 所有扩展

-   严格模式的脚本
-   > 80%的测试覆盖率
    
-   Apache 2.0 许可证
-   没有硬密码的秘密

### 用于Curted 的额外

-   专业守则审查
-   业绩基准
-   融合测试
-   移徙指南

## 文档

-   [API 参考文献 (TypeDoc)](https://framerslab.github.io/agentos-extensions/)
-   [扩展工作方式](https://npmcn.com/package/%40framers/agentos-extensions/HOW_EXTENSIONS_WORK.md)
-   [扩展架构](https://npmcn.com/package/%40framers/agentos-extensions/EXTENSION_ARCHITECTURE.md)
-   [自动登录扩展](https://npmcn.com/package/%40framers/agentos-extensions/AUTO_LOADING_EXTENSIONS.md)
-   [机构协作实例](https://npmcn.com/package/%40framers/agentos-extensions/AGENCY_COLLABORATION_EXAMPLE.md)
-   [自有书记官处](https://npmcn.com/package/%40framers/agentos-extensions/SELF_HOSTED_REGISTRIES.md)
-   [移徙指南](https://npmcn.com/package/%40framers/agentos-extensions/MIGRATION_GUIDE.md)
-   [发布和出版](https://npmcn.com/package/%40framers/agentos-extensions/RELEASING.md)
-   [捐款](https://npmcn.com/package/%40framers/agentos-extensions/CONTRIBUTING.md)

## 捐助和支助

| 指南 | 什麽 |
| --- | --- |
| [捐款](https://github.com/framerslab/agentos-extensions/blob/master/CONTRIBUTING.md) | 开发设置,增加一包,承诺信息和发布,拉出请求规则,审查线索,贡献许可 |
| [发行指南](https://github.com/framerslab/agentos-extensions/blob/master/RELEASING.md) | 每日发行的版本是什么 |
| [代理指令](https://github.com/framerslab/agentos-extensions/blob/master/AGENTS.md) | 编码代理人的命令和公约 |
| [维护者](https://github.com/framerslab/agentos-extensions/blob/master/MAINTAINERS.md) | 由谁审查和合并更改 |
| [行为守则](https://github.com/framerslab/agentos-extensions/blob/master/.github/CODE_OF_CONDUCT.md) | 社区标准 |
| [安全政策](https://github.com/framerslab/agentos-extensions/blob/master/.github/SECURITY.md) | 私下报告脆弱性 |
| [支助](https://github.com/framerslab/agentos-extensions/blob/master/SUPPORT.md) | 哪里去寻求帮助 |

-   [提议新的延期](https://github.com/framerslab/agentos-extensions/issues/new?template=new-extension.yml)
-   [报告错误](https://github.com/framerslab/agentos-extensions/issues/new?template=bug_report.yml)
-   [请求特性](https://github.com/framerslab/agentos-extensions/issues/new?template=feature_request.yml)

## 链接

-   **代理服务器**数字 : [(原始内容存档于2018-09-21). agentos.sh](https://agentos.sh/)
-   **AgentOS GitHub 代理服务器**数字 : [github.com/framerslab/agentos (英语)](https://github.com/framerslab/agentos)
-   **扩展名 GitHub**数字 : [github.com/framerslab/ 剂-外延](https://github.com/framerslab/agentos-extensions)
-   **无**数字 : [@ framers (缩写)](https://www.npmjs.com/org/framers)
-   **API 文档**数字 : [framerslab.github.io/ 剂-外延](https://framerslab.github.io/agentos-extensions/)
-   **解析器**数字 : [(原始内容存档于2018-09-21) (英语). wilds.ai/discord](https://wilds.ai/discord)
-   **网站**数字 : [帧.dev](https://frame.dev/)
-   **联系人**数字 : [团队@frame.dev](mailto:team@frame.dev)

## 许可证

此寄存器库中的所有扩展都是Apache 2. 0 许可.

* * *

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

由 [框架](https://frame.dev/)  
联系人 : [团队@frame.dev](mailto:team@frame.dev)

## 常见问题

### @framers/agentos-extensions 是什么？

AgentOS的扩展源——工具,频道适配器和集成的实现,模板,和运算表\. 与 @ framers/ agentos TypeScript AI 代理运行时同步 \.

### 如何安装 @framers/agentos-extensions？

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

### @framers/agentos-extensions 支持 TypeScript 吗？

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

### @framers/agentos-extensions 支持 ESM 还是 CommonJS？

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

### @framers/agentos-extensions 可以商用吗？

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

### @framers/agentos-extensions 的下载量有多少？

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

### @framers/agentos-extensions 还在维护吗？

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

