跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

运行时、终端与上传排障

用安全模式定位定制故障,检查退出码、终端交互与反向代理上传限制。

先用最小复现区分 CLI、定制组件与运行环境的问题,再逐项恢复配置。

用安全模式隔离定制

qwen --safe-mode

安全模式停用上下文文件、Hooks、扩展、Skills、环境中的 MCP 配置、自定义 subagent、权限规则、设置中的审批覆盖、记忆和跨会话消息等。内置 subagent 仍加载,显式 --yolo 与 --approval-mode 仍生效。

显式传入本次调用的 --mcp-config 或 ACP session/new mcpServers 仍被接受,不能把安全模式理解为无条件禁止所有 MCP。Linux 操作者 executionSandbox 策略也仍保留;排障页笼统的“禁用沙箱设置”不覆盖专章的强制隔离说明。

QWEN_CODE_SAFE_MODE=true 可替代标志,但导出的变量会被子进程继承。由该 shell 启动的 daemon 或编辑器会让所有会话进入安全模式:不写会话记录,其他会话也不能列出或发消息给它们。排障后应为正常 daemon 取消该变量。

安装与 CI 检测

找不到 qwen 时检查 PATH、新终端与对应安装方式,见安装。MODULE_NOT_FOUND 在源码开发环境中可能表示依赖或构建不完整,不能把源码 npm install/build 当作所有独立安装的通用修复。

CLI 不显示交互提示时检查 CI、CONTINUOUS_INTEGRATION 或 CI_ 前缀变量;官方 UI 检测可能因此判定 CI。若该变量并非运行所需,可在单次命令中排除,例如 env -u CI_TOKEN qwen。

鼠标与滚动

ui.mouseTracking 默认启用,终端将鼠标事件交给 Qwen Code,其自带点击链接与上下文菜单。设为 false 可恢复终端原生处理,但应用内鼠标交互也会关闭。

默认 ui.useTerminalBuffer 为 true;关闭 mouseTracking 后,滚轮不再滚动虚拟历史,应使用 Shift+↑/↓、PgUp/PgDn 或 Ctrl+Home/End。还想恢复终端原生 scrollback 时再关闭 useTerminalBuffer,修改需重启。

tmux 可能将滚轮翻译为箭头键,导致切换输入历史。检查 tmux 的鼠标映射,或在非屏幕阅读器模式下用 Shift+Up/Down 滚动应用历史。

IDE Companion

确认 VS Code 只打开一个工作区目录,安装扩展后重启集成终端以继承 QWEN_CODE_IDE_WORKSPACE_PATH 和 QWEN_CODE_IDE_SERVER_PORT。容器中检查 host.docker.internal 解析。官方提供 /ide install 重新安装入口,并可在命令面板验证 Qwen Code: Run。

附件上传 413

反向代理可能在 daemon 收到请求前拒绝。daemon 单文件上限仍是 8 MiB,单纯增大 daemon body limit 不会改变代理限制。

支持 session_attachment_chunk_upload 的 daemon 与 TypeScript SDK/Web Shell 会把大于 512 KiB 的附件按 512 KiB 请求上传,不改变文件字节或图像质量。旧 daemon 仍走单请求,代理上限小于 512 KiB 时仍需调整。

上传过期或 daemon 重启后可从 UI 重试。已完成但响应丢失的文件可能仍在附件目录,取消不会删除已经完成的文件。

退出码

代码含义
41FatalAuthenticationError,认证失败
42FatalInputError,无头模式输入无效或缺失
44FatalSandboxError,沙箱环境错误
52FatalConfigError,配置无效
53FatalTurnLimitedError,无头模式达到会话轮数上限

工具失败时先确认最小操作、目标路径与权限;沙箱拒绝不等于模型故障,见沙箱入口。