# @codeworksh/aikit 中文文档

规范地址：https://npmcn.com/package/%40codeworksh/aikit/

版本：0\.14\.1
npm 元数据更新时间：2026-11-15T06:16:37.727Z
中文译文更新时间：2026-11-15T06:17:58.964Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：1.6 MB，55 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：16 个
- 首次发布：2026-04-02T12:05:15.820Z
- 最新版本发布：2026-11-15T06:16:37.315Z
- 近 30 天下载量：19998（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：206（近 12 个月 206 个）

## 中文简介

TypeScript SDK提供统一的API,用于与多个LLM提供者合作,自动模型发现等.

## 安装

```sh
npm install @codeworksh/aikit
```

也可以使用：`pnpm add @codeworksh/aikit`、`yarn add @codeworksh/aikit`、`bun add @codeworksh/aikit`

## README

# @ codeworksh/ aikit

AiKit是一个 **类型脚本 SDK** 提供统一的API,用于与多个LLM提供商合作,自动模型发现,提供商配置,信使和成本跟踪,以及会中交接到其他模型. 它给了你基本原始的 流出LLM反应 没有额外的bloat, 让你自己处理管弦乐.

## 目录

-   [安装](https://npmcn.com/package/%40codeworksh/aikit/#readme-installation)
-   [支持供应商](https://npmcn.com/package/%40codeworksh/aikit/#readme-supported-providers)
-   [快速启动](https://npmcn.com/package/%40codeworksh/aikit/#readme-quick-start)
-   [工具](https://npmcn.com/package/%40codeworksh/aikit/#readme-tools)
-   [供应商和模式](https://npmcn.com/package/%40codeworksh/aikit/#readme-providers-and-models)
-   [CLI 工具](https://npmcn.com/package/%40codeworksh/aikit/#readme-cli-tools)
    -   [模型生成](https://npmcn.com/package/%40codeworksh/aikit/#readme-model-generation)
    -   [OAuth 供应商](https://npmcn.com/package/%40codeworksh/aikit/#readme-oauth-providers)
-   [贡献](https://npmcn.com/package/%40codeworksh/aikit/#readme-contribute)

## 安装

```bash
npm install @codeworksh/aikit
```

节点 `>=22.0.0` 需要时间.

## 支持供应商

建于Vercel AI SDK上方, `@codeworksh/aikit` 在本地支持各种提供者:

-   **安东尼** (单位:千美元)`@ai-sdk/anthropic`(中文(简体) )
-   **开放AI** (单位:千美元)`@ai-sdk/openai`(中文(简体) )
-   **谷歌** (单位:千美元)`@ai-sdk/google`(中文(简体) )
-   **Google Vertex AI (谷歌Vertex AI) 互联网档案馆的存檔,存档日期2013-10-02** (单位:千美元)`@ai-sdk/google-vertex`(中文(简体) )
-   **页:1 大赦国际** (单位:千美元)`@ai-sdk/xai`(中文(简体) )
-   **打开路透社** (单位:千美元)`@openrouter/ai-sdk-provider`(中文(简体) )
-   **OpenAI 兼容的 API** (单位:千美元)`@ai-sdk/openai-compatible`(中文(简体) )

## 快速启动

```ts
import { llm, stream, Message } from "@codeworksh/aikit";

// Resolve a model from the built-in registry
const model = await llm("anthropic", "claude-haiku-4-5-20251001");
if (!model) throw new Error("Model not found");

// Setup conversation context
const context: Message.Context = {
    systemPrompt: "You are a helpful coding assistant.",
    messages: [
        Message.createUserMessage({
            role: "user",
            time: { created: Date.now() },
            parts: [{ type: "text", text: "Write a simple loop in TypeScript." }],
        }),
    ],
};

// Option 1: Stream events
const s = stream(model, context, { apiKey: process.env.ANTHROPIC_API_KEY });

for await (const event of s) {
    if (event.type === "text.delta") {
        process.stdout.write(event.delta);
    }
}

const finalMessage = await s.result();
console.log(`\nMessage ID: ${finalMessage.messageId}`);

// Option 2: Get complete response without streaming
const message = await stream.complete(model, context, { apiKey: process.env.ANTHROPIC_API_KEY });
console.log(message.parts);
```

## 工具

工具使LLMs能够与外部系统交互. `@codeworksh/aikit` 使用 TypeBox 为函数调用和计划验证提供本地支持.

```ts
import { Type, llm, stream, Message, validateToolArguments } from "@codeworksh/aikit";

const calculatorTool = {
    name: "calculator",
    description: "Evaluate arithmetic expressions",
    parameters: Type.Object({
        expression: Type.String(),
    }),
};

const context: Message.Context = {
    messages: [
        Message.createUserMessage({
            role: "user",
            time: { created: Date.now() },
            parts: [{ type: "text", text: "What is 25 * 18?" }],
        }),
    ],
    tools: [calculatorTool],
};

const response = await stream.complete(model, context, { apiKey: process.env.ANTHROPIC_API_KEY });

// Check for tool calls in the response
for (const part of response.parts) {
    if (part.type === "toolCall") {
        console.log(`Executing tool: ${part.name}`);

        // Validates arguments against TypeBox schema automatically
        const args = validateToolArguments(calculatorTool.parameters, part.arguments);
        // Execute your tool logic here...
    }
}
```

## 供应商和模式

`@codeworksh/aikit` 使用一个登记册获取模型规格和元数据.

```ts
import { llm } from "@codeworksh/aikit";

// Get all available providers
const providers = await llm.providers();
console.log(providers);

// Get all models for a specific provider
const anthropicModels = await llm.models("anthropic");

// Get a specific model directly
const gpt4 = await llm.model("openai", "gpt-4o");
```

## CLI 工具

`@codeworksh/aikit` 具有管理本地元数据和认证的CLI工具的船舶.

你可以用它来引用 `npx aikit` 或者说 `pnpm aikit`。 。 。 .

### 模型生成

生成 a `models.gen.json` 文件获取关于提供者及其可用模型的最新元数据 `models.dev`。 。 。 .

```bash
pnpm aikit modelgen [path]
```

### OAuth 供应商

管理OAuth对需要的提供者的证书,例如OpenAI Codex和GitHub Copilot.

```bash
# Start an OAuth login flow in your browser
pnpm aikit auth --openai-codex

# Codex with a device code instead: no localhost callback port, so it works
# over SSH, in containers, and when something else holds port 1455
pnpm aikit auth --openai-codex --device

# GitHub Copilot uses the device flow; add --enterprise <domain> for GitHub Enterprise
pnpm aikit auth --github-copilot

# Check the status of your stored credentials
pnpm aikit auth --openai-codex --status
pnpm aikit auth --github-copilot --status

# Refresh your current credentials
pnpm aikit auth --openai-codex --refresh

# Clear stored credentials
pnpm aikit auth --openai-codex --logout
pnpm aikit auth --github-copilot --logout
```

## 贡献

`@codeworksh/aikit` 开放给社区捐助。 请在提交拉力请求前确保提交问题。 该项目在接受新特征之前更倾向于公开的社区讨论.

## 常见问题

### @codeworksh/aikit 是什么？

TypeScript SDK提供统一的API,用于与多个LLM提供者合作,自动模型发现等\.

### 如何安装 @codeworksh/aikit？

在项目目录运行 npm install @codeworksh/aikit，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 aikit，可以用 npx aikit 直接运行。

### @codeworksh/aikit 支持 TypeScript 吗？

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

### @codeworksh/aikit 支持 ESM 还是 CommonJS？

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

### @codeworksh/aikit 需要什么版本的 Node\.js？

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

### @codeworksh/aikit 可以商用吗？

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

### @codeworksh/aikit 的下载量有多少？

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

### @codeworksh/aikit 还在维护吗？

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

