Skip to content
FunCoding

Search

Search docs, Skills and MCP

Qwen Code 架构与包边界

区分直接 agent 执行、ACP 运行时及 HTTP 客户端,定位扩展和状态责任。

This page has not been translated into English yet. The original Chinese version is shown below.

Qwen Code 的多个界面共用核心 agent 逻辑,但并不都通过 daemon。理解进程和包边界,有助于判断一个问题属于显示、传输、权限还是模型运行。

两条执行路径

flowchart LR
  T[交互 TUI / Headless / query] --> CLI[CLI host]
  CLI --> CORE[Core agent 与工具]
  U[Web Shell / IDE / 渠道 / 自定义客户端] --> SDK[Daemon SDK 或 HTTP]
  SDK --> D[qwen serve]
  D --> B[ACP bridge]
  B --> ACP[qwen --acp]
  ACP --> CORE
  CORE --> M[模型提供商]
  CORE --> MCP[MCP 服务]
  CORE --> FS[主机文件与进程]

直接 TUI/headless 构造并运行 core;ACP 模式通过传输托管 core,既可由编辑器直接驱动,也可被 qwen serve 包装为 HTTP/SSE。独立 qwen channel start 可直接使用 ACP bridge,不要求经过 daemon。

主要包

路径责任
packages/cli可执行入口、参数、配置组装、Ink TUI、headless、ACP、serve 与命令适配
packages/coreagent loop、provider、上下文、工具、权限、会话、记忆和共享服务
packages/acp-bridgechild/通道生命周期、会话复用、事件、权限协调和文件接口接缝
packages/sdk-typescriptquery 进程调用、HTTP/SSE 客户端与 transcript 投影
packages/web-shellReact 状态层和浏览器 UI
packages/web-templates可嵌入的 JavaScript/CSS 模板字符串
packages/channels通用渠道 runtime 和平台适配器
packages/sdk-java、packages/sdk-python各语言程序接口

Desktop、VS Code Companion、Chrome Extension、Zed Extension 适配各自宿主;audio-capture 提供原生麦克风采集,cua-driver/mobile-mcp 通过 MCP 类边界连接桌面与移动设备。integration-tests 覆盖端到端路径,scripts 管构建、发布和仓库维护。

跨包依赖应使用公开 exports,不通过相对路径导入另一个包内部源文件。

core 与显示层

CLI 解析参数并合并用户、工作区、环境和默认设置,必要时准备 sandbox,再启动目标模式。core 接收解析后的配置,构建模型请求、更新历史、执行权限判断和工具循环,返回结构化事件。

core 不决定 TUI 怎么画、浏览器怎么传输;平台格式、卡片、编辑器 diff 和宿主事件留在 adapter。共享 agent 行为放 core,wire/transport 行为放 bridge、SDK 或 daemon,避免平台细节反向渗入通用工具。

daemon 的运行时归属

daemon 先认证并解析 owning workspace,再交给该运行时的 bridge/ACP child。每个活跃可信工作区有自己的 bridge 与 child;会话和客户端复用在该边界内完成。bridge 可在生产接真实子进程,在测试接内存通道。

这是一种运行时分区,不代表工作区成为操作系统沙箱或不同 bearer 的权限域。API 和 agent 文件工具的实际边界、主机凭据可见性及共享认证见工作区和文件访问。

扩展点与状态

MCP 扩展工具、prompt 和资源,Extensions/Skills 包装复用行为,Channels 连接外部消息,SDK/UI adapter 把公共事件投影到自定义应用。直接会话通过 core 服务保存历史;daemon 负责把外部操作路由到工作区,而 live agent 执行仍由 ACP child 持有。

新增适配器优先复用公开契约,不直接导入服务端实现来规避能力检查或生命周期管理。