快速结论

Codex CLI

  • --yolo 等价于 --dangerously-bypass-approvals-and-sandbox。
  • -a on-request --sandbox danger-full-access 不是 --yolo,因为仍会触发审批。

Claude Code CLI

  • --dangerously-skip-permissions 是“完全跳过权限确认”的高风险模式。
  • --permission-mode acceptEdits 是常用折中:自动接受编辑,但高风险操作仍会确认。
  • --allowedTools / settings.json 可做白名单细粒度控制。

当前系统最终配置(~/.bashrc)

> 以下是当前机器已验证可用的最终版本。

# 代理开关(当前 shell 会话)
proxy-on() {
    source "$HOME/proxy.sh"
    echo "proxy enabled: ${http_proxy:-$HTTP_PROXY}"
}

proxy-off() {
    unset http_proxy https_proxy all_proxy no_proxy
    unset HTTP_PROXY HTTPS_PROXY ALL_PROXY NO_PROXY
    echo "proxy disabled"
}

# 单命令无代理执行
env-noproxy() {
    env -u http_proxy -u https_proxy -u all_proxy -u no_proxy \
        -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY -u NO_PROXY \
        "$@"
}

# Codex
alias solo-codex='env-noproxy codex --yolo'
alias auto-codex='env-noproxy codex --dangerously-bypass-approvals-and-sandbox'
alias full-codex='env-noproxy codex -a on-request --sandbox danger-full-access'

# Claude Code
alias solo-claude='env-noproxy claude --dangerously-skip-permissions'

env -u 与 unset 的区别

env -u VAR cmd:

  • 只影响当前 cmd 及其子进程;
  • 不修改当前 shell 会话环境;
  • 适合别名封装“本次命令无代理”。

unset VAR; cmd:

  • 修改当前 shell 环境;
  • 影响后续命令,直到重新导出变量;
  • 适合整会话切换代理状态。

因此:solo-codex / solo-claude 用 env-noproxy;全局开关用 proxy-on / proxy-off。

验证命令

bash -n ~/.bashrc
bash -ic 'type env-noproxy; alias solo-codex; alias auto-codex; alias full-codex; alias solo-claude'
bash -ic 'solo-codex --version; auto-codex --version; full-codex --version; solo-claude --version'

期望结果(2026-04-08 实测环境):

  • solo-codex / auto-codex / full-codex 返回 codex-cli 0.118.0
  • solo-claude 返回 2.1.66 (Claude Code)
  • 版本号会随工具升级变化,重点是参数存在且语义一致。

风险分层建议

工具别名/模式风险说明
Codexsolo-codex高等价 --yolo,审批和沙箱都放开
Codexfull-codex中danger-full-access + on-request,仍有人工兜底
Claudesolo-claude高--dangerously-skip-permissions,仅建议可信/隔离环境
Claude--permission-mode acceptEdits低~中编辑自动通过,其他高风险操作仍确认
Claude--allowedTools + default低白名单优先,日常最稳妥

信息来源