@elkpi/oxa

中文文档
3.3.0发布于 2026/11/12Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 5211

OpenAI和Anthropic API的纯在进程协议转换.

中文使用文档
文档目录7 节
  1. 安装
  2. 通过 IR 转换
  3. 流线
  4. 公共入境点
  5. 发展和释放核查
  6. 合同
  7. 杰森 入口

@elkpi/oxa (韩语)

OpenAI Chat 补全纯, 程序内 TypeScript 协议转换, OpenAI 响应,和 Anthropic 信件. 软件包不创建网络 请求、选择提供者、重试呼叫或管理认证.

安装

npm install @elkpi/oxa

oxa是只使用无害环境管理,支持Node.js 20及后期和Web运行时间,没有 运行时间依赖.

通过 IR 转换

每个协议面只转换到或从面中性中间体 代表权。 要在提供者之间转换, 需要组成两个操作 :

import { anthropic, chatcompletions, type Loss } from "@elkpi/oxa";

const decoded = chatcompletions.decodeRequest(chatCompletionsRequest);
const encoded = anthropic.encodeRequest(decoded.value);
const losses: Loss[] = [...decoded.losses, ...encoded.losses];

const anthropicRequest = encoded.value;

结构或生命周期出错 OxaError。语义空白被还原 命令 Loss[] 值;它们从未被默默地丢弃.

流线

面相课会逐渐曝光 Feed, (中文(简体) ), Flush, (中文(简体) ), Losses,以及 Apply 操作。 可在 stream 名称空间 :

import { stream } from "@elkpi/oxa";

const decoded = stream.decodeChatCompletions(nativeChunks);

for await (const event of decoded) {
  // Forward each IR event without buffering the complete stream.
}

const losses = decoded.losses();

工具调用参数碎片和 Anthropic input_json_delta.partial_json 仍然不透明 JSON 原始文本。 它们的拼写和片段顺序得以保留.

公共入境点

根导出常见错误、 丢失、 模型映射和命名空间 完成模块。 还提供了同等重点的无害环境管理切入点:

  • @elkpi/oxa/error
  • @elkpi/oxa/loss
  • @elkpi/oxa/modelmap
  • @elkpi/oxa/json
  • @elkpi/oxa/ir
  • @elkpi/oxa/sse
  • @elkpi/oxa/stream
  • @elkpi/oxa/openai/chatcompletions
  • @elkpi/oxa/openai/responses
  • @elkpi/oxa/anthropic/messages

一揽子计划包括了对根部和每个公共子路径的宣告.

发展和释放核查

从此目录 :

npm install
npm run release:check

release:check 能验证载体及其表率, 格式化、 类型安全、 节点和网络行为、 沥青球内容、 干净 已安装的消费者,以及Go参考执行。 它只会验证 释放准备,永远不要出版.

合同

转换行为由存储器的黄金向量定义,结构 形状按其JSON计划排列,语义按其规格排列,顺序如下:

  1. vectors/
  2. spec/schema/
  3. spec/*.md

TypeScript 执行程序使用共享的 185 向量金套件,其中 每个面孔的节点门,流出, 和反应跨protocol请求, 包括 Spec 2.0 M7/M9 推理和使用行为加 Spec 2.1 结构化 输出格式映射.

阿帕奇2.0 (英语). 见 LICENSE 财务报告和审定财务报表 NOTICE。 。 。 .

杰森 入口

13个面孔 decodeRequestJSON(raw, options) 3⁄4 ̄ ̧漯B decodeResponseJSON(raw, options)· 流解码器 7 feedJSON(raw){\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我.. parseJson {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 对象键序和工具参数文本; 对象接口也执行相同字段审计。不要用原生 JSON.parse ==============================================================================================================================================。

版本与发布记录

@elkpi/oxa 共发布 32 个版本,首次发布于 2026/09/17;过去 12 个月发布了 32 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.3.0latest2026/11/121 天前
3.2.02026/11/085 天前
3.1.02026/11/085 天前
3.0.12026/11/076 天前
3.0.02026/11/067 天前
2.5.32026/11/057 天前

关于 @elkpi/oxa 的常见问题

@elkpi/oxa 是什么?

OpenAI和Anthropic API的纯在进程协议转换.

如何安装 @elkpi/oxa?

在项目目录运行 npm install @elkpi/oxa,或使用 pnpm add / yarn add / bun add。

@elkpi/oxa 支持 TypeScript 吗?

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

@elkpi/oxa 支持 ESM 还是 CommonJS?

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

@elkpi/oxa 需要什么版本的 Node.js?

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

@elkpi/oxa 可以商用吗?

@elkpi/oxa 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@elkpi/oxa 的下载量有多少?

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

@elkpi/oxa 还在维护吗?

最新版本 3.3.0 发布于 2026/11/12(1 天前);至今共发布 32 个版本,其中过去 12 个月发布了 32 个;首次发布于 2026/09/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。