人工智能AI Agent大模型AI 应用媒体生成【免费下载链接】xiaobei为OPC/中小微企业量身打造的自媒体获客智能体项目地址https://gitcode.com/gh_mirrors/wi/xiaobei点击查看免费下载本文围绕仓库内唯一的 relay 接口契约文档 docs/API-CONTRACT.md 展开系统讲解该中转网关的全部端点、鉴权模型、响应包络与错误码约定并结合本仓库的 awada channel 插件、客户端签名封装与发布技能脚本给出源码级的接入与调试依据。读完本文你将掌握 xiaobei 中 relay 网关的完整接口面如何签发与使用X-OFB-Key、如何调用小红书/抖音/B站签名端点、如何通过无状态多租户端点发布公众号文章与企业微信朋友圈、以及如何对接 awada 消息网关。一、契约定位relay 与 client 的唯一耦合面docs/API-CONTRACT.md开篇即声明本文件是 relay 与 client 两仓的唯一耦合面改接口必须先改该文件并通知 client 仓维护者。这意味着relay服务端网关与 client本仓库侧各技能、插件各自独立演进靠这份契约保持可对接性契约中的每个端点、每个字段、每个错误码都是双方共同遵守的接口真相配套的两份同级文档分别是 docs/AWADA-CLIENT-TRANSPORT.mdawada-extension 与网关的传输契约与 docs/WXWORK-DRIVE-API.md企业微信微盘接口三份文档一起构成完整对接面。本仓库是 client 侧仓库契约的实际消费方包括awada/下的 openclaw channel 插件、crews/main/skills/_shared/relay-sign.ts 签名封装、crews/main/skills/wx-mp-publisher/SKILL.md 公众号发布技能、crews/main/skills/wxwork-moments/SKILL.md 朋友圈发布技能以及 skills/wxwork-drive/scripts/drive.py 微盘文件管理脚本。二、通用约定前缀、鉴权与响应包络2.1 路径前缀与兼容期所有接口统一挂在/api/v1/前缀之下兼容期内保留 tx-relay 旧路径。端点的完整形态为POST /api/v1/sign/xhs/headers、POST /api/v1/wx-mp/publish等。2.2 鉴权X-OFB-Key除POST /auth/issue与健康检查外所有请求必须携带X-OFB-Key: OFB_KEY请求头。这把 key 只做两件事验身份证明谁在用授权key 由 relay admin 签发其scopes数组决定能访问哪些资源如awada:lane:laneIdscope 才能访问对应 lane。客户端侧对 key 的校验同样严格。以 awada/src/accounts.ts 为例resolveAwadaAccount只有在relayBaseUrl与ofbKey同时存在时才认为账号configuredawada/src/transport.ts 在建立连接前会直接抛出[awada] relayBaseUrl not configured/[awada] ofbKey not configured。签名封装 crews/main/skills/_shared/relay-sign.ts 中assertOfbKey()在 key 缺失时会提示OFB_KEY 是 VIP Club 会员凭证由 ofb 掌柜签发。2.3 响应包络Envelope所有业务端点统一返回如下包络{ success: true, data: any, error: null, meta: { requestId: ..., ... } }错误时success: false、data: null、error: { code, message }。HTTP 状态码约定状态码含义200成功400入参错误401鉴权错误403越权429限流5xx服务错误注意例外awada 网关的鉴权失败401/429不走此信封/wxwork/*系列接口则采用{ ok: boolean, ...业务字段, detail: 上游原始回包 }的变体包络详见后文与 docs/WXWORK-DRIVE-API.md。三、auth 端点Phase 1OFB_KEY 的签发与吊销方法路径入参出参POST/auth/issue{ owner, scope, ttl? }运维侧强鉴权{ key, expiresAt }POST/auth/revoke{ key }{ revoked: true }签发POST /auth/issue由运维侧强鉴权调用传入owner归属方、scope权限范围如awada:lane:user与可选ttl有效期返回key与expiresAt。OFB_KEY的形态从 awada/src/onboarding.ts 的提示可见placeholder 为ofb_...。吊销POST /auth/revoke传入key返回{ revoked: true }。key 过期或被吊销后后续请求返回401见 docs/AWADA-CLIENT-TRANSPORT.md §2。在客户端OFB_KEY与 relay 地址统一由daemon.env注入模板见 config/daemon.env.template。签名封装 crews/main/skills/_shared/relay-sign.ts 默认指向https://relay.openclaw-for-business.com仅在自建 relay 时才覆盖RELAY_BASE_URL。四、sign 端点Phase 2只签不发把平台调用留给 client签名服务是整个契约中技术含量最高的部分。核心设计原则是relay 不提供 proxy 端点——不在 relay 上替 client 调用小红书/抖音/B站的业务接口。原因是 relay 是固定公网 IP频繁替 client 代请求会被平台风控甚至封 IP。因此 client 拿到签名 header / 签名参数后必须在自己的浏览器上下文/小程序里发请求到平台 API。4.1 POST /sign/xhs/headers — 小红书签名入参出参{ uri, method?, payload?, params?, cookies, xsec_appid? }{ data: { headers: { x-s, x-s-common, x-t, x-b3-traceid, x-xray-traceid, Cookie, ... } } }仅签名关键行为一次性同时返回新 老两套签名字段x-s老格式与x-s-common新格式。client 按场景选用取数 / 浏览 / feed 拉取→ 用x-s发布 / 写操作发笔记、点赞、关注、评论→ 用x-s-commonxsec_appid默认xhs-pc-webclient 调用非 PC web 端时传xhs-mp-web/xhs-app等。client 侧封装在 crews/main/skills/_shared/relay-sign.tsxhsHeaders(input)把uri / method / payload / params / cookies连同sign_format、x_rap一起 POST 给/api/v1/sign/xhs/headers拿回完整 headers随后xhsFetch()同文件 L117-L173在 client 端把xsec_token/xsec_source拼入 URL、携带 Cookie 与签名头自行 fetch 平台——这正是relay 只签不发的落地实现。文件注释还点出一个重要坑小红书存在两套独立 x-s 算法xys默认用于 note 创建/feed/comment/search 等通用 endpoint而xyw用于user/me、user_posted、otherinfo等>赞分享人工智能AI Agent大模型AI 应用媒体生成【免费下载链接】xiaobei为OPC/中小微企业量身打造的自媒体获客智能体项目地址https://gitcode.com/gh_mirrors/wi/xiaobei点击查看免费下载相关推荐Agent Substrate数据面延迟优化一篇讲清绕过K8s最终一致性的秘密Agent Substrate数据面延迟优化一篇讲清绕过K8s最终一致性的秘密 Agent Substrate 是一个面向 AI Agent 的高密度沙箱运行人工智能AI AgentAgent 沙箱云原生容器运行时零信任3步快速上手FanControl免费风扇控制软件终极指南3步快速上手FanControl免费风扇控制软件终极指南 还在为电脑风扇噪音而烦恼吗想要在散热和静音之间找到完美平衡吗今天我要为你介绍一款完全免费的Win后端QuantDinger Agent Gateway 与 MCP 接入完全指南令牌权限模型、API 契约与多客户端接入QuantDinger Agent Gateway 与 MCP 接入完全指南令牌权限模型、API 契约与多客户端接入 导读 QuantDinger 是一个开源后端金融科技人工智能AI 应用AI AgentMCP 服务上一篇如何在Android上运行Linux桌面Termux-X11完整配置指南下一篇 2025终极指南GitToolBox插件如何让JetBrains IDE的Git操作效率提升300%创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
