codex调用外部服务失败时,需先用netstat检查端口占用,再通过禁用网络或启动mock服务解决;可声明不发起真实请求、修改config.toml禁用网络,或用node.js快速搭建mock server。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在 Codex 中运行需要调用外部测试服务(如 mock server、数据库、API 网关)的代码时,如果该服务未启动,Codex 会卡在执行阶段、报连接超时或直接抛出 ECONNREFUSED 错误,无法继续生成结果或验证逻辑。
确认依赖服务是否真没启动
打开终端,执行 netstat -ano | findstr :3001(把 3001 换成你服务实际监听的端口)。如果没有任何输出,说明该端口确实没被任何进程占用——服务很可能没起来。注意:别只看进程名,有些 mock 工具(比如 Mockoon)默认监听 localhost:3000,但 Codex 脚本里写的是 http://127.0.0.1:3000,而 Windows 的 hosts 文件若将 localhost 解析为 ::1(IPv6),就可能造成连接失败。
这一步操作起来很简单,直接把命令拖进去就行。如果看到 PID 列有数字,记下它,再用 tasklist | findstr "PID号" 查看对应进程名,确认是不是你要的服务。
让 Codex 自动跳过未就绪的依赖
方法一:在 prompt 中明确声明“不发起真实网络请求”
输入:【请分析以下 Python 测试代码逻辑,但不要实际运行;假设所有 HTTP 请求都已 mock,跳过 connect timeout 报错】
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
方法二:修改 config.toml 强制禁用网络访问
用文本编辑器打开 Codex 安装目录下的 config.toml → 找到 [runtime] 区块 → 在下方新增一行:allow_network = false → 保存文件。这会让 Codex 在沙箱内自动拦截所有 socket.connect 调用,并返回预设的 mock 响应体,避免因服务未启导致流程中断。
快速拉起一个最小 mock 服务
第一步:确认你已安装 Node.js(执行 node -v 验证)
第二步:在项目根目录新建 mock-server.js,粘贴以下内容:
const http = require('http');<br>http.createServer((req, res) => {<br> res.writeHead(200, {'Content-Type': 'application/json'});<br> res.end(JSON.stringify({status: 'ok', data: []}));<br>}).listen(3001);<br>console.log('Mock server running on http://localhost:3001');
第三步:终端执行 node mock-server.js → 观察是否输出监听日志 → 再切回 Codex,重试原任务。这一步必须等日志出现后才继续,否则 Codex 仍会报 ECONNREFUSED。










