Qwen Code
部分 MSYSTEM/TERM 嗅探 → Git Bash 查找 Windows macOS Linux 难度 中
自 gemini-cli 分叉后自带 MSYSTEM/TERM 嗅探与 Git Bash 查找——设 MSYSTEM=MINGW64(实验)即可命中安装器布下的 bash 启动器。
PowerShell · 设 MSYSTEM(实验性,见注意事项)
[Environment]::SetEnvironmentVariable('MSYSTEM', 'MINGW64', 'User') 步骤
- 运行上面的命令把 MSYSTEM=MINGW64 持久化到用户环境,重开终端生效
- Qwen Code 的 isGitBash 分支命中后按 PATH → C:\Program Files\Git\bin\bash.exe 顺序找 bash.exe——后者由 niubash 安装器布放,命中即经启动器进 niu
验证
echo $MSYSTEM; echo "SHELL=$SHELL"; uname -s ——MSYSTEM=MINGW64 且 uname 报 MSYS_NT- 说明走到 bash 分支
回滚
[Environment]::SetEnvironmentVariable('MSYSTEM', $null, 'User') 注意事项
- 源码核实(2026-10-21 HEAD,QwenLM/qwen-code packages/core/src/utils/shell-utils.ts getShellConfiguration()):MSYSTEM 前缀 MINGW/MSYS 或 TERM 含 msys/cygwin → findGitBashPath()(PATH 扫 bash.exe → Program Files 两级硬编码路径);否则回落 ComSpec(cmd/PowerShell)
- 与上游 Gemini CLI 的「无条件 PowerShell」不同:Qwen Code 自 gemini-cli v0.8.2 分叉(README 致谢段声明)、v0.1 起独立发展,两家的接入状态互不适用
- agents.md 陷阱条款:MSYSTEM 在 niu 会话默认为空,设它是未测实验、会改变其它 MSYS 感知工具的行为
- 读码结论,未逐台实测;实测通过可升 ready
来源
QwenLM/qwen-code packages/core/src/utils/shell-utils.ts(getShellConfiguration / findGitBashPath)qwen-code README(gemini-cli v0.8.2 分叉声明)agents.md「Known traps」(MSYSTEM)- agents.md(探测机制完整文档)↗