Skip to main content
autClaw 适配器负责把外部 IM、机器人框架或官方 SDK 接入系统。你在 plugin/adapters/ 编写独立 worker,把平台事件转成 autClaw 标准事件,再把标准出站动作转成平台协议包。
本页只讲架构和最小落地路径。字段、消息信封、回执和完整示例见 适配器参考。先从 适配器总览 开始更快。普通业务插件请先看 插件 SDK 概览

先记住三条边界

  • worker 负责协议适配:账号解析、入站标准化、出站构造、回执解码、登录和平台 workflow。
  • backend 负责运行编排:启动进程、下发配置、维护 control websocket、分发消息和记录回执。
  • 协议专属逻辑 只放在适配器 worker 内,不要写进 autClaw 核心层。

选择接入模式

新渠道优先做核心 codec:resolve_accountnormalize_inboundbuild_outbounddecode_receipt。只有当 worker 自己直接调用平台 HTTP API / SDK 完成发送时,才启用 execute_outbound;如果发送由 backend 持有的 Gateway / WebSocket 完成,就保持 transport: "ws",不要启用 execute_outbound

最小实现顺序

  1. 写 manifest:authorim_typetransportaccount_id_key
  2. 使用 backend 下发的 AUTCLAW_ADAPTER_CONNECT_URL 连接 control websocket。
  3. 收到 adapter_init 后,缓存配置并发送 adapter_worker_ready
  4. 实现四个核心动作:
    • adapter_codec_resolve_account
    • adapter_codec_normalize_inbound
    • adapter_codec_build_outbound
    • adapter_codec_decode_receipt
  5. 如果适配器支持扫码登录,在 manifest 里声明 //[supports_qr_login: true],并在 adapter_worker_ready 里上报 supports_qr_login: true,再实现 adapter_login_qr_startadapter_login_qr_wait
  6. 实测私聊、群聊、媒体、回执和掉线重连;如果支持扫码登录,再实测扫码流程。

manifest 只保留关键字段

适配器放在 plugin/adapters/。推荐文件名使用 adapter_{im_type}_{transport}.js,例如 adapter_demo_http.jsadapter_demo_ws.js。autClaw 会根据文件名辅助推断路由,但你仍应在 manifest 中显式声明关键字段。
supports_qr_login 分成两层:manifest 头注 //[supports_qr_login: true] 只声明“这个适配器有扫码登录入口”;adapter_worker_ready.aut_params.supports_qr_login 才声明“这个在线 worker 现在能处理扫码动作”。
更多通用 manifest 字段见 插件 manifest 声明头

生命周期很简单

control 连接建立后,backend 会先发 adapter_init。你先重建账号索引、恢复配置和临时状态,再发 adapter_worker_ready

声明扫码登录能力

扫码登录在 autClaw 里分成“入口能力”和“运行能力”两层:
  • manifest 头注 //[supports_qr_login: true]:让设置页在适配器未启用或 worker 未连上时也能显示“扫码登录”入口。
  • adapter_worker_ready.aut_params.supports_qr_login: true:声明当前在线 worker 真的能处理扫码流程。backend 发起 adapter_login_qr_start / adapter_login_qr_wait 前会检查这一层。
然后处理两个 backend 下发的 action:
要求:
  • 不支持扫码登录的适配器不要声明 //[supports_qr_login: true],也不要上报 supports_qr_login: true
  • 只声明 manifest 头注会显示入口,但不会让 backend 拉起扫码流程。
  • 已上报 supports_qr_login: true 的适配器必须能响应 adapter_login_qr_startadapter_login_qr_wait
  • 扫码成功后,adapter_login_qr_wait 可以返回 account_config,backend 会把账号配置写入适配器设置。

详细协议见参考页

如果你要实现完整适配器,请继续看 适配器参考
  • control 消息信封
  • 账号解析
  • 入站标准化
  • 出站构造与回执
  • 扫码登录
  • 主动事件和账号状态
  • 媒体发送契约
  • 最小 Node.js 框架

发布前只检查这些

  • adapter_init 后再处理平台业务消息。
  • 所有带 aut_echo 的调用都能返回成功或失败。
  • EventDatameta 和日志不包含 token、密码、私钥、验证码或完整签名。
  • HTTP API 调用设置超时,批量事件分批处理。
  • 媒体发送优先使用 source,只有本地 SDK 才读取 file_path
最后修改于 2026年7月10日