Skip to content
FunCoding

Search

Search docs, Skills and MCP

上游贡献与开发环境

准备 Node 环境,区分构建、集成测试、调试与贡献要求。

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

本页描述向 Qwen Code 上游贡献的流程。它不要求使用者为了阅读或运行 SDK 就克隆、安装并构建全部仓库。

建立开发环境

开发和运行 CLI 的 Node.js 要求均为 22+,另需 Git。官方贡献页说明 TUI 使用 Ink 7,对应 React 19.2 系列 peer 约束。

git clone https://github.com/QwenLM/qwen-code.git
cd qwen-code
corepack pnpm install --frozen-lockfile
npm run build

当前根 package.json 固定 pnpm 11.24.0;贡献页中的旧 npm install 示例应结合现有锁文件流程使用。

构建后从仓库根运行 npm start。需要同时构建 sandbox 容器和 VS Code 扩展时使用 npm run build:all,并先准备相应 provider;贡献页的 Sandboxing 专节仍为 TBD,实际设置应看沙箱文档,不从占位小节推断完整平台支持。

需要在其他目录使用源码构建时,官方提供 npm link path/to/qwen-code/packages/cli。它会影响本机命令解析,操作前确认需要切换到该本地版本。

检查与测试

命令用途
npm run test单元测试;不包含默认独立的 integration test 流程
npm run test:e2e当前运行无沙箱集成测试,并保留、显示输出
npm run lintESLint 等 lint 检查
npm run format按 Prettier 规则改写格式
npm run preflight包含 clean、按锁文件安装、format、lint、build、typecheck、测试和 bundle 检查;会改变本地文件

跨包导入受到 lint 约束,使用公开入口。需要验证 CLI bundle、SDK 或真实模型时,还应运行相应专题的测试,不因普通单元测试通过就认定所有运行模式可用。

调试

可在 VS Code 用 F5 或 Attach 配置;npm run debug 会以 inspector 启动 CLI 并暂停等待连接,供 chrome://inspect 或 IDE 调试器接入。

sandbox 内断点可使用 DEBUG=1 qwen。普通项目 .env 的 DEBUG 默认被排除,qwen 专用设置应使用 .qwen/.env,不要把变量未生效误诊为调试器失效。

Ink 调试按官方说明使用兼容的 React DevTools 4.x,例如先 DEV=true npm start,再运行 npx react-devtools@4.28.5。这里是官方提供的特定兼容示例,不应无条件升级到任意最新主版本。

文档站预览

在上游 docs-site 中依次运行 npm install、npm run link、npm run dev。link 把主仓库 docs 连接为站点 content,官方预览地址为 localhost:3000;这与本网站的构建命令、目录和端口无关。

提交要求

上游要求所有 PR 经审查并关联已有 issue;新功能先有维护者认可的提案,尚无 issue 时先讨论。每个 PR 聚焦一个问题或独立功能,约 1200 changed lines 后考虑拆分,超过约 2000 行应拆成可独立审查的系列,或说明必须一起合入的原因。

进行中的变更可用 Draft PR。用户可见行为变化要同步 docs;设计文档同时提交英文与简体中文并互链。标题和提交消息遵循 Conventional Commits,PR 说明为什么改、关联哪个 issue、如何验证。

贡献页还列出手动发布命令,但发布涉及 registry 身份和版本流程;普通构建验证不应顺手执行 npm publish --workspaces。没有修改本机 hooks、安装依赖或实际提交的必要时,不把文档示例当自动操作要求。