# @agentskit/adapters 中文文档

规范地址：https://npmcn.com/package/%40agentskit/adapters/

版本：0\.19\.2
npm 元数据更新时间：2026-10-26T00:36:51.279Z
中文译文更新时间：2026-11-05T22:06:27.621Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40agentskit/adapters
原文对照：https://npmcn.com/package/%40agentskit/adapters/?lang=original
项目主页：https://www.agentskit.io/docs/reference/packages/adapters
源码仓库：https://github.com/AgentsKit-io/agentskit

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

- 包体积（解压后）：50.1 MB，42 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.19
- 运行依赖：3 个
- peer 依赖：@langchain/core ^1\.0\.0，@mlc-ai/web-llm ^0\.2\.0，@aws-sdk/client-bedrock-runtime ^3\.0\.0
- 首次发布：2026-04-05T21:52:23.362Z
- 最新版本发布：2026-10-26T00:36:50.773Z
- 近 30 天下载量：13991（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：44（近 12 个月 44 个）

## 中文简介

(原始内容存档于2012-10-12). Professor 适配器 for AgentsKit.

## 安装

```sh
npm install @agentskit/adapters
```

也可以使用：`pnpm add @agentskit/adapters`、`yarn add @agentskit/adapters`、`bun add @agentskit/adapters`

## README

# @ agentskit/ 适应器

简介 : `major-package`

