@ fieldwork-ai/ codex- transport
AI SDK 的 ChatGPT 订阅传输 LanguageModelV4,带有设备代码和浏览器的 PKCE OAuth, 备忘读取并刷新租赁。 协议行为从 OpenAI 代码,在Apache -2.0的下方. 已锁定的上游修订和源路径 NOTICE。 。 。 .
需要节点24。 安装方式 pnpm add @fieldwork-ai/codex-transport。 。 。 .
import { createOpenAISubscriptionModel } from '@fieldwork-ai/codex-transport';
const model = createOpenAISubscriptionModel({
modelId: 'gpt-5.6-luna',
accessToken: credential.accessToken,
accountId: credential.accountId,
attribution: { originator: 'your-app', userAgent: 'your-app/1.0' },
});
把模型传给AI SDK的 generateText 或者说 streamText. 订阅全权证书属于使用客户端的个人。 此软件包不存储证书或提供共享代理 。 每个网络进入点都需要呼叫者归属;它从来不会假装是Codex CLI.
createOpenAISubscriptionModel 将项目信息输入可移植上下文并使用 CodexClient.complete 编号 : stream。客户端遵循 Codex 回复请求合同:账户和归属头,会话和线程头,模型/层次路由,加密推理重放, store: false压缩。 SSE 是默认,包括 transport: 'auto'; 明确 transport: 'websocket' 使用同一事件解码器在 Response WebSockets 上。 请求可以用 SDK 中止 abortSignal编辑 provider 身份遗存 openai-subscription,包括由更早的客户端保存的推理元数据.
可选客户端设置是 fedramp, (中文(简体) ), responsesLite, (中文(简体) ), compression, (中文(简体) ), baseUrl,以及 fetchFn. 响应-升出平稳的每行码前缀标识,将工具放入 additional_tools 条目,并将指令移动到输入中。 这是选入。 这里没有对话历史或工具执行循环.
图像默认为 PNG、 JPEG、 GIF 和 WebP; 呼叫者可以用 isModelImageMime。不支持的文件、外国推理和供应商特定内容在不丢弃存储的对话的情况下降解。 投影时从未获取 URL .
用于 OAuth, 使用 requestOpenAIDeviceAuthorization, (中文(简体) ), pollOpenAIDeviceAuthorization,以及 exchangeOpenAIDeviceAuthorization,或 loginOpenAISubscriptionDeviceCode 整个投票流程。 浏览器客户端使用 beginOpenAIBrowserAuthorization 财务报告和审定财务报表 exchangeOpenAIBrowserAuthorization;呼叫者拥有收听器 http://localhost:1455/auth/callback 并安全保留返回的 PKCE 验证器和状态直至交换。 OAuth呼叫验证回调状态,约束目的地,绑定响应机构,以及编辑提供者出错.
refreshWithCredentialLease 坐标刷新到 OpenAISubscriptionRefreshStore· ; InMemoryOpenAISubscriptionRefreshStore 提供。 执行基于数据库的呼叫者 read, (中文(简体) ), tryAcquire, (中文(简体) ), commit,以及 release,强制执行生成和租赁所有权。 加密应用程序存储的持久证书 .
fetchCodexUsage 返回常态化使用窗口. isOpenAISubscriptionUsageLimitError 承认服务的备抵错误代码。 API都没有要求应用程序的数据库或计费模型.
发展
从寄存器根运行 pnpm install --frozen-lockfile, (中文(简体) ), pnpm build,以及 pnpm test。这个软件包生活在 packages/codex-transport 并且独立于CLI发布. 测试包括消息投影、OAuth、同时刷新、使用正常化、SSE解码、请求信头/压缩以及认证的WebSockets。 首先通过发布此寄存器发布;消费者必须给已发布的版本打上针,而不是本地路径或补丁依赖.
许可证
现场工作 AI代码是在麻省理工学院或Apache-2.0下双许可的,由你选择. 由OpenAI衍生的Codex运输部分保留了Apache-2.0术语和归属。 见LICENSE,LICENSE-MIT,LICENSE-APACHE,以及运输通知。 属地保留自己的许可证。 软件包元数据 (MIT OR Apache-2.0) AND Apache-2.0 记录外地工作贡献的选择和所需的上游条件.