用codex 不敢 --yolo ?又不想 Yes ?

水很深 2026-07-14 23:00 1



前言

用的codex cli,一直yes,yes 确实难受,还要一直盯着,稍微没注意,不知道等了多久没运行了

因此,昨天半夜在站里找了一圈

https://linux.do/t/topic/2311908

但是win cmd 报错 jq 没找到,折腾很久,还是算了 今天晚上才继续解决,因为不想点yes了



看终端好疲惫!


因害怕全自动代码生成把盘清空,而不敢开放所有权限; 想到使用 自动审批 来减少yes点击的频率 以及降低清空磁盘的风险。但是有很多 [1]站点,都没有 codex-auto-review 这个模型,因此,如果要使用自动审批,就需要动点手段了


下述命令运行环境均为 win cmd

1. 准备文件


# 创建文件夹 放置文件 
mkdir "%USERPROFILE%\.codex\model-catalogs" 2>nul
# 生成文件
codex debug models --bundled > "%USERPROFILE%\.codex\model-catalogs\_tpl.json"

# 查看文件大小
dir "%USERPROFILE%\.codex\model-catalogs\_tpl.json"


2. 设置审批模型


此处为 gpt-5.6-sol

如需修改为其他

-NotePropertyValue ‘gpt-5.6-sol’

将这个部分的名称修改即可

-NotePropertyValue ‘gpt-5.5’


powershell -NoProfile -ExecutionPolicy Bypass -Command "& { $p=Join-Path $env:USERPROFILE '.codex\model-catalogs\_tpl.json'; $o=Join-Path $env:USERPROFILE '.codex\model-catalogs\custom-models.json'; $tpl=Get-Content -Raw -Encoding UTF8 $p | ConvertFrom-Json; $m=$tpl.models[0] | ConvertTo-Json -Depth 40 | ConvertFrom-Json; $m.slug='gpt-5.6-sol'; $m.display_name='gpt-5.6-sol (proxy)'; $m.description='Main model via custom proxy'; $m.visibility='list'; $m.supported_in_api=$true; $m | Add-Member -NotePropertyName auto_review_model_override -NotePropertyValue 'gpt-5.6-sol' -Force; $json=([pscustomobject]@{models=@($m)} | ConvertTo-Json -Depth 40); [System.IO.File]::WriteAllText($o,$json,(New-Object System.Text.UTF8Encoding $false)); Write-Host OK; Write-Host $o }"

输出应为:


OK
C:\Users\xxx\.codex\model-catalogs\custom-models.json

验证是否成功


findstr /i "slug auto_review_model_override" "%USERPROFILE%\.codex\model-catalogs\custom-models.json"
powershell -NoProfile -Command "Get-Content -Raw ($env:USERPROFILE+'\.codex\model-catalogs\custom-models.json') | ConvertFrom-Json | Out-Null; 'JSON_OK'"

输出:


"slug": "gpt-5.6-sol"
"auto_review_model_override": "gpt-5.6-sol"
JSON_OK


3. 修改配置文件 config.toml


model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\custom-models.json"
approval_policy = "on-request"
approvals_reviewer = "auto_review" # 这个地方一定要加,不然用不了!!!
sandbox_mode = "workspace-write"


如果不行输入这个 json路径

那就:


powershell -NoProfile -ExecutionPolicy Bypass -Command "& { $c=Join-Path $env:USERPROFILE '.codex\config.toml'; $path=((Join-Path $env:USERPROFILE '.codex\model-catalogs\custom-models.json') -replace '\\','\\'); $line=\"model_catalog_json = `\"$path`\"\"; $t=Get-Content -Raw -Encoding UTF8 $c; if($t -match 'model_catalog_json\s*='){ $t=[regex]::Replace($t,'model_catalog_json\s*=\s*\".*?\"',$line,1) } else { $t=$line + [Environment]::NewLine + $t }; [System.IO.File]::WriteAllText($c,$t,(New-Object System.Text.UTF8Encoding $false)); Write-Host DONE; Write-Host $line }"

4.测试是否成功


如果就在此时正在运行的工作区,那就 重启 codex,再进行测试

否则,随便创建一个文件夹,为工作区,打开codex cli;让codex 在工作区外 写入文件,触发自动审批




成果



ps:如有疏漏,还望指正 ^-^^-^^-^










  1. ^-^发现常用的就 小鸡毛没有 ^-^

    ↩︎



最新回复 (10)
  • 一只羊蝎子 07-14 23:09
    1

    我的选择是弄一个虚拟机,直接给他关虚拟机里然后 full access。期间的阶段性成果就让他 git push 到 github 里去 ^-^

  • SKT.Shinyruo 07-14 23:10
    2

    不是直接设置为approve for me就可以了吗

  • 若时间无垠 07-14 23:14
    3

    放在wsl里,直接来yolo搞去吧

  • Yang 07-14 23:16
    4

    可以试试docker sandox隔离

  • xrall 07-15 10:05
    5

    用cpa的话,直接使用模型映射就行了

  • Grep_your_coding 07-15 11:32
    6

    我现在就是这么干的, 丢docker 容器里面去开发, 用ssh agent socket给ssh key 去提交代码

  • 水很深 楼主 07-17 09:53
    7

    cpa 套一层有点麻烦() 我是codex+ccs

    但是ccs 的codex 好像没有模型映射?应该是模型映射好像有问题,用不了 ^-^ 可能是我的设置还有点问题

  • 阿松 07-23 19:17
    8

    请问下YOLO mode 是什么意思呀

  • 阿松 07-23 19:19
    9

    @beizhi 谢谢!!第一次用codex-cli

  • diff 07-23 19:21
    10

    直接新建一个ssh用户,不给root权限,让它折腾

* 帖子来源Linux.do
返回