阅读材料: 第四部分。环境配置

模块「第四部分。环境配置」中第 1 / 5 节课
您正在未登录状态下查看课程。 请登录,以保存进度并参加测试。

第4部分。环境配置

SDD不依赖于IDE:该过程可以在任何能够处理文件和shell命令的环境中进行。在本教程中,主要工具是Qwen Code CLI。它在仓库内的终端中运行,处理文件、shell命令、项目设置、技能和MCP。

终端窗口

最好至少保留两个窗口(或两个tmux标签页/面板):

  1. Qwen Code窗口。 其中qwen以交互模式运行;您与代理通信,阅读其报告。
  2. 检查窗口。 在其中手动运行git statusgit diffnpm run typechecknpm testcurl。此窗口用于复核代理的输出,而不是盲目相信它。

通过Qwen Code内的!命令在同一会话中启动shell,这对快速检查很方便。但关于合并和提交的决策,请在单独的检查窗口中做出,那里不可能有任何代理的副作用操作。

安装Qwen Code

安装前请查看最新文档。在准备这些材料时,官方仓库指出手动安装需要Node.js 22+。

通过npm安装:

npm install -g @qwen-code/qwen-code@latest
qwen --version

通过Homebrew安装:

brew install qwen-code
qwen --version

Qwen Cloud还为阿里云/百炼用户发布安装脚本。仅当此分发渠道适合您时使用,并将实际标志与Qwen Code仓库的README核对——以下调用可能已过时:

bash -c "$(curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.sh)"

认证

截至2026年5月,Qwen OAuth免费套餐不再是可靠选项:Qwen Code官方材料称免费套餐已于2026年4月15日停止。实用的途径是API密钥或阿里云Coding套餐。

交互式设置:

qwen
/auth

或通过单独命令:

qwen auth
qwen auth status

不要将密钥放在QWEN.mdAGENTS.md、规范或Git中。使用环境变量或引用它们的.qwen/settings.json

最小化.qwen/settings.json

创建项目配置:

mkdir -p .qwen

无密钥的示例:

{
  "security": {
    "auth": {
      "selectedType": "openai"
    }
  },
  "model": {
    "name": "qwen3-coder-plus"
  },
  "$version": 3
}

如果使用OpenAI兼容端点,将密钥保存在环境变量中:

export BAILIAN_API_KEY="..."

并在设置中引用该变量:

{
  "env": {
    "BAILIAN_API_KEY": "$BAILIAN_API_KEY"
  },
  "modelProviders": {
    "openai": [
      {
        "id": "qwen3-coder-plus",
        "name": "qwen3-coder-plus",
        "baseUrl": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
        "envKey": "BAILIAN_API_KEY"
      }
    ]
  },
  "security": {
    "auth": {
      "selectedType": "openai"
    }
  },
  "model": {
    "name": "qwen3-coder-plus"
  },
  "$version": 3
}

QWEN.md作为项目的持久记忆

Qwen Code在会话启动时读取QWEN.md。如果项目中已有AGENTS.md,Qwen也可以使用它,因此不要重复相同内容。对于SDD,方便的做法是让QWEN.md保持简短,并引用规范。

示例:

# QWEN.md

本项目使用SDD。

规则:
- 在功能没有规范之前,不要实现产品功能。
- 产品真相来源:@specs/mission.md、@specs/tech-stack.md和@specs/roadmap.md。
- 每个功能分支需要一个文件夹@specs/YYYY-MM-DD-feature-name/,包含requirements.md、plan.md和validation.md。
- 在写入新规范文件之前,询问人类关于边界、决策和上下文。
- 只进行针对性修改。不要重构无关代码。
- 始终报告修改了哪些文件以及运行了哪些验证命令。

主要命令:
- npm run typecheck
- npm test
- npm run dev

SDD所需的Qwen Code命令

在交互式会话中:

/help
/auth
/model
/clear
/context
/compress
/summary
/resume
/stats
/skills
/memory
/init
/remember
/forget
/dream
/review

/remember/forget/dream属于Qwen Code的内置记忆,在第19部分中详细讨论。/review是内置的变更审查(如果您的版本支持)。完整列表和确切语义请与文档核对:https://qwenlm.github.io/qwen-code-docs/en/users/features/commands/。

文件操作:

@README.md 简要描述项目意图。
@specs/roadmap.md 下一个未完成的阶段是什么?

Shell命令:

!git status
!npm test
!rg "TODO|FIXME" .

用于自动化的无界面模式:

qwen -p "读取@specs/roadmap.md并说出下一个未完成的阶段。不要修改文件。"

实践

  1. 安装Qwen Code。
  2. 配置认证。
  3. 在学习项目中创建.qwen/settings.json
  4. 创建QWEN.md
  5. 运行:
qwen

然后输入:

读取@QWEN.md和@README.md。
告诉我这个仓库是否准备好创建SDD章程。
不要写入文件。

检查问题

  1. QWEN.mdspecs/mission.md有何不同?
  2. 为什么API密钥不能存储在规范中?
  3. 何时使用qwen -p,何时使用交互式qwen
我的笔记
0 / 10000

笔记保存在当前浏览器中。在其他设备上将不会显示。

课程菜单

课程

基于 Qwen Code CLI 的规范驱动开发
进度 0 / 135