Skip to content

适配器系统 ​

适配器是 LinkZone 与外部通信平台之间的桥梁,负责接收外部消息和发送回复消息。

配置方式 ​

适配器的配置通过 Web 管理后台进行。进入 管理后台 → 适配器 页面,点击对应适配器即可查看和修改配置项。

每个适配器都有一个 enabled 开关,控制是否启用该适配器。

配置方式

适配器的业务配置项(如 API Key、Token 等)在 Web 后台的适配器详情页中直接填写,无需手动编辑配置文件。

内置适配器 ​

适配器标识平台说明
QQ (OneBot)qqQQ通过 OneBot v11 协议连接 QQ 客户端
QQ 官方qqofficialQQ通过 QQ 官方 Bot API 连接
WebwebWebWeb 端通信,用于测试
CLIcli终端命令行交互
小智xiaozhiIoT小智音箱语音交互
OpenAIopenaiAPI暴露 OpenAI 兼容 Chat API
OpenAI Directopenai-directAPI完整暴露 LLM 服务所有能力
AnthropicanthropicAPI暴露 Anthropic Messages API

QQ (OneBot) 适配器 ​

通过 OneBot v11 协议连接 QQ 客户端(如 go-cqhttp、Lagrange 等),支持群聊和私聊消息收发。

配置项 ​

配置项类型默认值说明
access_tokenstring""OneBot 连接的 Access Token,留空则不鉴权
api_timeoutnumber10OneBot API 请求的超时时间(秒)
max_cache_sizenumber1000消息去重缓存最大条目数
message_ttlnumber3000相同消息的去重时间窗口(毫秒)

使用步骤 ​

  1. 部署 OneBot v11 实现端(如 Lagrange.Core、go-cqhttp 等)
  2. 在 OneBot 实现端配置反向 WebSocket,地址指向 LinkZone 的 /onebot/ws
  3. 在 LinkZone 管理后台配置 access_token(与 OneBot 端保持一致)
  4. 启动 OneBot 实现端,连接成功后日志会显示 ✓ QQ OneBot 机器人 xxx 已连接

OneBot 实现端配置示例(Lagrange) ​

yaml
Implementations:
  - Protocol: ReverseWebsocket
    Config:
      ReverseWebsocketHost: "127.0.0.1"
      ReverseWebsocketPort: 8080
      ReverseWebsocketPath: "/onebot/ws"
      AccessToken: "your-access-token"

QQ 官方适配器 ​

通过 QQ 官方机器人 API 连接,支持群聊 @ 消息和 C2C 单聊。

配置项 ​

配置项类型默认值说明
app_idstring""QQ 机器人应用的 AppID(必填)
app_secretstring""QQ 机器人应用的 AppSecret(必填)
intentsnumber0事件订阅位,0 表示使用默认值
sandboxboolfalse是否使用沙箱环境

使用步骤 ​

  1. 前往 QQ 开放平台 创建机器人应用
  2. 获取 AppID 和 AppSecret
  3. 在 LinkZone 管理后台填入 app_id 和 app_secret
  4. 根据需要选择是否开启沙箱模式
  5. 启动适配器,日志显示 WebSocket 网关连接成功 即表示正常

注意

  • 群聊消息需要 @ 机器人才能触发
  • 机器人被封禁后会停止重连,需检查开发者后台

Web 适配器 ​

Web 端通信适配器,主要用于框架功能测试。开箱即用,无需额外配置。

接口 ​

接口方法说明
/api/v1/web/wsGETWebSocket 连接
/api/v1/web/eventPOSTHTTP 消息发送接口

WebSocket 消息格式 ​

发送消息事件:

json
{
  "type": "message",
  "platform": "web",
  "sender_id": "user1",
  "message": "你好",
  "receiver_type": "private",
  "extra": {
    "level": 5
  }
}

群聊消息需设置 receiver_type: "group" 并指定 group_id。extra.level 字段可设置用户权限等级(1-7)。


CLI 适配器 ​

命令行交互适配器,在终端中直接与机器人对话,适合开发调试。

配置项 ​

配置项类型默认值说明
promptstring"> "命令行提示符

使用方式 ​

启动 LinkZone 后,如果终端是交互式的(TTY),CLI 适配器会自动进入输入循环。直接输入文字即可与机器人对话。

TIP

在非交互式终端(如 Docker 后台运行、systemd 服务)中,CLI 适配器会跳过输入循环,不影响其他适配器运行。


小智适配器 ​

小智音箱适配器,支持语音交互(ASR/TTS)、情感状态和 MCP 协议。

配置项 ​

配置项类型默认值说明
access_tokenstring""设备接入鉴权 Token,留空则不鉴权
websocket_urlstring""OTA 响应中告知设备的 WebSocket 连接地址
websocket_tokenstring""OTA 响应中下发给设备的接入 Token
firmware_versionstring""最新固件版本号,留空则不下发固件更新
firmware_urlstring""固件 bin 文件的下载 URL
auto_updatebooltrue是否向设备推送固件更新
asr_access_key_idstring""阿里云 RAM AccessKey ID
asr_access_key_secretstring""阿里云 RAM AccessKey Secret
asr_app_keystring""阿里云智能语音交互项目 AppKey
tts_app_keystring""阿里云 TTS AppKey,留空则复用 ASR AppKey
default_user_idstring"user_default"未接入声纹识别时的默认用户 ID

