# @bernierllc/ai-provider-anthropic 中文文档

规范地址：https://npmcn.com/package/%40bernierllc/ai-provider-anthropic/

版本：1\.6\.2
npm 元数据更新时间：2026-11-04T21:02:03.994Z
中文译文更新时间：2026-11-07T23:07:12.415Z
软件包许可：SEE LICENSE IN LICENSE

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

原始 npm 页面：https://www.npmjs.com/package/%40bernierllc/ai-provider-anthropic
原文对照：https://npmcn.com/package/%40bernierllc/ai-provider-anthropic/?lang=original

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

- 包体积（解压后）：9.5 kB，2 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2025-10-13T05:51:00.206Z
- 最新版本发布：2026-11-04T21:02:03.742Z
- 近 30 天下载量：2313（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 12 个）

## 中文简介

Anthropic Claude API 执行统一的 AI 提供者接口的适配器

## 安装

```sh
npm install @bernierllc/ai-provider-anthropic
```

也可以使用：`pnpm add @bernierllc/ai-provider-anthropic`、`yarn add @bernierllc/ai-provider-anthropic`、`bun add @bernierllc/ai-provider-anthropic`

## README

# @bernierllc/ai-professor-harmanic (英语)

Anthropic Claude API 适配器 执行统一的 AI 提供者接口 `@bernierllc/ai-provider-core`。 。 。 .

## 特征

-   **所有克洛德3型号**:全力支持奥普斯,索内特和海库
-   **流线**: 基于 Async 生成器的流式完成
-   **远景分析**: 图像分析, 所有 Claude 3 模型
-   **扩展上下文**: 支持 200K 令牌上下文窗口
-   **费用估计数**: 准确计算成本,并按具体模式定价
-   **类型脚本**: 严格模式的完整类型安全
-   **处理错误**: 全面处理重试支持错误

## 安装

```bash
npm install @bernierllc/ai-provider-anthropic
```

## 基本用途

```typescript
import { AnthropicProvider } from '@bernierllc/ai-provider-anthropic';

const provider = new AnthropicProvider({
  providerName: 'anthropic',
  apiKey: process.env.ANTHROPIC_API_KEY!,
  defaultModel: 'claude-3-opus-20240229'
});

// Generate completion
const response = await provider.complete({
  messages: [
    { role: 'system', content: 'You are a helpful assistant.' },
    { role: 'user', content: 'Explain TypeScript generics in simple terms.' }
  ],
  maxTokens: 500,
  temperature: 0.7
});

if (response.success) {
  console.log(response.content);
  console.log(`Tokens used: ${response.usage?.totalTokens}`);
}
```

## API 参考

### 构造器

```typescript
new AnthropicProvider(config: AnthropicProviderConfig)
```

**配置选项 :**

