Back/harness engineering

Bespoke CLIs for Codex

Updated 2026-04-11
2 min read
333 words

Bespoke CLIs for Codex

Codex 擅长使用工具——当工具可以被表达为精确命令时。这听起来显而易见,但它改变了作者思考如何让 Codex 访问日常工具的方式。

Connector 或 MCP server 适合访问,但当源输出太大、太嘈杂或太尴尬时,往往需要一些在旁边的东西:带 flags 的命令、稳定的 JSON、可预测的错误、帮助屏幕。


核心论点

"Codex 擅长搜索、缩小范围、重试、管道输出、将大结果写入文件、检查 --help、以及从上一条结果组合下一条命令。仪式很少。"

Bespoke CLI 不是 connector 的替代品。它们坐在 connector 旁边,当作者想让 Codex 处理一个大源而不把整个东西拖进对话时。


三个实际使用的 CLI 案例

1. codex-threads — 会话历史管理

问题:原始会话存档太嘈杂,无法直接交给 Codex。它包括工具输出、部分尝试、只在那个时刻有用的上下文。你可以让 Codex 直接读取它的线程,但如果你经常这样做,它会变慢且嘈杂。

解决方案codex-threads CLI

codex-threads --json sync
codex-threads --json messages search "build a CLI" --limit 20
codex-threads --json threads resolve "tweet idea"
codex-threads --json threads read <session-id>
codex-threads --json events read <session-id> --limit 50

它维护 ~/.codex/sessions 的本地可搜索索引,给 Codex 搜索、解析和读取旧线程的命令。

价值:把线程变成 skill 时特别有用。很多好的 skill 始于"找到那个做得好的线程,然后保留模式"。


2. slack-cli — Slack 研究

问题:当答案埋在一个不会手动去找的线程里时,需要让 Codex 读取 Slack。

解决方案slack-cli —— 命令形状的工具

slack-cli search "app server auth" --all-pages --max-pages 3 --json
slack-cli resolve-permalink "https://openai.slack.com/archives/..."
slack-cli read-thread L143 123522523239.633199 --json
slack-cli context R152 25723525099.626199 --before 5 --after 5 --json

这让 Codex 能够广泛搜索、解析确切线程、拉取附近上下文、引用重要的消息。

注意:仍然使用批准的 Codex apps 网关,不是权限变通方案。


3. typefully-cli — 内容创作

问题:Typefully 有很好的 API,但不需要 Codex 每次帮忙起草时都重新学习整个 API。只需要实际使用的几个操作。

解决方案typefully-cli —— 小型 Rust 二进制文件

typefully-cli --json drafts list --social-set <id> --limit 20
typefully-cli --json drafts read --social-set <id> <draft-id>
typefully-cli --json drafts create --social-set <id> --body-file draft.json
typefully-cli --json media upload --social-set <id> ./image.png
typefully-cli --json queue schedule-read --social-set <id>

Skill 包装的重要性:告诉 Codex 使用 JSON、默认创建草稿、当 shell 引号变得烦人时使用 body file、除非明确要求否则绝不发布/安排/删除/覆盖任何东西。

"那最后一部分就是重点。我不想每次请求帮忙写帖子时都输入'不要发布这个'。"


构建你自己的

有用的部分很简单:如果你不断把相同的文档、导出、日志或 API 怪异之处交给 Codex,你通常想要停止解释它,而是给它一个命令。

然后把这个 CLI 包装在 skill 里,这样 Codex 记得如何使用它。

资源


关键设计原则

原则 说明
精确命令 Codex 擅长使用可以表达为精确命令的工具
稳定 JSON 机器可解析的输出格式
可预测错误 一致的退出码和错误信息
帮助屏幕 --help 让 Codex 自我发现
可组合性 搜索、过滤、管道、写入文件
Skill 包装 告诉 Codex 如何使用 CLI 的元层

Sources

Sources

Linked from