codex CLI使用技巧

文章为个人辛苦整理,已加入原创侵权保护,禁止私自转载。

文章所在专栏:《黑猫的AI工具箱》

1 为什么建议用CLI

做嵌入式开发,linux环境下编译代码。通过Samba/UNC虽然映射到Windows上。但通过codex应用访问代码,还是容易出现访问权限等各种问题。 问题通常表现为:路径访问失败、权限拒绝、文件找不到、PowerShell 在网络路径下异常、写文件失败。

此时codex又会想各种办法绕过,无端消耗token。并且浪费时间。

使用filezila去windows和linux同步代码的方案呢?

长期做嵌入式开发会有几个坑:

  1. 双份代码容易不一致
    Windows 一份、Ubuntu 一份,Codex 改了 Windows,编译在 Ubuntu,哪边是准的很快会乱。
  2. 同步粒度容易出问题
    FileZilla/SFTP 同步有时会漏隐藏文件、权限位、软链接、时间戳,嵌入式项目里这些经常要命。
  3. 编译产物和源码会混在一起
    大工程里 out/、build/、*.o、日志文件很多,双向同步容易慢,也容易把不该同步的东西同步过去。
  4. 你还是要解决"谁改代码"
    如果 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就好了。

对应关系:

  1. 请求批准:approval_policy = "on-request"
  2. 替我审批:approval_policy = "on-failure"
  3. 完全访问权限:
  4. sandbox_mode = "danger-full-access"
  5. 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命令让其搜索相关内容即可。

c 复制代码
pdftotext -layout Bluetooth.pdf dBluetooth.txt
rg -n -i "A2DP|GATT|mesh" Bluetooth.txt

实际上让codex自己读pdf,它使用的也大概率是如上两个命令 。

相关推荐
Shockang2 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang2 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab4 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源