
AIRI 接入 CometAPI一站式配置聊天、TTS 语音合成与 STT 语音识别【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi导读本文讲解如何在 AIRI 中接入 CometAPI 提供者实现用同一个 CometAPI 账号同时完成聊天模型、语音合成TTS与语音识别STT三类能力的配置。读完本文你将掌握 CometAPI API Key 的获取与安全保管方式、AIRI 设置界面中的配置路径、自动校验与 Ping API 的验证机制以及配置失败时的排错思路并从源码层面理解这套OpenAI 兼容校验链路是如何工作的。为什么选择 CometAPICometAPI 是 AIRI 中一类聚合型提供者它既为聊天模型提供推理服务也拥有独立的 TTS文本转语音与 STT语音转文本服务页面。因此如果你希望用同一个 CometAPI 账号一次性配置好聊天、语音合成和语音识别选择这个提供者是最直接的方案。这一点在 AIRI 源码中体现得很清楚CometAPI 提供者定义 一共注册了三个提供者实例提供者 ID名称任务类型comet-apiCometAPIchat聊天comet-api-speechCometAPI Speechtext-to-speech语音合成comet-api-transcriptionCometAPI Transcriptionspeech-to-text、automatic-speech-recognition、asr、stt语音识别三者共享同一份配置结构apiKeybaseUrl也就是说只需要一份凭据就可以在 AIRI 的聊天、语音合成、语音识别三个模块中分别选用 CometAPI。仓库中的提供者定义测试也明确断言了comet-api-speech与comet-api-transcription均已注册。第一步获取 API Key登录 CometAPI 控制台的令牌页面https://www.cometapi.com/console/token创建一个 API Key。复制生成的 API Key留待下一步在 AIRI 中填写。⚠️API Key 安全警告请勿将 API Key 提交到版本库、不要让它出现在截图里也不要分享给任何人。AIRI 的设置引导页也内置了相同的安全提示见 英文设置文案AIRI 完全在你的本机本地运行不会窃取你的 AI/LLM 提供者凭据但 API Key 属于敏感信息务必妥善保管。第二步在 AIRI 中配置 CometAPI配置入口路径为设置 → 提供者 → 聊天 → Comet API在编辑表单中填写以下字段字段说明默认值API Key上一步在 CometAPI 控制台创建的密钥必填无Base URLCometAPI 的 OpenAI 兼容接口地址https://api.cometapi.com/v1/其中 API Key 字段在 UI 中以password类型渲染输入时打码显示Base URL 字段可留空为空时会自动采用默认值https://api.cometapi.com/v1/。从源码看这份配置由 zod schema 定义comet-api/index.tsconst cometApiConfigSchema z.object({ apiKey: z.string(API Key), baseUrl: z .string(Base URL) .optional() .default(https://api.cometapi.com/v1/), })validationRequiredWhen(config)返回!!config.apiKey?.trim()即只要 API Key 非空AIRI 就会认为配置进入可校验状态并自动触发校验API Key 为空时则保持unconfigured未配置状态。聊天提供者在创建时会将配置合并为createChatProvidercreateModelProvider两个能力comet-api/index.ts即既能对话、又能枚举模型列表。第三步验证配置是否生效AIRI 会在你编辑设置的过程中自动进行配置校验并且界面中会提供Ping API按钮用于对真实请求做一次探测对应界面文案Ping API/Ping...见 settings.yaml。CometAPI 聊天提供者启用的校验项为ProviderValidationCheck.ModelList与ProviderValidationCheck.ChatCompletionscomet-api/index.ts它们由通用的 OpenAI 兼容校验器createOpenAICompatibleValidators实现validators/openai-compatible.ts。这套校验链路在底层做了四件事配置合法性检查check-configAPI Key 非空、Base URL 非空、且 Base URL 必须是可解析的绝对 URL否则直接判定为无效。连通性检查check-connectivity向{baseUrl}/models发起带Authorization: Bearer apiKey的 GET 请求10 秒超时AbortControllersetTimeout(10_000)返回 5xx 或网络错误会被判定为连通性失败openai-compatible.ts。模型列表检查check-model-list拉取模型列表并确认非空列表为空或请求失败都会给出明确的失败原因openai-compatible.ts。聊天补全探测check-chat-completions自动挑选一个可用模型发送一条内容为ping的用户消息max_tokens设为 16部分 OpenAI 兼容服务商不接受过小的输出上限网络错误视为连通性失败HTTP 400 或 2xx 视为探测通过openai-compatible.ts。值得注意的工程细节是聊天探测结果会被缓存并且用Mutex保证并发编辑时同一份配置只触发一次探测避免重复请求消耗配额openai-compatible.ts。此外设置引导页允许你选择是否启用向第一个可用聊天模型发送 ping 消息来检查可用性见 settings.yaml。配置校验状态在 types.ts 中定义为unconfigured | validating | configured | invalid | bypassed五种configured表示校验通过、invalid表示失败界面会据此给出对应的成功或失败提示。第四步选择模型设置 → 模块 → 意识校验通过后点击模型选择 →按钮进入设置 → 模块 → 意识Consciousness页面为 AIRI 的意识模块指定提供者与模型页面会列出当前已配置且可用的提供者并从 CometAPI 拉取可用模型列表供你选择如果模型列表拉取失败你可以展开自定义模型输入框Manual model name/Enter the model name to use with this provider手动填写 CometAPI 提供的精确模型 ID当前生效模型会以Current model:形式显示相关界面文案见 settings.yaml。进阶用同一账号配置 CometAPI 语音能力CometAPI 的优势在于它同时提供 TTS 与 STT 能力AIRI 也为它们注册了独立的提供者实例CometAPI Speechcomet-api-speech任务text-to-speech使用与聊天相同的apiKeybaseUrl配置结构复用providerCometAPI.createProviderConfig创建时合并createModelProvider与createSpeechProvider校验项为ProviderValidationCheck.ModelList即只要模型列表能拉取成功即视为可用comet-api/index.ts。CometAPI Transcriptioncomet-api-transcription任务speech-to-text/asr/stt声明了转写能力参数protocol: http、generateOutput: true、streamOutput: false、streamInput: false即走 HTTP 请求、一次性返回完整转写结果、不支持流式输入输出创建时合并createModelProvider与createTranscriptionProvider并对transcription方法做了一次包装使其可以透传额外的请求参数extraOptionscomet-api/index.ts。在 AIRI 中这两个语音提供者会出现在对应的TTS语音合成与STT语音识别提供者选择列表中配合聊天提供者即可实现一个 CometAPI 账号、三种能力全覆盖的配置。问题排查当提供者校验失败时请按以下顺序检查与原文档一致并补充底层校验逻辑对应的现象API Key 是否正确复制时是否包含空格、换行或缺失字符。配置校验器会对 API Key 做trim()后再判断纯空串会被直接拒绝。可用额度与配额CometAPI 账号是否还有可用积分/配额。聊天探测ChatCompletions检查会真实发起一次ping请求额度耗尽或触发限流时会表现为聊天补全检查失败。请求限制Rate Limit检查是否触发了 CometAPI 的速率限制必要时等待一段时间后重试界面提供Retry重试入口。网络连接本机到https://api.cometapi.com/v1/的连通性。底层连通性检查会 GET/models端点网络不可达、代理拦截或 5xx 服务端错误都会导致check-connectivity失败。Base URL 是否保持默认确认 Base URL 仍为https://api.cometapi.com/v1/且结尾带/v1/路径否则模型列表与对话请求可能 404。模型 ID 是否精确如果模型列表加载不出来进入设置 → 模块 → 意识手动输入 CometAPI 官方文档中给出的准确模型 ID注意大小写与版本后缀。总结CometAPI 是 AIRI 中少见的聊天 语音合成 语音识别三合一提供者只需一份 API Key就能在设置 → 提供者 → 聊天 → Comet API完成核心配置并通过 AIRI 内置的自动校验与 Ping API 确认可用性随后在设置 → 模块 → 意识中选择模型投入使用。其底层实现comet-api/index.ts完全复用了通用的 OpenAI 兼容校验链路validators/openai-compatible.ts因此配置体验与其他 OpenAI 兼容提供者保持一致排错思路也可以相互迁移。【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考