十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Automatisch 连接 OpenRouter 集成指南:API Key 配置、连接保存与校验原理

Automatisch 连接 OpenRouter 集成指南:API Key 配置、连接保存与校验原理 Automatisch 连接 OpenRouter 集成指南API Key 配置、连接保存与校验原理【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch本篇指南聚焦 Automatisch 开源工作流自动化平台中 OpenRouter 集成的连接配置完整讲解从获取 API Key、在 Automatisch 中填写连接信息、保存连接到底层源码如何校验密钥有效性的完整链路。读完本文你将掌握 OpenRouter 连接的标准配置流程并能理解 Automatisch 连接校验verifyCredentials与持续验证isStillVerified机制为后续编排创建聊天补全等 AI 工作流打好基础。OpenRouter 集成在 Automatisch 中的定位OpenRouter 是一个统一的 AI 模型网关通过一个 API Key 即可调用多种大语言模型。在 Automatisch 中OpenRouter 以标准应用App的形式存在其集成定义位于 packages/backend/src/apps/openrouter/index.jsexport default defineApp({ name: OpenRouter, key: openrouter, baseUrl: https://openrouter.ai, apiBaseUrl: https://openrouter.ai/api, iconUrl: {BASE_URL}/apps/openrouter/assets/favicon.svg, authDocUrl: {DOCS_URL}/apps/openrouter/connection, primaryColor: #71717a, supportsConnections: true, beforeRequest: [addAuthHeader], auth, actions, dynamicData, });从源码结构可以提炼几个关键事实supportsConnections: true表示该集成支持连接Connection概念即用户可保存 OpenRouter API Key 等凭据供多个流程Flow复用beforeRequest: [addAuthHeader]是所有请求发出前统一执行的拦截器负责把保存的 API Key 自动注入请求头authDocUrl: {DOCS_URL}/apps/openrouter/connection指向的正是本文讲解的连接指南即 packages/docs/pages/apps/openrouter/connection.md在 Automatisch 界面的连接配置页可以直接跳转查看集成目前内置一个动作ActionCreate chat completion和一组动态数据Dynamic DataList models下文会展开说明。前置准备在 OpenRouter 获取 API Key连接 OpenRouter 的唯一必需凭据就是 API Key获取步骤如下登录你的 OpenRouter 账号进入账户设置中的API Keys页面点击创建新 KeyCreate new key生成一串以sk-or-等前缀开头的密钥复制该 Key 备用。OpenRouter 通常只会在创建时完整展示一次 Key请及时妥善保存。说明API Key 属于敏感凭据不要提交到代码仓库或公开渠道。它只保存在你自己的 Automatisch 实例的数据库中作为连接Connection数据的一部分。在 Automatisch 中创建 OpenRouter 连接打开 Automatisch 界面进入连接Connections页面选择 OpenRouter 应用并点击新增连接然后按以下步骤操作对应原文档的完整 6 步流程在API Key字段中粘贴上一步创建的 OpenRouter API Key在Screen Name字段中填写任意显示名称用于在 Automatisch 界面中区分不同的连接例如我的 OpenRouter、生产环境点击Save保存连接保存成功后即可在流程编辑器中选择 OpenRouter 的动作开始使用该集成。其中两个表单字段的定义来自 packages/backend/src/apps/openrouter/auth/index.js字段 Key标签类型必填说明来自源码 descriptionscreenNameScreen Namestring是连接在界面中显示的名称apiKeyAPI Keystring是你 OpenRouter 账户的 API Key两个字段均标记为required: true因此不填写任何一项都无法保存连接。保存连接时发生了什么密钥校验原理点击 Save 后Automatisch 并不会直接入库而是先调用该应用定义的verifyCredentials函数做一次真实请求校验。OpenRouter 的实现位于 packages/backend/src/apps/openrouter/auth/verify-credentials.jsconst verifyCredentials async ($) { await $.http.get(/v1/models); }; export default verifyCredentials;结合 index.js 中apiBaseUrl: https://openrouter.ai/api这段代码等价于向 OpenRouter API 发起GET https://openrouter.ai/api/v1/models请求请求成功HTTP 2xx说明 API Key 有效连接保存成功请求失败如 401 Unauthorized说明 Key 无效或已过期Automatisch 会阻止连接保存你需要在 OpenRouter 重新生成 Key 后再试。这一机制保证了只有真实可用的凭据才能进入系统避免流程运行到一半才发现密钥失效。可以推断所有请求的鉴权头由 packages/backend/src/apps/openrouter/common/add-auth-header.js 统一注入const addAuthHeader ($, requestConfig) { if ($.auth.data?.apiKey) { requestConfig.headers.Authorization Bearer ${$.auth.data.apiKey}; } return requestConfig; };也就是说你填写的 API Key 会以Authorization: Bearer apiKey的形式附加到每一个经过该集成的 HTTP 请求上包括连接校验请求、模型列表请求和聊天补全请求。连接的持续健康检查isStillVerified除了创建连接时的校验Automatisch 还会定期对已保存的连接做仍然有效检查。OpenRouter 的实现在 packages/backend/src/apps/openrouter/auth/is-still-verified.jsconst isStillVerified async ($) { await $.http.get(/v1/models); return true; }; export default isStillVerified;它同样通过调用/v1/models来探测密钥可用性只要请求成功就返回true表示连接仍处于可用状态一旦请求失败例如 Key 被删除、账户被禁用该连接就会被标记为异常。这意味着即使你不主动更换 KeyAutomatisch 也能在后台持续跟踪连接的存活状态。连接成功后的能力Create chat completion 与 List models连接建立后就可以在流程中使用 OpenRouter 的动作了。目前集成提供唯一一个动作定义在 packages/backend/src/apps/openrouter/actions/create-chat-completion/index.js用于创建聊天补全Chat Completion。动作参数一览参数必填类型说明Model是下拉框要使用的模型选项来自动态数据listModelsMessages是动态列表对话消息每条包含 Rolesystem / assistant / user与 ContentTemperature否字符串采样温度越高越有创造性可用变量Maximum tokens否字符串生成的最大 token 数Stop sequences否动态列表检测到这些 token 时停止生成Top P否字符串核采样概率阈值Frequency Penalty否字符串频率惩罚抑制高频词重复Presence Penalty否字符串存在惩罚鼓励用词多样化从实现看Messages的默认值为[{ role: system, body: }]其中content字段支持插入变量便于把上游步骤的输出作为提示词传入。请求构造细节动作的run函数会把参数整理成 OpenAI 兼容的负载POST 到/v1/chat/completionsconst payload { model: $.step.parameters.model, messages, stop: nonEmptyStopSequences, temperature: castFloatOrUndefined($.step.parameters.temperature), max_tokens: castFloatOrUndefined($.step.parameters.maxTokens), top_p: castFloatOrUndefined($.step.parameters.topP), frequency_penalty: castFloatOrUndefined($.step.parameters.frequencyPenalty), presence_penalty: castFloatOrUndefined($.step.parameters.presencePenalty), }; const { data } await $.http.post(/v1/chat/completions, payload); $.setActionItem({ raw: data, });这里有一个值得注意的细节castFloatOrUndefined会把空字符串转换为undefined也就是说可选数值参数留空时不会出现在请求体中避免向 OpenRouter 发送非法参数同时stop序列会先过滤掉空的项再发送。动作执行结果通过$.setActionItem({ raw: data })写入后续步骤可引用的数据例如补全内容choices[0].message.content。模型下拉数据来源动作中 Model 下拉框的选项来自动态数据listModels实现在 packages/backend/src/apps/openrouter/dynamic-data/list-models/index.jsconst response await $.http.get(/v1/models); const models response.data.data.map((model) { return { value: model.id, name: model.id, }; }); return { data: models };它同样借助已保存的 API Key通过addAuthHeader注入拉取当前账户可用的模型列表并把每个模型的id同时作为选项的值与显示文本。因此你在界面上下拉选择模型时看到的选项是实时的、与你账户权限匹配的模型集合。常见问题排查保存连接时提示失败大概率是 API Key 无效、已删除或已过期。OpenRouter 的校验通过真实调用/v1/models完成请回到 OpenRouter 的 API Keys 页面重新生成并更新。连接之前可用、后来失效可以检查该连接的健康状态Automatisch 的isStillVerified会周期性验证若 Key 被吊销需要更新连接中的 API Key 并重新保存。动作执行报鉴权错误确认连接使用的 Key 仍有效且该 Key 具备调用所选模型的权限。小结OpenRouter 集成的连接流程虽然只有获取 Key → 填写 → 保存三步但其背后有一套完整的工程机制verifyCredentials保证保存时凭据真实可用isStillVerified保障运行期连接持续健康addAuthHeader负责为所有请求统一注入 Bearer 鉴权。理解这些源码细节有助于你在自托管 Automatisch 时快速定位连接与鉴权问题也能帮你更熟练地在流程中组合Create chat completion动作构建基于大模型的自动化工作流。【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表