Skip to main content
Editor

终端与沙箱

运行命令

Editor 提供集成终端,也支持智能体根据任务调用终端工具执行构建、测试等命令。 手动运行命令时,从命令面板选择 终端:创建新的终端,确认当前目录后输入命令。在智能体会话中,检查命令卡片的内容和工作目录,再根据提示选择运行或取消。

执行设置

打开 Qoder IDE 设置 → 会话 → 自动执行 → 终端,查看当前执行策略和命令清单。“每次询问”会要求你确认命令;自动执行行为取决于实际配置。 遇到运行问题时,参见终端执行异常说明。

沙箱

沙箱是 Experts 模式下使用的隔离执行环境。潜在危险命令在沙箱中运行时,文件系统访问受到限制,以减少误操作对系统文件的影响。

平台要求

  • macOS:开箱即用,无需额外配置。基于系统自带的 Seatbelt 框架实现内核级隔离。
  • Windows:基于自研沙箱引擎实现,随 IDE 分发。支持 Windows 7 及以上所有版本。无需安装 WSL 或其他额外依赖,在原生 Windows 终端中直接工作。
  • Linux:需要安装 bubblewrap(bwrap)。基于内核的 user namespace 构建轻量隔离环境。首次使用时,如果检测到 bwrap 未安装,Qoder IDE 会弹窗引导一键安装(自动识别 apt / dnf / yum / pacman / zypper)。如果不安装,将降级为非沙箱执行并给出提示。

沙箱的工作方式

沙箱在允许工作区操作的同时,阻止未经授权的访问:
  • 文件系统:工作区目录可写,其余目录只读;~/.ssh 等敏感路径对沙箱内进程不可见。

沙箱升级流程

Experts 模式下,命令在沙箱中执行时可能发生以下情况:
  1. 命令在沙箱中执行并失败。
  2. AI 分析失败原因,判断是否为沙箱限制导致。
  3. 如果是沙箱限制导致,AI 请求升级权限。
  4. Qoder IDE 暂停,询问你是否批准。
  5. 你批准后,命令在终端直接执行(无沙箱限制)。
你可以选择取消该命令,让 Agent 尝试其他操作;或者选择在终端中执行,不受沙箱限制重新运行该命令。

注意事项

  • 域名级网络过滤:目前网络控制为粗粒度的开/关模式。
  • Linux 容器环境:在 Docker 等容器内使用 Qoder IDE 时,沙箱的隔离能力受限,目前仅做文件系统和网络隔离。
  • Windows 沙箱为用户态机制:目标场景是防住误伤性写入和意外外联,不能完全覆盖对抗性攻击(如进程已获取提权能力)。
  • Shell 主题兼容性:某些 shell 主题(例如 Powerlevel9k/Powerlevel10k)可能会干扰终端输出。如果命令输出出现截断或格式错乱,建议在 Agent 运行时禁用该主题或切换到更简洁的提示符。