Skip to content

文档同步

本页由 plugins/adapters/onebot12/README.md 自动生成。请修改包内 README 后运行 pnpm sync:adapter-docs

@zhin.js/adapter-onebot12

Zhin.js OneBot 12 适配器(Plugin Runtime)。默认 正向 WebSocket 客户端connection: ws);亦支持 HTTP Webhook反向 WS(经 httpHostToken 注册路由)。

功能特性

  • OneBot 12 标准 兼容(事件 + 动作)
  • 约定式 defineAdapter / definePlugin(无需 usePlugin
  • 正向 WebSocketconnection: ws):应用连 OneBot 实现的 WS 服务器
  • access_token 鉴权(Bearer + query)
  • 入站经 messageGatewayToken;出站 send({ target, payload })

安装

bash
pnpm add @zhin.js/adapter-onebot12

Plugin Runtime

  • @zhin.js/adapter — 约定式 adapters/onebot12.tsdefineAdapter
  • @zhin.js/coremessageGatewayToken 入站/出站
  • @zhin.js/plugin-runtimeplugin.tsdefinePlugin
  • 配置经插件 schema.json 落到 plugins.<instanceKey>

入站:gateway.receive({ adapter, target: "private:uid"| "group:gid"|…, content, sender, metadata })
出站:send({ target, payload }) → WS send_message(payload 已由 gateway/core 渲染;无 segment-mapper)

最小配置

yaml
# zhin.config.yml(Plugin Runtime)
plugins:
  onebot12:
    connection: ws
    reconnect_interval: 5000
    heartbeat_interval: 30000
    endpoints:
      - name: ob12-bot
        url: "ws://127.0.0.1:6700"
        access_token: "${ONEBOT12_ACCESS_TOKEN}"

根插件 zhin.plugins(或项目图)需引用 @zhin.js/adapter-onebot12instanceKey: onebot12)。

连接方式

connection状态
ws已实现(推荐)
webhook已实现:POST 入站 + api_url HTTP 出站
wss已实现:反向 WS(httpHostToken)

鉴权

  • BearerAuthorization: Bearer <access_token>
  • 正向 WS 在 Upgrade 时附带请求头,并在 URL query 写入 access_token

动作与事件

  • 事件:type(meta/message/notice/request)、detail_typemessage 等,见 事件
  • 动作:send_messagedelete_messageget_status 等,见 动作请求

AI 工具

技能说明见 agent/skills/onebot12.md

文档链接

许可证

MIT License