跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.qoder.com/llms.txt

Use this file to discover all available pages before exploring further.

Agent 在执行任务时会直接在终端中运行 shell 命令。Qoder 采用分层安全模型,根据当前运行模式和命令的风险等级,自动决定命令是直接执行、在沙箱中隔离执行,还是暂停等待你确认。目标是在保持自动化效率的同时,防止意外的破坏性操作。

执行模式

Qoder 根据不同的使用场景提供不同的执行模式,在自动化效率和安全保护之间取得平衡。

Agent 模式

  • 直接执行的命令:当终端执行不在内置风险类别中的常规开发命令(如 npm installgit statuspython test.py)会直接自动运行,无需干预。
  • 触发确认的命令:命中潜在风险类别或在你配置的黑名单中的命令,会暂停执行并等待你在 IDE 中批准或拒绝。

Experts 模式

Experts 模式自动化程度更高。
  • 直接执行的命令:所有不在内置风险类别中的命令都会直接执行,不检查用户自定义的黑名单。
  • 沙箱执行的命令:潜在危险命令自动在沙箱中执行,无需你确认。
  • 权限升级:如果命令在沙箱中因限制而失败,或模型判断该命令在沙箱内一定会失败,AI 会分析原因并可能请求升级权限。此时 Qoder 暂停并询问你是否批准在终端中执行。

潜在危险命令

涉及文件删除、磁盘操作、权限管理、网络配置等类别的命令会被系统识别为潜在风险。在 Agent 模式下,这类命令会暂停并等待你确认;在 Experts 模式下,这类命令会自动进入沙箱执行。 此外,AI 模型会根据命令语义独立判断风险,即使命令不在上述类别中。

沙箱

沙箱是 Experts 模式下使用的隔离执行环境,潜在危险命令在其中运行,确保它们只能访问工作区目录,防止误操作影响系统文件。

平台要求

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

沙箱的工作方式

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

沙箱升级流程

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

注意事项

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