@naturali/sdk

中文文档
0.220.3发布于 2026/11/02UNLICENSEDTypeScriptESM + CJS零依赖

TypeScript SDK用于naturali。ai API,由OpenAPI规范生成

中文使用文档
文档目录6 节
  1. 使用
  2. 选项
  3. 电话的形状
  4. 类型
  5. 一代
  6. 版本控制

@naturali / sdk

的TypeScript SDK naturali.ai API,从 它的 OpenAPI规格.

pnpm add @naturali/sdk

使用

import { NaturaliClient } from '@naturali/sdk';

const naturali = new NaturaliClient({
  token: process.env.NATURALI_TOKEN, // nat_sk_… or a session access JWT
});

const { data, error } = await naturali.agents.listAgents({
  path: { project_id: 'proj_V1StGXR8Z5jdHi6B' },
  query: { limit: 10 },
});

if (error) {
  // The platform's error envelope, typed: { error: { code, message, details } }
  console.error(error);
} else {
  console.log(data.data);
}

方法永远不会抛出非2xx响应——它会解析为 { data, error }, 所以是机器可读的 code (approval_required, budget_exceeded, access_denied)作为类型化数据可用。

选项

客户总是与 https://api.naturali.ai -唯一的自然。ai API 起源,不可配置。

选项目的
token发送 Authorization: Bearer …. 接受一个 nat_sk_… API密钥或会话访问JWT。
headers最后合并,所以它可以覆盖上面的标题或添加您自己的。

没有 project 选项:项目范围内的操作需要 project_id 在 它的路径,这是API授权的唯一对象。

电话的形状

每个资源属性都镜像一个生成的服务类,并使用配置的 HTTP客户端已经绑定。参数遵循规范自己的结构和 snake_case 字段名:

await naturali.sessions.addSessionMessage({
  path: { project_id, agent_id, session_id },
  body: { message: 'What is the capital of France?' },
});

await naturali.knowledge.queryKnowledgeCollection({
  path: { project_id, collection_id },
  body: { query: 'refund policy', limit: 5 },
});

资源: agents, apiKeys, auth, channels, contacts, generations, knowledge, models, projects, providers, sessions, tools, traces.

naturali.http 为拦截器或一次性公开底层客户端 请求(naturali.http.get({ url: '/health' }))。

类型

规范中的每个模式都被导出为一个类型:

import type { Agent, AgentCreate, ErrorResponse } from '@naturali/sdk';

created_at / updated_at 是递给来电者的 Date 对象;一切 Else与线的形状完全匹配。

一代

src/generated/ 是构建输出——永远不要编辑它,也不要提交它。它是 重建的 api/openapi/v1/*.yaml 由 pnpm generate,这 typecheck, test 和 build 所有人先跑。看到 ../README.md 为 管道。

唯一的手写资料是 src/naturaliClient.ts.

版本控制

发布是自动的,版本是自动的 与API共享 @naturali/cli -一个号码,一个git标签,三个包。 @naturali/[email protected] 客户端是API 0.28.0,所以你安装的版本名称是你的合同 持有。

任何改变 api/openapi/v1/*.yaml 重新生成这个包并发布它, 因为规范就是它生成的东西 从 -所以一个新的版本可以意味着 API获得了资源,而不是手写的客户机发生了变化。

fix:/chore: 更改发布补丁和 feat: 从…中推断出的 压缩提交主题。每个案例都在合并时发布,打破更改 包括在内。请参阅存储库的 PIPELINE.md 和 CHANGELOG.md.

版本与发布记录

@naturali/sdk 共发布 420 个版本,首次发布于 2026/07/29;过去 12 个月发布了 420 个版本。

版本发布日期距今
0.220.3latest2026/11/021 天前
0.220.22026/11/021 天前
0.220.12026/11/021 天前
0.220.02026/11/021 天前
0.219.12026/11/011 天前
0.219.02026/11/011 天前

关于 @naturali/sdk 的常见问题

@naturali/sdk 是什么?

TypeScript SDK用于naturali。ai API,由OpenAPI规范生成

如何安装 @naturali/sdk?

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

@naturali/sdk 支持 TypeScript 吗?

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

@naturali/sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@naturali/sdk 可以商用吗?

@naturali/sdk 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@naturali/sdk 还在维护吗?

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