跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

自定义渠道插件

通过扩展注册适配器,并复用准入、会话和命令流程。

自定义平台适配器打包成 Qwen 扩展,在 qwen-extension.json 的 channels 声明入口。渠道启动时扫描启用扩展、动态 import 并注册 type,再由工厂创建实例。

安装和配置

qwen extensions install /path/to/channel-extension

开发时可用 extensions link 引用源码目录,区别见扩展开发。链接文件变化不等于正在运行的渠道进程已经重新加载入口;渠道插件按启动加载。

{
  "channels": {
    "internal-chat": {
      "type": "my-platform",
      "apiKey": "$INTERNAL_CHAT_KEY",
      "privatePolicy": "allowlist",
      "allowedUsers": ["operator-id"],
      "cwd": "/path/to/project"
    }
  }
}

my-platform 必须由已安装启用的扩展注册,apiKey 是插件自定义示例字段,所需参数以其契约为准。不要把任意未知 type 写入设置就期待自动安装。

运行

qwen channel start internal-chat

省略名字启动全部渠道,也包括自定义适配器。通用准入、群策略、配对、路由、本地命令、串行会话处理和崩溃恢复由共同管道提供;具体媒体、卡片、主动投递还取决于适配器实现。

面向开发者的桥接类型

独立服务当前提供 AcpBridge,但 adapter 应依赖 ChannelAgentBridge 契约。显式把 TypeScript 参数写成 AcpBridge 的旧插件应迁移类型标注;JavaScript 插件运行时不受该类型名变更影响。

不要把“复用共同流程”理解为所有运行模式与所有平台能力自动可用;例如 outputMode 仍仅 DingTalk 支持,named task 仍要求 daemon,loop 仍需 proactive target 能力。

实现新平台时,继续阅读渠道插件开发及显示与投递契约。