news 2026/9/12 12:34:16

在 AIRI 中接入 n1n:OpenAI 兼容聊天模型服务的配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 AIRI 中接入 n1n:OpenAI 兼容聊天模型服务的配置指南

在 AIRI 中接入 n1n: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-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi

n1n 是一家提供高性能 AI API 服务的云提供商,AIRI 以 OpenAI 兼容协议的方式将其接入"聊天"(chat)任务,让你在 n1n 账号上直接使用其模型服务。本文以 n1n 的接入文档为主线,结合 AIRI 仓库中provider-inference包的 n1n 服务商实现与校验器源码,完整讲解从准备服务访问、填写配置、执行验证到排障的每一步,读完即可在 AIRI 中完成 n1n 的配置与启用。

n1n 在 AIRI 中的定位

AIRI 通过"服务商"(Providers)机制统一管理各类模型推理服务。n1n 属于其中的云端服务商(在 stage-ui 的属性分类 中被标记为paidCloud,即付费云端服务),其能力范围为tasks: ['chat'],也就是提供聊天补全(chat completions)能力。

从 n1n 服务商实现 可以看到,其底层通过createOpenAI(来自@xsai-ext/providers/create)构造 OpenAI 兼容客户端,这意味着 n1n 暴露的是标准的 OpenAI 风格 API。因此,AIRI 中任何按 OpenAI 兼容协议编写的校验逻辑与调用链路都可以直接复用于 n1n。

核心配置项一览

n1n 服务商的配置结构(对应源码中的n1nConfigSchema,见 index.ts)只有两个字段:

配置项是否必填默认值说明
apiKey可选n1n 服务账号的 API Key,部署允许匿名访问时可留空
baseUrl可选https://api.n1n.ai/v1服务地址,界面中显示为默认 Base URL

两个字段在表单中分别以"密码框"(type: 'password')和普通文本框的形式呈现,对应的表单标签、占位文案均由国际化系统提供(见 zh-Hans/settings.yaml,其中 n1n 的描述文案为"n1n.ai - 高性能的 AI API 提供商")。

第一步:准备服务访问方式

在 AIRI 中配置之前,先要确认你的 n1n 服务访问信息:

  1. 打开并登录 n1n 的服务站点(n1n.ai),确认你的服务地址以及当前服务是否需要 API Key。
  2. 如果你的 n1n 部署允许匿名访问(即无需凭据即可调用),则确认该访问策略,后续在 AIRI 中按部署方说明将 API Key 留空。

凭据安全警告即使 API Key 为可选项,也不要公开你的私有服务地址、访问令牌或网关配置。服务地址与凭据一旦泄露,任何拿到信息的人都能调用你的模型额度。

第二步:在 AIRI 中配置 n1n

  1. 打开设置 → 服务商 → 聊天 → n1n。默认 Base URL 为https://api.n1n.ai/v1/
  2. 按 n1n 当前服务要求填写 API Key;如果你的部署允许匿名访问,则按部署方说明保留为空。

