• 水很深

    前言

    用的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:如有疏漏,还望指正 ^-^^-^^-^


    - 图片

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

    ↩︎

    主楼
  • 一只羊蝎子

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

    #1
  • SKT.Shinyruo

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

    #2
  • 若时间无垠

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

    #3
  • Yang

    可以试试docker sandox隔离

    #4
  • xrall

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

    #5
  • Grep_your_coding

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

    #6
  • 水很深

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

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

    #7
  • 阿松

    请问下YOLO mode 是什么意思呀

    #8
  • 阿松

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

    #9
  • diff

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

    #10

发表回复

登录后回复