@codeworksh/aikit

中文文档
0.14.1发布于 2026/11/15MITTypeScriptES Module构建来源已验证近 30 天下载 2万

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

中文使用文档
文档目录10 节
  1. 目录
  2. 安装
  3. 支持供应商
  4. 快速启动
  5. 工具
  6. 供应商和模式
  7. CLI 工具
  8. 模型生成
  9. OAuth 供应商
  10. 贡献

@ codeworksh/ aikit

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

目录

安装

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(中文(简体) )

快速启动

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 为函数调用和计划验证提供本地支持.

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 使用一个登记册获取模型规格和元数据.

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。 。 。 .

pnpm aikit modelgen [path]

OAuth 供应商

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

# 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 共发布 206 个版本,首次发布于 2026/04/02;过去 12 个月发布了 206 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.14.1latest2026/11/15今天
0.14.1-dev.20261115060350dev2026/11/15今天
0.14.0-canary.154.1.g51a2e58acanary2026/11/15今天
0.14.0-canary.153.1.gb9173fe62026/11/151 天前
0.14.0-canary.152.1.g0c0579e72026/11/151 天前
0.14.0-canary.151.1.g648247082026/11/141 天前

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