Skip to content

Claude Code Channel 系统文档

通过 IM 平台远程控制 Claude Code Agent 的完整技术解析


文档目录

01-channel-system.md — Channel 系统架构解析

从源码视角深度剖析 Claude Code Channel 系统的设计与实现,涵盖:

  • 什么是 Channel:IM 集成的核心概念、MCP 协议基础
  • 整体架构:消息流转全链路、组件关系
  • 消息协议:入站通知、XML 封装、出站工具调用
  • 六层访问控制:能力声明 → 运行时开关 → OAuth 认证 → 组织策略 → 会话白名单 → 插件审批
  • 权限中继系统:远程审批工具执行、5 字母请求 ID、多源竞争
  • 插件架构:Channel 插件清单声明、用户配置流、作用域命名
  • UI 组件:终端消息渲染、状态通知、开发者警告对话框
  • 安全设计:防 XML 注入、marketplace 验证、信任边界分析

适合人群:想了解 AI Agent IM 集成架构的开发者、架构师、插件作者


配图说明

所有配图采用深色背景(#1a1a2e)+ Anthropic 品牌橙铜色(#D97757)风格。

图片说明所属文档
01-channel-overview.pngChannel 系统架构总览 — 组件关系全景架构解析
02-message-flow.png消息流转全链路 — IM → Agent → IM架构解析
03-access-control.png六层访问控制 — 层层递进的安全门架构解析
04-permission-relay.png权限中继系统 — 远程审批流程架构解析

快速开始

用户

  1. 阅读 Channel 系统架构解析
  2. 了解如何通过 --channels 启动 IM 集成
  3. 理解不同平台(Telegram、Feishu、Discord)的接入方式

插件开发者

  1. 阅读架构解析中的 插件架构 章节
  2. 了解 plugin.json 中 Channel 声明格式
  3. 实现 MCP Server 的 notifications/claude/channel 协议
  4. 查看源码位置:
    • src/services/mcp/channelNotification.ts — 核心门控与消息封装
    • src/services/mcp/channelPermissions.ts — 权限中继系统
    • src/services/mcp/channelAllowlist.ts — 白名单管理
    • src/utils/plugins/mcpPluginIntegration.ts — 插件 MCP 集成
    • src/utils/plugins/schemas.ts — 插件清单 Channel 声明 Schema

核心概念速查

概念说明
Channel一个声明了 claude/channel 能力的 MCP Server,可推送 IM 消息到 Agent
Channel Entry--channels 参数解析后的条目,分 plugin 和 server 两种
Channel Gate六层访问控制门,决定是否注册通知处理器
Permission Relay将工具执行审批提示转发到 IM 平台的机制
Channel Pluginplugin.json 中声明 channels 字段的插件
Scoped Name插件服务器的作用域名称,格式 plugin:{pluginName}:{serverName}
Short Request ID5 字母权限请求标识符,基于 FNV-1a 哈希生成
Channel Tag<channel> XML 标签,封装来自 IM 的消息内容和元数据
Dev Channels通过 --dangerously-load-development-channels 加载的本地开发频道
tengu_harborGrowthBook 运行时特性开关,控制 Channel 功能总开关

相关资源

Released under the MIT License.