-   `providerName`: 必须是 `'anthropic'`
-   `apiKey`: Anthropic API 键(需要)
-   `defaultModel`: 要使用的默认模式( 可选, 默认为 `claude-3-opus-20240229`(中文(简体) )
-   `baseURL`: 自定义 API 基础 URL (可选)
-   `timeout`: 请求超时以毫秒计( 可选, 默认为6000)
-   `maxRetries`: 最多重试次数(可选,默认为3)

### 方法

#### `complete(request: CompletionRequest): Promise<CompletionResponse>`

生成文本补全 .

```typescript
const response = await provider.complete({
  messages: [
    { role: 'user', content: 'Hello!' }
  ],
  maxTokens: 100,
  temperature: 0.7
});
```

#### `streamComplete(request: CompletionRequest): AsyncGenerator<StreamChunk>`

生成流式文本补全 .

```typescript
for await (const chunk of provider.streamComplete({
  messages: [
    { role: 'user', content: 'Write a short poem about coding' }
  ]
})) {
  process.stdout.write(chunk.delta);

  if (chunk.finishReason) {
    console.log(`\n\nFinished: ${chunk.finishReason}`);
  }
}
```

#### `analyzeImage(imageData, prompt, model?, maxTokens?, temperature?): Promise<CompletionResponse>`

利用克洛德的视觉能力分析一幅图像.

```typescript
const imageBuffer = fs.readFileSync('diagram.png');

const analysis = await provider.analyzeImage(
  imageBuffer,
  'Describe this architecture diagram in detail',
  'claude-3-opus-20240229'
);

if (analysis.success) {
  console.log(analysis.content);
}
```

#### `extendedContextCompletion(request): Promise<CompletionResponse>`

扩展上下文处理请求( 200K 令牌) .

```typescript
const longDocument = fs.readFileSync('very-long-document.txt', 'utf-8');

const response = await provider.extendedContextCompletion({
  messages: [
    { role: 'user', content: `Summarize this document:\n\n${longDocument}` }
  ],
  enableExtendedContext: true
});
```

#### `estimateCost(request: CompletionRequest): CostEstimate`

在发出请求之前估计请求的费用.

```typescript
const cost = provider.estimateCost({
  messages: [{ role: 'user', content: 'Hello world!' }],
  model: 'claude-3-opus-20240229',
  maxTokens: 100
});

console.log(`Estimated cost: $${cost.estimatedCostUSD.toFixed(4)}`);
```

#### `getAvailableModels(): Promise<ModelInfo[]>`

获取所有可用的克洛德模型的信息.

```typescript
const models = await provider.getAvailableModels();

models.forEach(model => {
  console.log(`${model.name}: ${model.contextWindow} tokens`);
});
```

#### `checkHealth(): Promise<HealthStatus>`

请检查authropic API是否可用 .

```typescript
const health = await provider.checkHealth();

if (health.status === 'healthy') {
  console.log(`API is healthy (latency: ${health.latency}ms)`);
}
```

## 可用模式

| 型号 | 身份证 | A. 背景情况 | 产出 | 费用(每100兆令牌的入/出) |
| --- | --- | --- | --- | --- |
| **克劳德 3 Opus** | `claude-3-opus-20240229` | 200 000K 电话 | 4096 (英语) | 15美元/75美元 |
| **克洛德3号卫星** | `claude-3-sonnet-20240229` | 200 000K 电话 | 4096 (英语) | 3美元/15美元 |
| **克劳德 三海库** | `claude-3-haiku-20240307` | 200 000K 电话 | 4096 (英语) | 0.25美元/1.25美元(美元) |

所有模型支持 :

-   文本补全
-   流线
-   远景分析
-   扩展上下文( 200K 令牌)

## 处理错误

提供者返回结构化错误响应 :

```typescript
const response = await provider.complete({
  messages: [{ role: 'user', content: 'Test' }]
});

if (!response.success) {
  console.error('Error:', response.error);
}
```

## 限制

### 嵌入层

Anthropic 不提供嵌入式API. 使用 `@bernierllc/ai-provider-openai` 用于嵌入的:

```typescript
const embeddingResponse = await provider.generateEmbeddings({
  input: 'test text'
});

// Returns: { success: false, error: 'Anthropic does not provide an embeddings API...' }
```

### 内容调和

Claude有内在的安全特征(宪法AI),所以不需要单独的节制API:

```typescript
const moderation = await provider.moderate('content');

// Always returns: { success: true, flagged: false, ... }
```

## 一体化状况

-   **锁定器**: QQ综合 - 用途 `@bernierllc/logger` 错误记录
-   **多克套装**: QQ 准备 - 完整类型Doc/JSDoc 文档
-   **从不**:QQ 可选 - 可用于监测和衡量标准

## 高级使用

### 模型比较

```typescript
const models = await provider.getAvailableModels();

models.forEach(model => {
  console.log(`${model.name}:`);
  console.log(`  Context: ${model.contextWindow.toLocaleString()} tokens`);
  console.log(`  Capabilities: ${model.capabilities.join(', ')}`);
  if (model.pricing) {
    console.log(`  Input: $${model.pricing.inputPricePerToken * 1000000}/M tokens`);
    console.log(`  Output: $${model.pricing.outputPricePerToken * 1000000}/M tokens`);
  }
});
```

### 复杂的原因任务

```typescript
// Claude excels at complex reasoning and analysis
const response = await provider.complete({
  messages: [
    {
      role: 'user',
      content: `Analyze this code architecture and suggest improvements:

[Large codebase content...]

Consider: scalability, maintainability, security, performance`
    }
  ],
  model: 'claude-3-opus-20240229',
  maxTokens: 4096,
  temperature: 0.3 // Lower temperature for analytical tasks
});
```

### 具有多图像的视野

```typescript
// Analyze multiple images in sequence
const images = ['image1.png', 'image2.png', 'image3.png'];

for (const imagePath of images) {
  const imageBuffer = fs.readFileSync(imagePath);

  const analysis = await provider.analyzeImage(
    imageBuffer,
    'What do you see in this image?'
  );

  console.log(`${imagePath}: ${analysis.content}`);
}
```

## 类型脚本

```typescript
import type {
  AnthropicProviderConfig,
  AnthropicVisionRequest,
  AnthropicExtendedContextRequest
} from '@bernierllc/ai-provider-anthropic';

import type {
  CompletionRequest,
  CompletionResponse,
  StreamChunk,
  ModelInfo,
  HealthStatus,
  CostEstimate
} from '@bernierllc/ai-provider-core';
```

## 许可证

版权(c)2025 Bernier有限责任公司。 版权所有.

## 另见

-   [@bernierllc/ai-professor-core (英语)](https://npmcn.com/package/%40bernierllc/ai-provider-core) - 摘要提供者接口
-   [@bernierllc/ai-propei 提供商-openai](https://npmcn.com/package/%40bernierllc/ai-provider-openai) - OpenAI 供应商执行
-   [@bernierllc/retry-policy (英语)](https://npmcn.com/package/%40bernierllc/retry-policy) - 重试此软件包所用的逻辑
-   [@ bernierllc/ 拖放器](https://npmcn.com/package/%40bernierllc/logger) - 这个软件包使用的日志

## 常见问题

### @bernierllc/ai-provider-anthropic 是什么？

Anthropic Claude API 执行统一的 AI 提供者接口的适配器

### 如何安装 @bernierllc/ai-provider-anthropic？

在项目目录运行 npm install @bernierllc/ai-provider-anthropic，或使用 pnpm add / yarn add / bun add。

### @bernierllc/ai-provider-anthropic 支持 TypeScript 吗？

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

### @bernierllc/ai-provider-anthropic 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @bernierllc/ai-provider-anthropic 可以商用吗？

@bernierllc/ai-provider-anthropic 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @bernierllc/ai-provider-anthropic 的下载量有多少？

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

### @bernierllc/ai-provider-anthropic 还在维护吗？

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

