尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

在 Zed 中使用 Qwen Code:基于 ACP 的 Agent Server 扩展安装、配置与排障全指南

在 Zed 中使用 Qwen Code:基于 ACP 的 Agent Server 扩展安装、配置与排障全指南 在 Zed 中使用 Qwen Code基于 ACP 的 Agent Server 扩展安装、配置与排障全指南【免费下载链接】qwen-codeAn open-source AI coding agent that lives in your terminal.项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code本篇文章围绕当前仓库中 Qwen Code 的 Zed 扩展packages/zed-extension/展开介绍如何通过 Zed 的Agent Server智能体服务器机制将 Qwen Code 以Agent Client ProtocolACP协议接入 Zed 编辑器获得原生 AI 助手面板、提及文件、历史会话回顾等能力。读完本文你将掌握该扩展的安装方式、日常使用技巧、环境变量配置方法以及服务器意外关闭启动后异常两类典型问题的日志收集与排查思路并理解其背后node ./package/cli.js --acp的启动链路与 ACP 模式在 CLI 源码中的实现约束。一、扩展概览Qwen Code 如何以 Agent Server 形态进入 ZedQwen Code 是一款运行在终端中的开源 AI 编程代理AI coding agent。为了让它在 Zed 编辑器中获得原生体验仓库在packages/zed-extension/目录下提供了一套 Zed 扩展实现其定位与核心能力如下原生 Agent 体验Native Agent Experience在 Zed 界面内直接集成 AI 助手面板无需切换到外部终端完整 ACP 支持Agent Client Protocol通过 ACP 协议与 Zed 交互实现高级的 IDE 协作能力包括读写与编辑工作区文件、多轮对话等文件管理File Management在对话中使用filename提及文件将其加入对话上下文会话历史Conversation History在 Zed 内即可访问过去的对话记录多平台支持Multi-platform Support覆盖 macOSARM64 与 Intel、Linux、Windows。从 extension.toml 可以看到该扩展实际是一个Agent Server 声明id为qwen-code并在[agent_servers.qwen-code]下为四种目标平台darwin-aarch64、darwin-x86_64、linux-x86_64、windows-x86_64分别声明了启动方式——从 npm registry 拉取qwen-code/qwen-code0.10.0 的归档包然后统一以cmd node、args [./package/cli.js, --acp]拉起进程。这意味着 Zed 在启用该 Agent Server 时实质是启动了一个运行在ACP 模式下的 Qwen Code 进程。二、安装图形面板与命令行两种途径2.1 通过扩展面板安装推荐打开 Zed 编辑器打开扩展面板Extensions panelmacOS 使用cmd-shift-xLinux/Windows 使用ctrl-shift-x搜索 Qwen Code点击Install安装切换到Agent Server选项卡确认 Qwen Code 已启用。2.2 通过命令行安装也可以直接使用 Zed 提供的扩展安装命令zed --install-extension qwen-code安装后Zed 会根据 extension.toml 中声明的目标平台自动选择对应的归档包与启动参数无需手动配置可执行文件路径。三、使用打开 Agent Panel 开始对话3.1 基础操作打开 Zed 的 Agent 面板Agent PanelmacOS 使用cmd-shift-aLinux/Windows 使用ctrl-shift-a在 agent 列表中选择 Qwen Code开始与 AI 助手对话。3.2 使用技巧Tips使用filename在对话中提及文件将其内容加入上下文该 agent 可以读取、写入和编辑你工作区中的文件可以让它解释代码、提出改进建议或协助调试用自然语言描述你想完成的目标即可。3.3 ACP 模式下的会话工作区语义有一点值得注意ACP 模式下会话的工作目录cwd不是由 Qwen Code 进程启动时的目录决定的而是由ACP 宿主即 Zed在loadSession/newSession请求中指定。源码中对此有明确约束——packages/cli/src/llm.tsx 在处理--worktree参数时专门做了防护--worktree不能与--acp/--experimental-acp组合使用否则进程会输出错误并退出原因是ACP 宿主Zed 等会为每个会话提供自己的 cwd启动级的 chdir 不会生效。因此如果你需要在某个特定目录下开启会话应当通过 Zed 侧的会话请求指定 cwd而不是期望 CLI 的--worktree在 ACP 模式下生效。四、环境要求Requirements在安装使用前请确认满足以下条件Zed 编辑器建议使用最新版本Zed 的 Agent Panel 与 ACP 支持随版本演进旧版本可能缺失相关能力网络连接AI 模型推理需要联网访问Node.js 22用于运行 Qwen Code agent server。这一点也与扩展的启动方式直接相关——extension.toml 中所有平台都以cmd node启动因此宿主机器必须预先安装满足版本要求的 Node.js。五、配置环境变量与运行时目录5.1 作为 Agent Server 运行时的行为当 Qwen Code 作为 agent server 运行时它会继承 Zed 传入的环境变量读取/创建~/.qwen目录用于存放运行时设置复用~/.qwen/settings.json中已有的模型与认证设置初始登录除外这意味着你在终端里完成过的登录与模型配置在 Zed 中无需重复配置。5.2 在 Zed 设置中注入额外环境变量如需为 Qwen Code agent server 注入额外的环境变量可在 Zed 的 settings.json 中通过agent_servers配置块声明{ agent_servers: { qwen-code: { env: { QWEN_DEBUG_LOG_FILE: 1, YOUR_CUSTOM_VAR: value } } } }上例中的QWEN_DEBUG_LOG_FILE是仓库代码中实际识别的一个调试类环境变量用于开启 Qwen Code 的调试日志落盘你也可以按需添加任意自定义变量。该env配置会被 Zed 透传给以node ./package/cli.js --acp启动的 Qwen Code 进程从而影响其运行时行为。六、排障两类典型问题的定位思路6.1 服务器意外关闭server shut down unexpectedly当出现类似 server shut down unexpectedly 的错误时收集日志的步骤如下按下cmdshiftpmacOS或ctrlshiftpLinux/Windows选择Zed: Open Log查看与 agent server 或 Node.js 相关的日志条目将相关日志信息随问题一并提交。6.2 服务器能启动但在使用中异常如果 agent server 能正常启动但在使用过程中出现问题按下cmdshiftpmacOS或ctrlshiftpLinux/Windows选择Dev: Open ACP Logs检查 ACP 日志中的错误信息将相关日志信息随问题一并提交。ACP 日志之所以重要是因为 Qwen Code 与 Zed 之间全部通过 ACP 消息交互——从会话的loadSession/newSession请求到工具调用的往返任何协议层面的异常都会体现在 ACP 日志中。结合 extension.toml 的启动参数可知进程以--acp标志启动后便不再走普通终端交互路径而是作为纯 ACP 服务端工作因此协议日志基本能覆盖启动后的大部分问题。6.3 问题上报渠道扩展相关的缺陷可以在 Qwen Code 主项目或 Zed 扩展专属项目中提交 issue提交时务必附带上文收集到的 Zed 日志与 ACP 日志。七、从扩展到内核--acp模式在 CLI 中的实现与约束如果你对扩展背后的运行机制感兴趣可以在本仓库 CLI 源码中进一步印证。ACP 模式在 packages/cli/src/llm.tsx 中被识别为isAcpMode argv.acp || argv.experimentalAcp对应--acp与实验性标志--experimental-acp并在多个关键节点改变进程行为启动性能分析在 packages/cli/src/cli.ts 中当检测到--acp或--experimental-acp参数时会加载 ACP 启动分析器acp-startup-profiler用于测量 ACP 模式的冷启动耗时输入流处理差异在 packages/cli/src/llm.tsx 中非 TTY 且非 stream-json 输入时ACP 模式被排除在部分输入格式处理之外避免与 ACP 协议消息流冲突--worktree互斥如 3.3 节所述--worktree与 ACP 模式互斥进程会直接报错退出ACP 集成实现packages/cli/src/acp-integration/acpAgent.ts 是 ACP 代理的核心实现负责将 Qwen Code 的会话、工具调用等能力映射为 ACP 协议消息Zed 侧的 Agent Server 正是该实现的服务端形态。此外仓库内还有对应的单元测试如 packages/cli/src/acp-integration/session/Session.test.ts 与 packages/cli/src/acp-integration/acpAgent.test.ts以及packages/acp-bridge/包提供 ACP 相关的桥接能力感兴趣的读者可以沿这些路径深入阅读。八、项目文档与参与Qwen Code 文档扩展的完整使用说明与 CLI 功能细节可在 Qwen Code 官方文档中查阅Zed Agent Panel 指南Zed 官方文档中的 Agent Panel 使用说明是理解 Zed 侧交互界面的参考Agent Client ProtocolACP 是 Zed 与各 agent server 之间的协议标准其官网提供了协议规范与实现说明许可证扩展自身的许可条款见 packages/zed-extension/LICENSE贡献欢迎通过提交 issue 或 pull request 的方式参与贡献。九、当前版本限制与展望需要说明的是当前版本extension.toml中声明的 agent server 版本为qwen-code/qwen-code0.10.0仍然依赖 Node.js 运行时各平台启动命令均为node ./package/cli.js --acp同时要求 Node.js 22。据扩展 README 披露一个单文件可执行single-file executable版本正在开发中届时将有望摆脱对 Node.js 的依赖进一步降低使用门槛。结语通过本仓库的 Zed 扩展Qwen Code 得以以 ACP Agent Server 的形态无缝嵌入 Zed 编辑器安装只需一次面板操作或一条命令日常使用借助提及文件即可把工作区内容纳入对话上下文配置上复用~/.qwen/settings.json的模型与认证信息遇到问题则可通过 Zed 日志与 ACP 日志双通道定位。理解其node ./package/cli.js --acp的启动链路与 CLI 侧 ACP 模式的互斥约束能帮助你在更复杂的场景如多工作区、定制 cwd下少走弯路。【免费下载链接】qwen-codeAn open-source AI coding agent that lives in your terminal.项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表