天天AI
教程 登录 免费注册

首页 / 教程

Codex CLI 保姆级安装

安装 OpenAI Codex CLI,用天天AI 免官方登录直连,配置后即可在终端写代码。

想在终端里让 AI 直接读项目、改代码、跑命令,又不想绑定 ChatGPT 订阅?

试试 Codex:OpenAI 官方出的终端 AI Coding Agent。装好、配上天天AI,就能开聊。

本文只讲 CLI(命令行)。Codex 的 IDE 扩展、云端版本有兴趣可自行去官网看,这里不展开。

关于文中的链接: 文中会挂官网文档链接,主要是给想深入了解或事后备忘用的。按本文步骤照做一般就够了,不必把每个链接都点开看一遍。

同系列教程:

一、它是什么

Codex 是 OpenAI 官方的终端 Agent:能读你的代码仓库、改文件、跑 shell、帮你处理 Git,用自然语言跟它说话就行。

二、安装

官方推荐用 npm(要求 Node 22 以上)。先在终端敲一句:

node -v

能打出版本号 → 走情况一;提示找不到命令 → 走情况二。

情况一:已有 Node.js(用 npm)

没有 Node 的话,去 https://nodejs.org/ 下载 LTS,装完新开终端,确认 node -v / npm -v 有版本号,再回来。

npm install -g @openai/codex

装完新开一个终端,再确认:

codex --version

能打出 codex-cli 开头的版本号就对了。

情况二:macOS 用 Homebrew

brew install --cask codex

装完同样新开终端,跑 codex --version。

Windows 用户建议走 WSL(按情况一装),原生支持还不太稳:https://learn.microsoft.com/zh-cn/windows/wsl/install

三、配置(先跑通最小闭环)

这一步的目标很简单:让 Codex 能连上模型开始干活。
官方那套「登录 ChatGPT 订阅」又贵又绕,新手直接跳过。本文用 天天AI 一把配好。