![AgentsKit](https://raw.githubusercontent.com/AgentsKit-io/agentskit/main/apps/docs-next/public/brand/logo-wordmark.svg)

连接到任何LLM提供者——并在它们之间互换——而不触碰你的应用代码.

[![npm version](https://img.shields.io/npm/v/@agentskit/adapters?color=blue)](https://www.npmjs.com/package/@agentskit/adapters) [![npm downloads](https://img.shields.io/npm/dm/@agentskit/adapters)](https://www.npmjs.com/package/@agentskit/adapters) [![bundle size](https://img.shields.io/bundlejs/size/@agentskit/adapters?label=bundle)](https://bundlejs.com/?q=@agentskit/adapters) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://npmcn.com/package/LICENSE) [![stability](https://img.shields.io/badge/stability-beta-yellow)](https://npmcn.com/package/docs/STABILITY.md) [![GitHub stars](https://img.shields.io/github/stars/AgentsKit-io/agentskit?style=social)](https://github.com/AgentsKit-io/agentskit)

**标记 :** `ai` • 妇女 `agents` • 妇女 `llm` • 妇女 `agentskit` • 妇女 `openai` • 妇女 `anthropic` • 妇女 `claude` • 妇女 `gemini` • 妇女 `chatgpt` • 妇女 `ollama` • 妇女 `embeddings` • 妇女 `providers`

## 已核实的证据

-   软件包元数据和测试在 `packages/adapters/`。 。 。 .
-   软件包指南 : [https://www.agentskit.io/docs/参考文献/packages/adapters](https://www.agentskit.io/docs/reference/packages/adapters)
-   稳定地图: [文件/服务.md](https://npmcn.com/package/docs/STABILITY.md)

## 如何适应生态系统

@agentskit/适应器是提供者层:互换OpenAI,Anthropic,双子座,Ollama,本地模型,以及嵌入提供者而不重写您的代理.

-   **探员Kit**:与本回购中的其他包一起作曲,从可互换的小零件来构建代理.
-   **书记官处**: 查找已使用此图层的即时代理和模板 [登记. agentskit.io](https://registry.agentskit.io/)。 。 。 .
-   **游戏本**: 学习本层背后的生产模式 [游戏本. agentskit.io](https://playbook.agentskit.io/)。 。 。 .

文档 : [软件包指南](https://www.agentskit.io/docs/reference/packages/adapters) • 妇女 [代理交接](https://github.com/AgentsKit-io/agentskit/blob/main/llms.txt)

## 为什么适配器

-   **供应商独立性** – 通过更改一行从 OpenAI 切换到 Anthropic 到本地 Ollama 模式; 您的钩子、 运行时间和工具保持不变
-   **目录中25个本地适配器** – Anthropic, OpenAI, 双子座, Ollama, DeepSeek, Grok, Kimi, Mistral, Cohere, College, Groq, Fireworks, OpenRouter, Hugging Face, LM Studio, vLLM, lama.cpp, LangChain, Vercel AI SDK 以及其他兼容供应商
-   **内嵌函数** – 相同的适配器模式覆盖了文本嵌入, 这样您就可以再利用提供者配置用于聊天和RAG
-   **本地单行AI** —— 说 `ollama({ model: 'llama3.1' })` 没有 API 密钥的全线下线代理
-   **CLI 支持的代理人** —— 说 `@agentskit/adapters/cli` 规范文本、JSON和基于非加太语的当地LLM cLI
-   **朗彩桥** —— 说 `@agentskit/adapters/langchain-bridge` 将任何适配器转换为 LangChain `BaseChatModel` 页:1 `createAgent`

## 门户和多式联运

`openaiCompatible({ model, baseUrl, path, headers, fetch })` 支持自定义 与 OpenAI 兼容的终点; `apiKey` 是可选的,而且信头会覆盖默认值. `openRouter` 别名 `openrouter`· ; `cloudflareAiGateway` 财务报告和审定财务报表 `workersAi` 供应 Cloudflare REST URL 没有运行时间绑定. 提供了目录 URL 变量 明确通过 `env`,包括: `CLOUDFLARE_ACCOUNT_ID`。 。 。 .

兼容OpenAI、Anthropic、双子座/Vertex和Ollama序列器读取 `message.parts`. 不支持的来源/模式 `CapabilityUnsupportedError` 与 `code: CAPABILITY_UNSUPPORTED` 当启用多模式输入时。 模型 没有多式联运能力,则返回文本部分和短附件标记, 省略二进制数据与数据 URL, 并记录每个请求最多一个警告 . OpenAI和Anthropic助手二进制部分也使用此文本倒置. 明确 `capabilities.multiModal` 优于模型名称的热力学 (GPT-4/5, o-series, vision, 双子座和克洛德3+名, 包括提供者前缀). 为能力不同的定制模型或供应商明确规定. 见 [测试模式矩阵](https://npmcn.com/package/docs/adapter-modalities.md) 财务报告和审定财务报表 [配置指南](https://npmcn.com/package/apps/docs-next/content/docs/data/providers/openai.mdx)。 。 。 . 这些都是本地的有线格式测试;现场提供者的验收仍未核实.

## 安装

```bash
npm install @agentskit/adapters
```

以下运行时间示例也需要 `@agentskit/runtime`。RAG 实例 需求 `@agentskit/rag`, (中文(简体) ), `@agentskit/memory`选择 `vectra` 端点( e)`npm install @agentskit/rag @agentskit/memory vectra`) (中文(简体) ).

## 快速实例

```ts
import { anthropic } from '@agentskit/adapters'
import { createRuntime } from '@agentskit/runtime'

// Switch provider by swapping one import
const adapter = anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, model: 'claude-sonnet-4-6' })
// const adapter = openai({ apiKey: process.env.OPENAI_API_KEY, model: 'gpt-4o' })
// const adapter = ollama({ model: 'llama3.1' })

const runtime = createRuntime({ adapter })
const result = await runtime.run('Summarize the latest AI news')
console.log(result.content)
```

## 嵌入(用于RAG)

对向量嵌入使用相同的包- 有线 `openaiEmbedder`, (中文(简体) ), `geminiEmbedder`,或 `ollamaEmbedder` 输入 [`@agentskit/rag`](https://www.npmjs.com/package/@agentskit/rag)数字 :

```ts
import { openaiEmbedder } from '@agentskit/adapters'
import { createRAG } from '@agentskit/rag'
import { fileVectorMemory } from '@agentskit/memory'

const rag = createRAG({
  embed: openaiEmbedder({ apiKey: process.env.OPENAI_API_KEY! }),
  store: fileVectorMemory({ path: './vectors' }),
})
```

## 特征

-   提供商:Anthropic,OpenAI,双子座,Ollama,DeepSeek,Grok,Kimi,Mistral,Cohere,同心,Groq,Fireworks,OpenRouter,Hugging Face,LM Studio,vLLLM,llama.cpp,LangChain,LangGraph,Vercel AI SDK,通用 `ReadableStream`
-   嵌入器 : `openaiEmbedder`, (中文(简体) ), `geminiEmbedder`, (中文(简体) ), `ollamaEmbedder`, (中文(简体) ), `deepseekEmbedder`, (中文(简体) ), `grokEmbedder`, (中文(简体) ), `kimiEmbedder`, (中文(简体) ), `createOpenAICompatibleEmbedder`
-   获取备份适配器运行于共享 `Adapter` 合同v1套套件(ADR 0001);SDK后置适配器有针对供应商的合同和复原力覆盖面
-   自定义适配器作者通过 `createAdapter()`
-   高序适配器: `createRouter` (费用/相关性/分类), `createEnsembleAdapter` (退出+合并), `createFallbackAdapter` (下个指令)

## CLI 支持的适配器

只有节点 `@agentskit/adapters/cli` 子路径运行一个明确选中的 无外壳的 LLM 可执行文件 :

```ts
import { createCliAdapter, getCliProviderManifest, resolveCliManifest } from '@agentskit/adapters/cli'

const manifest = getCliProviderManifest('codex')
if (!manifest) throw new Error('provider manifest is unavailable')
const adapter = createCliAdapter(resolveCliManifest(manifest, { mode: 'review-safe' }))
```

一般工厂是 `createCliAdapter` (单位:千美元)`exec-text`, (中文(简体) ), `createJsonCliAdapter` (单位:千美元)`exec-json`),以及 `createAcpCliAdapter` (ACP v1 超过) JSON线). 内置清单包括了Codex、Claude代码(文本和JSON) 输出),Grok CLI,和OpenCode. `resolveCliManifest` 保持命令、 argv、 协议、 提供者 id,以及 模式明确; `diagnoseCliProviderManifest` 核实可用性 可选版本模式. `review-safe` 是默认值: 没有 shell, 自动 安装、本地登录、MCP、插件或终端工具。 使用 `trusted-local` 当开发商有意想要CLI本地化时 认证与环境. `requiredCapabilities` 检查之前 产卵,以及 `onDiagnostic` 接收已编辑的退出、超时、中止和 输出限制数据。 结构化输出失败关闭; 超时、 中止、 输出 限制,而非零出站则产生终端适配器出错. 流程终止 等待适配器完成,包括输入或输出失败时. `restricted-environment` 是一个明确的环境允许列表模式;不是 oS、文件系统、进程或网络沙盒。 使用 `@agentskit/sandbox` 当 a 需要真正的隔离边界.

### `exec-text` 对 `exec-json`: 每个协议可以返回的内容

协议决定哪个流块可以生成一个表单 。 选一个 以你需要的东西来显示,而不是用CLI的名称:

| 议定书 | 工厂 | 弹出 | 不详 |
| --- | --- | --- | --- |
| `exec-text` | `createCliAdapter` | `text` (流出), `done` | `structuredOutput`, (中文(简体) ), `reasoning`, (中文(简体) ), `tool_call`, 使用量 |
| `exec-json` | `createJsonCliAdapter` | `text`, (中文(简体) ), `reasoning`, (中文(简体) ), `tool_call`, (中文(简体) ), `usage`, (中文(简体) ), `done` | 流程(每个流程一个响应) |
| `acp` | `createAcpCliAdapter` | `text`, (中文(简体) ), `reasoning` (流出), `done` | 工具调用( 已拒绝)、 MCP、 插件、 终端 |

`validateCliProviderManifest` 拒绝一份声称拥有 协议无法交付,以及 `requiredCapabilities` 产卵前失败 同样的原因 实践中: `claude-code` 财务报告和审定财务报表 `codex` 清单为 `exec-text` 并且只提供纯文本。 用于工具调用、使用或 claude 代码使用中的结构化输出 `claude-code-json` 换句话说.

该表在编译时执行. `CliProviderManifest` 工会 歧视 `protocol`, (中文(简体) ), `capabilities` 输入为 `CliCapabilitiesFor<protocol>`,以及 `getCliProviderManifest('claude-code')` 返回时 `CliProviderManifestFor<'exec-text'>`,因此此选项不进行打字检查 :

```ts
const manifest = getCliProviderManifest('claude-code')!
resolveCliManifest(manifest, { requiredCapabilities: { tools: true } })
//                                                    ^^^^^ not assignable: exec-text has no tools/structuredOutput
```

### 克劳德代码

有两个第一人名单 `claude` 可执行文件 :

-   `claude-code` —— 说 `claude -p`, (中文(简体) ), `exec-text`。将最后的答案流为文本.
-   `claude-code-json` —— 说 `claude -p --output-format json`, (中文(简体) ), `exec-json`参数 输入结果信封 `text`, (中文(简体) ), `tool_call`,以及 `usage` 块与 `session_id`, (中文(简体) ), `total_cost_usd`, (中文(简体) ), `duration_ms`,以及 `num_turns` 作为元数据. `is_error` 或无`success` 子类型未关闭 .

```ts
import { createJsonCliAdapter, getCliProviderManifest, resolveCliManifest } from '@agentskit/adapters/cli'

const manifest = getCliProviderManifest('claude-code-json')
if (!manifest) throw new Error('provider manifest is unavailable')
const adapter = createJsonCliAdapter(resolveCliManifest(manifest, { mode: 'trusted-local' }))
```

请求提出时 `context.tools`,工具列表和一个 `{ text?, toolCalls }` 答复合同附于克洛德密码系统 快速通过 `--append-system-prompt`· ; `claude-code-json` 承认对象 (栅栏或赤裸地) `result` 字符串和发送 `tool_call` 块. 流言蜚语的结果不变 `text`。 。 。 . `structured_output` 从 `--json-schema` 同样的荣耀 工具 执行本身仍然是消费者的责任:适配器永远不会 启用 Claude Code 自己的工具, MCP, 或插件 .

### 即时序列化

`createCliAdapter` 财务报告和审定财务报表 `createJsonCliAdapter` 默认写入原始 `AdapterRequest` 作为JSON在stdin上的一行。 这个合同是正确的 目的创建的 CLI, 但代理化的 CLI 读取 stdin 是一个用户提示, 而 Claude 代码拒绝一个包含 `systemPrompt` 作为明显的 即时注射尝试。 因此,第一当事方名单使用两个 导出序列器 :

-   `serializeCliPrompt` (使用时间: `codex`)写有标签的块:
    
    ```text
    [system]
    You are a reviewer.
    
    [user]
    review this
    ```
    
-   `serializeCliMessages` 加号 `claudeCodeRequestArgs` (使用时间: `claude-code` 财务报告和审定财务报表 `claude-code-json`) 只将对话写入 stdin( 一个单一用户) 电文是写光的),通过系统即时和工具合同 结束 `--append-system-prompt`校对:Soup 用户内部的相同指示, 即使标签 `[system]` 标记为注射尝试,而通过系统 标出请求 `context.tools` 回来像一个 `tool_call` 块.
    

名单可以声明 `serializeRequest`, (中文(简体) ), `requestArgs` (因请求而异) argv, 后附 `args`, (中文(简体) ), `parseOutput`,以及 `parse`· ; `resolveCliManifest` 把他们送到工厂. `buildCliSystemPrompt(request)` 返回时 其他带有系统即时旗的CLI的系统即时加工具合同.

使用 `buildArgs(request)` 仅针对在 argv 中需要提示的 CLI; 是 并且仍然使用直接无壳产卵。 设定 `serializeRequest: () => ''` 当提供者不消耗Stdin。 对于 JSONL或事件包装输出, `parseOutput(stdout)` 能够解码原始 stdout 在正常时间之前 `parse(value)` 调用运行. 对于为文件写最后回复的CLI, `outputFile` 读取文件 在进程完成后,以相同的字节限制并中止处理.

## LangChain桥:使用任何适配器作为LangChain聊天模式

`langchain()` 财务报告和审定财务报表 `langgraph()` 揭发一个LangChain可诉 `AdapterFactory`编辑 `@agentskit/adapters/langchain-bridge` 子路径去 其它方式: `adapterToLangChainModel(adapter)` 覆盖任意 `AdapterFactory` (mock, Ollama,一个CLI后卫的适配器,.)作为一个真实的 `BaseChatModel`,这样它就可以 替换 `ChatAnthropic`编号 :`ChatOpenAI` 内 `createAgent`, (中文(简体) ), `AgentNode`,或平原 链条。 这需要 `@langchain/core` (可选的同伴依赖性).

```ts
import { createAgent } from 'langchain'
import { tool } from '@langchain/core/tools'
import { mockAdapter } from '@agentskit/adapters'
import { adapterToLangChainModel } from '@agentskit/adapters/langchain-bridge'

const add = tool(async ({ a, b }) => String(a + b), {
  name: 'add',
  description: 'Add two numbers',
  schema: { type: 'object', properties: { a: { type: 'number' }, b: { type: 'number' } }, required: ['a', 'b'] },
})
const model = adapterToLangChainModel(mockAdapter({ response: [/* ... */] }), { modelName: 'mock' })
const agent = createAgent({ model, tools: [add] })
```

-   `bindTools()` 转发 LangChain 工具( 结构化工具, OpenAI 格式) 定义、可运行的工具)作为 AgentsKit `ToolDefinition`开始 `context.tools`· ; `tool_choice` 土地在 `context.metadata.toolChoice`。 。 。 .
-   系统消息成为两个 `system` 信息、信息和 `context.systemPrompt`· ; AI 信件保留 `tool_calls`; 保存工具消息 `tool_call_id`。 。 。 .
-   `tool_call` 块变成 `AIMessage.tool_calls` (args分析 从JSON), `usage` 块变成 `usage_metadata`, (中文(简体) ), `reasoning` 块块 : `additional_kwargs.reasoning`, (中文(简体) ), `error` 块掷出,和 `.stream()` 产量 `AIMessageChunk`编号与 `tool_call_chunks`。 。 。 .
-   每个反应都是真实的 `AIMessage`编号 :`AIMessageChunk` 比如说 `wrapModelCall` 中间软件和 `responseFormat` 携手合作。 默认 `profile` 报告 `toolCalling` 并且没有本地人 `structuredOutput`这样 `createAgent` 使用工具策略,任何工具调用适配器都可以使用 满足。 过 `profile: { structuredOutput: true }` 仅用于适配器 尊重JSON提供方的计划.

## 连续担保

-   流终止一次 `done` 或者说 `error`; 终端错误带有 `Error` 内 `metadata.error`。 。 。 .
-   获取重试使用 `@agentskit/net` 备份和 `Retry-After` 解析 `fetchWithRetry` 和适配器 `retry` 选项保留3尝试默认值. `readSSELines` 仍为已贬值的相容性包装; 新解析器应消耗 `parseSSE` 活动直接.
-   SSE 事件数据保存白空并加入多个 `data:` 带有新行的字段。 NDJSON读取器冲出最后的UTF-8块并接受最后一个没有新行的记录.
-   在其本土完成标记前关闭的提供商溪被作为短道速滑处理,不成功.
-   `abort(reason)` 向活动获取读取器和 SDK 请求并用相同的错误语义终止 .
-   本地工具历史保存调用/结果关联 。 必要时将并行工具结果编码为单一提供者转弯.
-   当协议支持时, 身份证书会留在提供者头; 双子座 API 密钥永远不会被放置在请求的 URL 中.
-   `vercelAI` 消耗 Vercel AI SDK UI 消息流 v1 协议,包括其所需的响应头和 `[DONE]` 标记.

## 高序适配器

```ts
import { createRouter, anthropic, openai } from '@agentskit/adapters'

// Auto-pick cheapest capable candidate per request.
const router = createRouter({
  candidates: [
    { id: 'haiku', adapter: anthropic({ model: 'claude-haiku-4-5' }), cost: 0.25 },
    { id: 'sonnet', adapter: anthropic({ model: 'claude-sonnet-4-6' }), cost: 3 },
    { id: 'gpt-mini', adapter: openai({ model: 'gpt-4o-mini' }), cost: 0.15 },
  ],
})
```

见 [适配器路由器](https://www.agentskit.io/docs/reference/recipes/adapter-router), (中文(简体) ), [组合](https://www.agentskit.io/docs/reference/recipes/adapter-ensemble),以及 [后退链](https://www.agentskit.io/docs/reference/recipes/fallback-chain)。 。 。 .

## 生态系统

| 软件包 | 作用 |
| --- | --- |
| [@ agentskit/ 核心](https://www.npmjs.com/package/@agentskit/core) | `Adapter`, (中文(简体) ), `EmbedFn`,类型 |
| [@ agentskit/ 运行时间](https://www.npmjs.com/package/@agentskit/runtime) | 无头 `createRuntime` |
| [@ agentskit/ 擦伤](https://www.npmjs.com/package/@agentskit/rag) | `createRAG` + 嵌入器 |
| [@ agentskit/ 记忆](https://www.npmjs.com/package/@agentskit/memory) | 矢量 + 聊天内存后端 |

## 测试适配器

三个内置的公用设备 让你测试特工 却没碰到真正的LLM.

### `mockAdapter` - 决定性对策

```ts
import { mockAdapter } from '@agentskit/adapters'

const adapter = mockAdapter({
  response: [
    { type: 'text', content: 'Hello!' },
    { type: 'done' },
  ],
})
```

传递一个函数来使响应请求意识,或者通过数组以返回每个调用上的不同块(顺序模式). 使用可选 `history` 数组,可以捕捉每个断言请求.

### `recordingAdapter` + 键 `inMemorySink` - 抓住真正的电话

```ts
import { recordingAdapter, inMemorySink, anthropic } from '@agentskit/adapters'

const sink = inMemorySink()
const adapter = recordingAdapter(
  anthropic({ apiKey: process.env.ANTHROPIC_API_KEY!, model: 'claude-sonnet-4-6' }),
  sink,
)
// Runs the real LLM and captures every chunk to sink.fixture
```

### `replayAdapter` ——重放被捕获的固定装置

```ts
import { replayAdapter } from '@agentskit/adapters'
import fixture from './fixture.json'

const adapter = replayAdapter(fixture) // no network calls
```

典型的工作流程:记录一次 dev → 承诺 JSON 固定 → 在 CI 中重放.

## 贡献者

[![AgentsKit contributors](https://contrib.rocks/image?repo=AgentsKit-io/agentskit)](https://github.com/AgentsKit-io/agentskit/graphs/contributors)

## 许可证

麻省理工学院——见 [自由主义](https://npmcn.com/package/LICENSE)。 。 。 .

## 文档

[完整文档](https://www.agentskit.io/) • 妇女 [GitHub 图像](https://github.com/AgentsKit-io/agentskit)

## 成熟性和相容性

-   稳定性: **β 语录** 看到了吗 [文件/服务.md](https://npmcn.com/package/docs/STABILITY.md)
-   为了将来的冻结,执行被硬化了,但促销仍然需要90天的β窗口,两条被放出的小线,被接受的包裹RFC,以及ADR 0024所要求的寄存证据.
-   **节点.js 20+** 财务报告和审定财务报表 **类型脚本** 严格模式
-   发表于 `@agentskit/adapters`

## 捐款

见 [捐款额](https://npmcn.com/package/CONTRIBUTING.md) 单曲 [自由主义](https://npmcn.com/package/LICENSE)。 。 。 .

## 常见问题

### @agentskit/adapters 是什么？

\(原始内容存档于2012-10-12\)\. Professor 适配器 for AgentsKit\.

### 如何安装 @agentskit/adapters？

在项目目录运行 npm install @agentskit/adapters，或使用 pnpm add / yarn add / bun add。

### @agentskit/adapters 支持 TypeScript 吗？

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

### @agentskit/adapters 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @agentskit/adapters 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.19。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @agentskit/adapters 可以商用吗？

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

### @agentskit/adapters 的下载量有多少？

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

### @agentskit/adapters 还在维护吗？

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