这里有一个与源码相关的细节:界面展示的默认 Base URL 带尾部斜杠(https://api.n1n.ai/v1/),而源码中的 schema 默认值是https://api.n1n.ai/v1(不带斜杠)。两者均可正常工作——校验器在构造模型列表请求时会自动兼容斜杠情况(见下文"验证机制")。若你手动修改 Base URL,建议保持以/v1结尾的标准 OpenAI 兼容路径格式。

为什么 API Key 可以是可选项

从源码实现看,apiKeybaseUrl均为可选字段,但服务商还定义了validationRequiredWhen(config) => !!config.apiKey?.trim(),也就是说:仅当填入了非空 API Key 时,才强制要求通过配置验证;留空时(匿名访问场景)则跳过强制校验。这与文档中"如果部署允许匿名访问,则保留为空"的指引完全一致。

createProvider(config)最终以createOpenAI(config.apiKey || '', config.baseUrl)构建客户端——匿名场景下以空字符串作为 API Key 传入,具体是否可用取决于 n1n 部署方的访问策略。

第三步:验证配置

配置填写完成后,按以下顺序完成验证与启用:

  1. Ping API:点击此按钮测试网络、服务地址和凭据是否正确。该操作由服务商注册的验证器执行(见下文),会真实请求 n1n 的服务地址。
  2. 选择模型:测试成功后,从模型列表中选择要使用的模型。
  3. 再到设置 → 意识启用该服务商,即可在意识能力中使用 n1n 的模型。

n1n 服务商在 服务商注册表 中被导入并注册(id: 'n1n',排序order: 9),其验证器由通用工厂createOpenAICompatibleValidators生成,并启用了三项检查,完整实现见 openai-compatible.ts:

  • Connectivity(连通性检查):向{baseUrl}/models发起 GET 请求,若填写了 API Key 则附带Authorization: Bearer <apiKey>头,请求带 10 秒超时;服务端返回 5xx 或网络错误时判定失败(对应 openai-compatible.ts)。
  • ModelList(模型列表检查):调用模型列表接口,若返回的模型列表为空则判定失败(对应 openai-compatible.ts)。这解释了"测试成功后即可选择模型"的流程——模型下拉选项正是来自该接口。
  • ChatCompletions(聊天补全检查):自动从模型列表挑选一个可用模型,发送一条内容为ping的测试消息(max_tokens: 16),验证真实对话链路是否可用(对应 openai-compatible.ts)。

除此之外,服务商还注册了配置格式校验(check-config):校验 Base URL 必须是合法的绝对 URL(new URL可解析且包含 host),以及"填写了 API Key 时不能为空"等规则(见 openai-compatible.ts)。同类的 OpenAI 兼容校验器在provider-inference包内被大量服务商复用,并有对应的 校验器测试 覆盖,n1n 的"Ping API"按钮正是这套校验体系的入口。

排查:验证失败怎么办

验证失败时,按以下顺序排查:

  1. 服务地址:确认 Base URL 是否填写正确、可从运行 AIRI 的设备访问。注意连通性检查会真实请求{baseUrl}/models,如果该地址在目标网络不可达(如内网网关、需代理的地址),会直接报网络错误。
  2. API Key:确认凭据是否有效、是否过期。留意validationRequiredWhen逻辑——一旦填写了 API Key 就会走完整的三项检查,错误的 Key 会在聊天补全检查中失败;若服务允许匿名访问,则按部署方说明将 API Key 留空,不要填入无效字符串。
  3. 访问策略:确认 n1n 部署方当前是否对该地址、该模型开放访问,包括模型白名单、匿名策略、限流等限制。

另外需注意一个校验器的行为细节:聊天补全检查会先尝试拉取模型列表并自动挑选一个模型(跳过embedtts等非聊天模型)进行探测。如果 n1n 当前没有可用的聊天模型,校验会失败并提示"没有可用于验证的模型,请手动配置模型后重试"。此时应先在服务商配置中手动指定模型,再重新执行 Ping 验证。

相关参考

  • n1n 接入文档(本文原始依据)
  • n1n 服务商源码实现
  • OpenAI 兼容校验器实现
  • 服务商注册表
  • n1n 服务商分类与属性
  • n1n 本地化文案

该文档位于"意识(consciousness)"配置分区,同目录下还有 OpenAI 接入文档、DeepSeek 接入文档 等同类的服务商配置指南,可作为横向参考。

【免费下载链接】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-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 12:32:57

Power BI自定义地图开发:高德API与Leaflet.js实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 12:28:14

Midscene.js:基于视觉大模型的跨端 UI 自动化测试框架

Midscene.js&#xff1a;基于视觉大模型的跨端 UI 自动化测试框架 【免费下载链接】midscene GUI Agent for E2E Testing 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene Midscene.js 是面向 E2E 测试的 GUI Agent 框架&#xff1a;它不解析 DOM&#xff…

作者头像 李华
网站建设 2026/9/12 12:26:33

5分钟跑通视觉小说翻译:LunaTranslator 从克隆到翻译首句

5分钟跑通视觉小说翻译&#xff1a;LunaTranslator 从克隆到翻译首句 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator 打开一款日版视觉小说&#xff0c;满屏的假名和汉字…

作者头像 李华
网站建设 2026/9/12 12:26:21

AI无痕文字替换:Python实现智能图片文字修改

1. 项目概述&#xff1a;当图片文字修改遇上AI大模型最近在帮朋友处理一份产品说明书时遇到个棘手问题——PDF文档里的技术参数需要更新&#xff0c;但原始设计文件早已丢失。传统PS修图不仅效率低下&#xff0c;边缘还总留有修补痕迹。这让我开始思考&#xff1a;在AI大模型技…

作者头像 李华
网站建设 2026/9/12 12:25:43

Upscayl批量放大完整指南:设置、参数与常见问题

Upscayl批量放大完整指南&#xff1a;设置、参数与常见问题 【免费下载链接】upscayl &#x1f199; Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl Upscayl是一款跨L…

作者头像 李华
网站建设 2026/9/12 12:24:53

AI辅助LaTeX写作工具评测与使用技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华