mcpField
D
deepgram-js-management-api

deepgram-js-management-api

github.com/deepgram云与 DevOps27756 次安装今天更新
代码仓库

关于 deepgram-js-management-api

面向 JavaScript/TypeScript 开发者的 Deepgram 管理 REST API 技能,可用于管理项目、凭据、成员、用量、账单及模型查询。

主要功能

  1. 01管理项目和 API 密钥
  2. 02管理成员与邀请
  3. 03查看用量和账单
  4. 04列出全局及项目模型
  5. 05查询 Voice Agent think 模型

适用场景

  1. 01检查项目成员和权限
  2. 02创建或删除 API 密钥与邀请
  3. 03跟踪项目用量和账单
  4. 04查找项目可用模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/deepgram/deepgram-js-sdk --skill deepgram-js-management-api

安装后在 Claude Code 中输入/deepgram-js-management-api确认已加载。

详细介绍

使用 Deepgram 管理 API(JavaScript / TypeScript SDK)

/v1/projects、/v1/models 及相关项目子资源下的管理型 REST 端点。

何时使用此产品

  • 项目:列出、获取、更新、删除项目或退出项目。
  • 密钥:列出、获取、创建和删除 API 密钥。
  • 成员 + 邀请:查看成员、更新权限范围、创建和删除邀请。
  • 用量 + 账单:查看请求、用量、用量明细、余额、购买记录和账单明细。
  • 模型:列出全局模型和项目级模型。
  • Agent 思考模型:发现 Voice Agent think 设置可用的模型提供方。

以下情况请使用其他技能:

  • 想要运行实时 websocket Agent 会话 → deepgram-js-voice-agent。
  • 想要进行转录或合成调用,而不是项目/管理 API 调用 → 使用对应产品的技能。

身份验证

require("dotenv").config();

const { DeepgramClient } = require("@deepgram/sdk");

const deepgramClient = new DeepgramClient({
  apiKey: process.env.DEEPGRAM_API_KEY,
});

大多数示例还依赖 process.env.DEEPGRAM_PROJECT_ID 进行项目级调用。

快速入门 — 项目 + 模型

摘自 examples/13-management-projects.ts、examples/19-management-models.ts 和 examples/32-management-project-models.ts:

const projectId = process.env.DEEPGRAM_PROJECT_ID;

const projects = await deepgramClient.manage.v1.projects.list();
console.log("Projects:", JSON.stringify(projects, null, 2));

const project = await deepgramClient.manage.v1.projects.get(projects.projects[0].project_id);
await deepgramClient.manage.v1.projects.update(project.project_id, {
  name: "Naomi's Sandbox",
});

const models = await deepgramClient.manage.v1.models.list();
const projectModels = await deepgramClient.manage.v1.projects.models.list(
  projectId,
  { include_outdated: false },
);

快速入门 — 密钥 / 成员 / 邀请 / 用量 / 账单

基于 examples/14-18:

const projectId = process.env.DEEPGRAM_PROJECT_ID;

await deepgramClient.manage.v1.projects.keys.list(projectId);
await deepgramClient.manage.v1.projects.members.list(projectId);
await deepgramClient.manage.v1.projects.members.invites.create(projectId, {
  email: "[email protected]",
  scope: "member",
});
await deepgramClient.manage.v1.projects.requests.list(projectId, {});
await deepgramClient.manage.v1.projects.usage.get(projectId, {});
await deepgramClient.manage.v1.projects.billing.balances.list(projectId);

Voice Agent 思考模型发现:

await deepgramClient.agent.v1.settings.think.models.list();

关键参数 / API 接口

  • 项目:client.manage.v1.projects.list/get/update/delete/leave。
  • 密钥:client.manage.v1.projects.keys.list/create/get/delete。
  • 成员:client.manage.v1.projects.members.list/delete 和 members.scopes.list/update。
  • 邀请:client.manage.v1.projects.members.invites.list/create/delete。
  • 请求 + 用量:projects.requests.list/get、projects.usage.get、projects.usage.breakdown.list、projects.usage.fields.list。
  • 账单:projects.billing.balances.*、projects.billing.breakdown.list、projects.billing.fields.list、projects.billing.purchases.list。
  • 模型:client.manage.v1.models.list/get 和 client.manage.v1.projects.models.list/get。

限制

当前的 JS SDK 不提供 Voice Agent 持久化配置的 CRUD 端点。仓库提供了 client.agent.v1.settings.think.models.list() 用于发现模型,但没有 voice_agent.configurations.* 这一类辅助方法。

API 参考(分层)

  1. 仓库内参考:reference.md → Manage V1 Models、Manage V1 Projects、Manage V1 Projects Keys、Members、Models、Requests、Usage、Billing *,以及 Agent V1 Settings Think Models。
  2. 规范 OpenAPI(REST):https://developers.deepgram.com/openapi.yaml
  3. 规范 AsyncAPI(WSS):https://developers.deepgram.com/asyncapi.yaml
  4. Context7:库 ID /llmstxt/developers_deepgram_llms_txt
  5. 产品文档:

注意事项

  1. 命名空间深度很重要。 大多数管理调用位于 client.manage.v1.projects.* 下,而不是根客户端上。
  2. 项目级模型与全局模型不同。 /v1/models 返回公开模型;/v1/projects/{id}/models 可能包含私有模型或自定义访问权限。
  3. 源码中将 projects.usage.get(...) 标记为已弃用。 如需更丰富的报告,优先使用 projects.usage.breakdown.list(...)。
  4. 破坏性操作确实会生效。 delete、leave、移除成员和删除密钥都不适合作为安全的示例调用。
  5. 管理 API 与区域 STT 路由并不相同。 examples/33-configuration-eu-endpoint.ts 明确指出,管理操作仍使用默认的美国端点。
  6. 返回的 ID 可能嵌套在多个层级中。 示例中的密钥查询使用 keys.api_keys[0].api_key.api_key_id;硬编码路径前,请先检查实际响应结构。
  7. 没有用于持久化 Agent 配置的辅助工具。 如需对 Voice Agent 配置执行 CRUD 操作,目前请使用原始 HTTP。

此仓库中的示例文件

  • examples/13-management-projects.ts
  • examples/14-management-keys.ts
  • examples/15-management-members.ts
  • examples/16-management-invites.ts
  • examples/17-management-usage.ts
  • examples/18-management-billing.ts
  • examples/19-management-models.ts
  • examples/29-management-usage-breakdown.ts
  • examples/30-management-billing-detailed.ts
  • examples/31-management-member-permissions.ts
  • examples/32-management-project-models.ts

中央产品技能

如需跨语言的 Deepgram 产品知识——整合后的 API 参考、文档查找器、可运行的专项示例、第三方集成示例和 MCP 设置——请安装中央技能:

npx skills add deepgram/skills

此 SDK 提供符合各语言习惯的代码技能;deepgram/skills 提供跨语言产品知识(参见 api、docs、recipes、examples、starters、setup-mcp)。

评论

支持 Markdown