@ amigo-ai/ sdk
(原始内容存档于2018-10-21). Official TypeScript SDK for the Classic Amigo API.
产品文档 • 妇女 开发者指南 • 妇女 API 参考 • 妇女 实例 • 妇女 更改日志
从承诺的 Classic OpenAPI快照中打入,被作为无害环境管理和普通JS 发运,并被现有的 org 范围集成在最初的 Amigo 后端上使用 api.amigo.ai。 。 。 .
经典后端上下文
@amigo-ai/sdk 瞄准原始的 org 镜像后端。 现有的部署仍然使用这个表面来进行对话,服务,组织,用户,代理,上下文图,webhoks,和流出的事件.
产品状况
@amigo-ai/sdk 保留经典 API 支持的 TypeScript 客户端 .
平台API是新的工作空间范围能力首先落地的地方,但经典API并没有被突然关闭. Amigo会发布一条迁移路径,兼容性说明,并在要求客户移动生产工作量之前更新指导.
选择右侧 SDK
| 如果你需要的话 | 从这里开始 |
|---|---|
现有整形整合 api.amigo.ai | @amigo-ai/sdk |
新的工作空间范围整合 api.platform.amigo.ai | @amigo-ai/platform-sdk |
文档
| 需求 | 最佳切入点 |
|---|---|
| 产品概况和部署背景 | (原始内容存档于2017-10-21). docs.amigo.ai |
| 综合指导和开发者 | 开发者指南 |
| 生成 API 引用 | amigo-ai.github.io/amigo-typescript-sdk 存档副本 |
| 可运行示例 | 实例/ |
| 发布历史 | 变动情况 |
文件网站仍然是主要参考。 Repo-local 示例保持与已发运的包表面相近,并在 CI 中验证.
安装
npm install @amigo-ai/sdk
在提出请求之前,获取经典组织证书和一个有权阅读目标资源的用户. 将 API 密钥保存在服务器侧环境变量或密管中. 下面的例子读取了对话数据;它们要求进入现有的组织.
2.0.0生成的模型变化,请审查 当前 SDK 升级指导 ,并在选择版本时重新检查软件包注册.
快速启动
import { AmigoClient } from '@amigo-ai/sdk'
const client = new AmigoClient({
apiKey: 'your-api-key',
apiKeyId: 'your-api-key-id',
userId: 'user-id',
orgId: 'your-organization-id',
})
const conversations = await client.conversations.getConversations({
limit: 10,
sort_by: ['-created_at'],
})
console.log(conversations.conversations.map(conversation => conversation.id))
配置
| 选项 | 类型 | 需求 | 说明 |
|---|---|---|---|
apiKey | string | 对 | Amigo 仪表盘上的 API 密钥 |
apiKeyId | string | 对 | API 密钥标识配对 apiKey |
userId | string | 对 | 请求所代表的用户代号 |
orgId | string | 对 | 经典 API 的组织代号 |
baseUrl | string | 没有 | 覆盖 API 基础 URL 。 默认为 https://api.amigo.ai |
retry | RetryOptions | 没有 | 对瞬态 HTTP 故障重试策略覆盖 |
运行时间要求
SDK 支持节点 18+ 并且通过CI中的活性节点释放测试. 它依赖于网络标准原始人,例如: fetch, (中文(简体) ), AbortController, (中文(简体) ), URL,以及 TextEncoder。 。 。 .
生成类型
软件包再导出生成的 OpenAPI 类型, 因此应用程序代码可以直接对应于 API 合同键入 :
import type { components, operations, paths } from '@amigo-ai/sdk'
type Conversation = components['schemas']['ConversationInstance']
type GetConversationsQuery = operations['get-conversations']['parameters']['query']
公共建筑产生于承诺 specs/openapi-baseline.json 在这种重播中快照,所以类型输出在机器和CI运行中仍然具有决定性. 当你需要刷新快照,运行:
npm run openapi:sync
检索
HTTP 客户端在合理默认情况下重试瞬态失败 :
- 最大尝试 :
3 - 后退基数 :
250ms完全紧张 - 每次尝试的最大延迟 :
30s - 状态 :
408, (中文(简体) ),429, (中文(简体) ),500, (中文(简体) ),502, (中文(简体) ),503, (中文(简体) ),504 - 方法:
GET附加时POST打开429何时Retry-After当前
处理错误
import { AmigoClient, AuthenticationError, NetworkError } from '@amigo-ai/sdk'
try {
const client = new AmigoClient({
apiKey: 'your-api-key',
apiKeyId: 'your-api-key-id',
userId: 'user-id',
orgId: 'your-organization-id',
})
await client.organizations.getOrganization()
} catch (error) {
if (error instanceof AuthenticationError) {
console.error('Authentication failed:', error.message)
} else if (error instanceof NetworkError) {
console.error('Network error:', error.message)
} else {
console.error('Unexpected error:', error)
}
}