关于官方登录
装完第一次跑 codex,默认会让你登录 ChatGPT 账号(见 https://developers.openai.com/codex/cli/)。

本文不走这条。 按下面把天天AI 写进配置文件,Codex 检测到自定义供应商后就不会再弹官方登录。

正确做法:

  1. 先下载模型目录、写好下面的配置文件
  2. 再启动 codex
  3. 直接用中文说需求

1. 先拿到天天AI 的密钥

  1. 打开 https://ai.ttshuli.com 注册并登录
  2. 进控制台,创建一个 API 密钥(一般长这样:sk-mt-...)
  3. 复制保存好,后面要贴进配置文件;别发到群里、别截图露出来

站点文档页也有同款接入说明,可对照:https://ai.ttshuli.com/docs.html

2. 下载模型目录

启动 codex 前先执行一次,/model 才会列出平台提供的模型:

mkdir -p ~/.codex
curl -fsSL https://ai.ttshuli.com/codex-model-catalogs.json -o ~/.codex/model-catalogs.json

3. 写配置文件:config.toml

目录(没有就新建):

  • macOS / Linux:~/.codex/
  • Windows(WSL):~/.codex/

新建或编辑 config.toml,粘贴下面整段(把密钥换成你的):

model = "auto"
model_provider = "tiantian"
model_catalog_json = "~/.codex/model-catalogs.json"
approval_policy = "never"
sandbox_mode = "danger-full-access"

[model_providers.tiantian]
name = "天天AI"
base_url = "https://ai.ttshuli.com/v1"
wire_api = "responses"
http_headers = { "Authorization" = "Bearer 这里换成你的密钥" }

要点:

  • base_url 写带 /v1 的 OpenAI 兼容地址 https://ai.ttshuli.com/v1。Codex 走的是 OpenAI 协议;Claude Code 那篇写的站点根不带 /v1,两边别抄混。
  • wire_api = "responses" 是协议档位。 Codex 只支持 Responses 协议(旧的 chat/completions 协议已于 2026 年 2 月起移除,详见官方公告 https://github.com/openai/codex/discussions/7782)。网上旧教程让你写 wire_api = "chat" 的,在新版 Codex 会直接报配置错误,别抄。
  • 密钥直接写在配置文件里:http_headers 那行就是鉴权头,Bearer 和密钥之间有一个空格,整串原样保留。不习惯 TOML 写法的照抄即可;改密钥时也只改这一行。
  • model 填 auto,让天天AI 自己选最优模型。名单会定期更新,新手别死盯某个具体模型名。
  • 上下文窗口在模型目录里:model-catalogs.json 每条模型带 context_window / max_context_window,平台统一为 180000。Codex 不从 /v1/models 读窗口,只认这份目录;换机或目录更新后重新跑上面的 curl 覆盖本地文件。
  • approval_policy 和 sandbox_mode 必须写在文件顶层,和 model、model_provider 并列。写进 [model_providers.tiantian] 里会被丢掉,Codex 仍按默认的「每次确认 + 只能写当前项目」不停弹权限。sandbox_mode = "danger-full-access" 没有冒号(那是旧沙箱字段);新版权限档才写成 default_permissions = ":danger-full-access",两套不要混用,本教程只用 sandbox_mode。改完新开一轮会话才生效。

4. 打开 Codex

进到你的项目目录,启动:

cd /你的项目路径
codex
  • 第一次在某个目录启动,会问你是否信任该目录,选信任即可
  • 因为已配置自定义供应商,正常不会再要求登录;万一弹出 ChatGPT 登录页,退出检查 config.toml 顶层 model_provider = "tiantian" 与 [model_providers.tiantian] 名字是否一字不差

进去之后直接打字,例如:

这个项目是干什么的?

能正常回答,就说明配置通了。

四、怎么用(入门够用)

先问再改

第一次进项目,先让它摸清结构,再动手改代码。例如:

这个项目用了哪些技术?入口在哪?

再给一个具体任务:

给用户列表页加上按昵称搜索,复用现有表格组件,别改接口协议

说清楚「改哪、约束是什么」,比只说「修一下」省 Token、也少返工。

权限:别把两句写错位置

上面示例已经加了 approval_policy = "never" 和 sandbox_mode = "danger-full-access":跳过命令确认,并关掉文件系统沙箱(本机全权,自行承担风险)。

这两句只能写在文件顶层。 塞进 [model_providers.tiantian] 等于没写。改完要新开一轮会话。若用的是 VS Code / Cursor 里的 Codex 面板,面板自己的 Approvals / Sandbox 会覆盖配置文件,面板里也要选 Never + Full Access。

想每次都确认的话,删掉这两句,或在会话里用 /approvals 改回去。

常用启动方式

在系统终端里:

命令 作用
codex 进入当前目录的交互会话
codex resume 恢复上一次会话继续聊
codex "一句话" 带着初始任务开聊
codex --version 看版本

会话里常用

命令 作用
/help 看有哪些斜杠命令
/init 生成 AGENTS.md(项目说明,见下)
/diff 看本次会话改了什么
/quit 退出(也可按两次 Ctrl+C)

输入 / 可以唤出命令列表。

可选:项目里放一份 AGENTS.md

在项目根目录放 AGENTS.md,写上技术栈、目录约定、别乱动的红线等。有的话它更懂你的项目;没有也不妨碍先试用(Claude Code 用户的 CLAUDE.md 与之等价,内容可直接复用)。

五、省钱与排障

你前面已经用天天AI 接好了,比官方订阅通常便宜一截。再用几条习惯继续省:

  1. 模型保持 auto,让系统选;小活别硬指定最贵的那档
  2. 任务说清楚范围(改哪个文件、不要动什么)
  3. 大改可以先让它「只分析、先别改代码」,确认方案再动手

常见问题:

  • codex 找不到:新开终端;确认 npm 全局目录在 PATH 里;重装一次 npm install -g @openai/codex
  • 报配置错误 / 提示 wire_api 不支持:说明在用旧版 Codex 或抄了旧教程的 wire_api = "chat"。把配置里的 wire_api 改成 "responses";还不行就升级:npm install -g @openai/codex@latest
  • 报鉴权错误 / 401:检查 config.toml 里 http_headers 那行,Bearer 后面有空格、密钥是完整的 sk-mt-...;回控制台确认密钥没删、余额够
  • 报 404 / 找不到端点:检查 base_url 是不是 https://ai.ttshuli.com/v1(别漏 /v1、别多写路径)
  • 仍弹 ChatGPT 登录:检查 config.toml 顶层 model_provider = "tiantian" 与 [model_providers.tiantian] 名字是否一字不差
  • 仍不停弹权限确认:approval_policy / sandbox_mode 写错位置了。必须在 [model_providers.tiantian] 上面的顶层;写在表里面等于没写。改完新开会话。IDE 面板也会覆盖配置,面板里同样改成 Never + Full Access
  • 要换密钥:改 config.toml 里 http_headers 的 Bearer 后面那一串,重启 Codex 即可

官网速查

装完先跑:写好 ~/.codex/config.toml(密钥在 http_headers 里)→ cd 进项目 → codex → 问一句「这个项目是干什么的」;通了再丢一个小改动任务。