使用步骤 ​

  1. 在阿里云开通智能语音交互服务,创建 ASR 和 TTS 项目,获取 AccessKey 和 AppKey
  2. 在 LinkZone 管理后台填入阿里云相关配置
  3. 配置 access_token 用于设备鉴权(建议设置)
  4. 配置 websocket_url 为设备可访问的 LinkZone 地址(如 ws://192.168.1.100:8080/api/v1/xiaozhi/ws)
  5. 在小智设备的 OTA 服务器中配置 LinkZone 的 OTA 接口地址
  6. 设备连接成功后日志会显示 ✓ 小智设备 [xxx] 已接入

注意

  • ASR 配置不完整时,语音识别功能不可用
  • access_token 未配置时,所有设备均可接入,建议在生产环境中设置
  • websocket_url 未配置时,设备无法自动获取连接地址

OpenAI 适配器 ​

暴露 OpenAI 兼容的 Chat Completions API,允许外部客户端(如 ChatGPT-Next-Web、LobeChat 等)通过标准 OpenAI API 格式与 LinkZone 对话。

配置项 ​

配置项类型默认值说明
api_keystring""请求鉴权 API Key,留空则不校验
timeoutnumber60等待框架响应的超时时间(秒)
model_namestring"linkzone-bot"返回给客户端的模型名称
markdown_modestring"rich"多媒体内容的 Markdown 渲染模式
image_alt_textstring"图片"图片的默认 alt 文本

markdown_mode 可选值:

值说明
rich完整 Markdown 图片语法 ![alt](url)
simple简单链接格式
htmlHTML img 标签
mixedMarkdown + 链接

使用步骤 ​

  1. 在 LinkZone 管理后台配置 api_key(建议设置,防止未授权访问)
  2. 根据需要修改 model_name
  3. 在外部客户端中配置 API 地址为 http://<LinkZone地址>:8080/openai/v1
  4. 填入配置的 API Key

客户端配置示例(ChatGPT-Next-Web) ​

API 地址: http://192.168.1.100:8080/openai/v1
API Key:  你在LinkZone中配置的api_key
模型:     linkzone-bot

OpenAI Direct 适配器 ​

完整暴露 LinkZone 内部 LLM 服务的能力,不仅支持 Chat Completions,还支持 Embeddings、图片生成、语音合成(TTS)、语音识别(ASR)、Rerank 等全部 LLM 功能。适合作为 AI 网关使用。

配置项 ​

配置项类型默认值说明
api_keystring""请求鉴权 API Key,留空则不校验
timeoutnumber60等待 LLM 服务响应的超时时间(秒)

使用步骤 ​

  1. 在 LinkZone 管理后台配置 api_key
  2. 在管理后台 → LLM 管理中注册上游 LLM 服务
  3. 在客户端中配置 API 地址为 http://<LinkZone地址>:8080/openai-direct/v1

支持的接口 ​

接口说明
/openai-direct/v1/chat/completionsChat Completions(支持流式)
/openai-direct/v1/models模型列表
/openai-direct/v1/embeddings文本向量化
/openai-direct/v1/images/generations图片生成
/openai-direct/v1/images/edits图片编辑
/openai-direct/v1/audio/speech语音合成(TTS)
/openai-direct/v1/audio/transcriptions语音识别(ASR)
/openai-direct/v1/rerank文本重排序
/openai-direct/v1/moderations内容审核

上游服务的管理(注册、回退规则、熔断器重置等)通过 Web 后台 → LLM 管理完成。


Anthropic 适配器 ​

暴露 Anthropic Messages API 兼容接口,支持 Claude Code 等工具通过标准 Anthropic API 格式与 LinkZone 交互。

配置项 ​

配置项类型默认值说明
api_keystring""请求鉴权 API Key,留空则不校验
timeoutnumber120等待 LLM 服务响应的超时时间(秒)
default_max_tokensnumber4096请求未指定 max_tokens 时的默认值
export_model_namestring"linkzone"对外暴露的统一模型名
target_modelselect""导出模型实际指向的底层模型名

模型别名 ​

export_model_name 和 target_model 配合使用实现模型别名:

  • 客户端请求 export_model_name(如 linkzone)时,实际转发给 target_model(如 claude-3-5-sonnet)
  • 如果 target_model 为空,则原样透传

使用步骤 ​

  1. 在 LinkZone 管理后台配置 api_key
  2. 设置 export_model_name(如 linkzone)和 target_model(选择实际要使用的模型)
  3. 在 Claude Code 等工具中配置 API 地址和 Key

Claude Code 配置示例 ​

bash
export ANTHROPIC_BASE_URL=http://192.168.1.100:8080/anthropic
export ANTHROPIC_API_KEY=你在LinkZone中配置的api_key

开发自定义适配器 ​

如果你需要接入框架未支持的平台,可以开发外置适配器。详见 外置适配器开发。

基于 MIT 许可发布 | QQ 群:581485581 点击加入