用途:在 JavaScript/TypeScript 项目中通过 @deepgram/sdk 调用 Deepgram 管理类 REST 接口(/v1/projects、/v1/models 及相关子资源),用于编写或审查相关代码。
主要能力:项目管理(列表、获取、更新、删除、退出);API 密钥管理(列表、获取、创建、删除);成员与邀请(查看成员、更新权限范围、创建/删除邀请);请求、用量与账单(请求列表、用量查询与分解、余额、购买、账单分解);模型(全局模型与项目级模型);以及为 Voice Agent think 设置发现可用模型提供方。
使用方式:需配置 DEEPGRAM_API_KEY,项目级调用还需 DEEPGRAM_PROJECT_ID。基础初始化示例:
require("dotenv").config(); const { DeepgramClient } = require("@deepgram/sdk"); const deepgramClient = new DeepgramClient({ apiKey: process.env.DEEPGRAM_API_KEY });
常用调用形如 deepgramClient.manage.v1.projects.list()、projects.models.list(projectId, { include_outdated: false })、projects.keys.list(projectId)、projects.members.invites.create(projectId, { email, scope })、projects.billing.balances.list(projectId) 等,think 模型发现用 deepgramClient.agent.v1.settings.think.models.list()。
适用场景:仓库内涉及管理 API 的脚本与示例,如 examples/13 至 19、29 至 32 等文件。
限制与注意:多数管理调用位于 client.manage.v1.projects.* 命名空间下,而非根客户端;全局与项目级模型不同,后者可能包含私有/自定义访问;projects.usage.get 在源码中已标记弃用,建议改用 usage.breakdown.list;删除、退出、移除成员、删除密钥等破坏性操作需谨慎;管理 API 与区域 STT 路由不同,管理仍走默认美国端点;返回 ID 可能嵌套(如 keys.api_keys[0].api_key.api_key_id),硬编码前先检查响应结构;当前 JS SDK 未暴露持久化 Voice Agent 配置 CRUD,需要时请使用原始 HTTP。