文章为个人辛苦整理,已加入原创侵权保护,禁止私自转载。
文章所在专栏:《黑猫的AI工具箱》
1 为什么建议用CLI
做嵌入式开发,linux环境下编译代码。通过Samba/UNC虽然映射到Windows上。但通过codex应用访问代码,还是容易出现访问权限等各种问题。 问题通常表现为:路径访问失败、权限拒绝、文件找不到、PowerShell 在网络路径下异常、写文件失败。
此时codex又会想各种办法绕过,无端消耗token。并且浪费时间。
使用filezila去windows和linux同步代码的方案呢?
长期做嵌入式开发会有几个坑:
- 双份代码容易不一致
Windows 一份、Ubuntu 一份,Codex 改了 Windows,编译在 Ubuntu,哪边是准的很快会乱。 - 同步粒度容易出问题
FileZilla/SFTP 同步有时会漏隐藏文件、权限位、软链接、时间戳,嵌入式项目里这些经常要命。 - 编译产物和源码会混在一起
大工程里 out/、build/、*.o、日志文件很多,双向同步容易慢,也容易把不该同步的东西同步过去。 - 你还是要解决“谁改代码”
如果 Windows Codex app 改 C 盘代码,然后 FileZilla 传回 Ubuntu 编译,这条链路更绕。
因此,建议ubuntu安装CLI。
codex cli 就是可以直接对话的。你不用记一堆命令。你把它理解成:在 Ubuntu 代码目录里打开的“终端版 Codex 聊天窗口”。
cd /你的/代码目录
codex
进去之后直接打中文,比如:
帮我看一下main函数是如何实现的,具体步骤是什么。
你不用一开始就学 CLI 命令。
2 常用命令
如下列出常见的一些codex使用命令。
注意,这些命令是有 / 的。其实在对话窗口,输入 / 就会自动出来codex相关命令。
3 使用技巧
3.1 查看历史对话
退出当前 Codex 后,在项目目录执行:codex resume
如果只想继续最近一次:codex resume --last
3.2 切换推理思考模型强度:中高低
进入 codex 后输入:
/model
然后按界面提示选择:
model
reasoning effort / thinking level
一般会有类似:
minimal
low
medium
high
xhigh
3.3 修改权限审批等级
在windows codex app中,有权限审批选型,但是在codex cli中,如何修改权限审批等级呢?
在 Codex CLI 里主要对应 ~/.codex/config.toml 里的两个配置:
sandbox_mode = “workspace-write”
approval_policy = “on-request”
你现在配置里已经有这两项了。如果要修改,就修改config.toml就好了。
对应关系:
- 请求批准:approval_policy = “on-request”
- 替我审批:approval_policy = “on-failure”
- 完全访问权限:
- sandbox_mode = “danger-full-access”
- approval_policy = “never”
如果临时使用想要改动的话,使用如下命令:
codex --sandbox workspace-write --ask-for-approval on-request
3.4 CLI中带上文件/截图
CLI可以直接使用截图、文件,不需要在windows codex app上发送截图和文件。
codex --add-dir ~/codex_inbox -i ~/codex_inbox/error.png “结合截图、build.log 和当前仓库代码,定位问题。先不要改代码。”
在ubuntu中使用codex CLI,也可以直接截图copy到对话窗口即可。如图,即图片已经被带入到该对话窗口了。
3.5 关于让codex阅读pdf文件
codex基本读不了pdf文件,word也勉强。最好是.md或者.txt文件。所以当我们有data sheet需要code参考,可以用如下命令,将pdf文件转为txt。然后再用rg命令让其搜索相关内容即可。
pdftotext-layout Bluetooth.pdf dBluetooth.txt rg-n-i"A2DP|GATT|mesh"Bluetooth.txt实际上让codex自己读pdf,它使用的也大概率是如上两个命令 。