Codex怎么实现实时消息推送到页面

陌婷君_3409

陌婷君_3409

2026-10-13

145人浏览

原创

必须用 websocket 建立本地 codex cli 与浏览器的双向流式通道:先运行 codex run --json --server 启动服务,再在前端 new websocket("ws://127.0.0.1:8080") 连接,按 type 分发 item.delta/item.completed 等消息,配合防 xss 渲染、重连机制与 pendingitems 状态追踪确保实时性与可靠性。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

codex怎么实现实时消息推送到页面

要在网页中实时接收 Codex 执行结果或状态更新,必须绕过传统 HTTP 轮询,建立从本地 Codex CLI 到浏览器的低延迟、双向、流式通道;否则页面永远只能手动刷新才能看到新输出,失去“实时性”本质。

用 WebSocket 桥接本地 Codex 与浏览器

这一步是核心通路,不能跳过任何环节。WebSocket 是唯一能承载 Codex 流式 JSON 输出(如 item.started→item.delta→item.completed)的协议,HTTP 请求无法持续接收增量响应。

第一步:确保 Codex CLI 已启动并处于监听模式——运行 codex run --json --server,终端应显示 “Server listening on ws://127.0.0.1:8080”。注意:不加 --server 参数则无 WebSocket 服务,后续所有前端连接都会失败。

第二步:在网页中新建 WebSocket 实例,地址必须与上一步完全一致:const ws = new WebSocket("ws://127.0.0.1:8080");。若端口被占用或地址写成 http://,浏览器控制台将报错 "Error during WebSocket handshake",且不会重连。

第三步:监听 message 事件,对收到的原始 JSON 字符串做类型分发。Codex 的每条消息都是标准 JSON 对象,但 type 字段决定语义:item.delta 表示流式文本片段,item.completed 表示一个完整单元结束,command_execution 表示正在执行命令。必须按 type 区分处理,否则页面会把命令日志和最终答案混在一起显示。

前端页面渲染实时内容

方法一:原生 DOM 追加(适合调试与轻量展示)

为防止 XSS,不要直接 innerHTML 插入未过滤的 text 字段。先创建 <div class="log-line"></div> 元素,再用 textContent = data.item.text 写入,最后 append 到容器。这样既保留换行与空格,又杜绝脚本注入。

Codex Imagen
Codex Imagen

通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存

下载

方法二:Vue 3 响应式渲染(适合集成进管理后台)

定义 ref 数组 logs: ref([]),在 WebSocket 的 onmessage 回调中执行 logs.value.push({ type: data.type, text: data.item?.text || '' })。模板中用 v-for 渲染,配合 :class="`log-${item.type}`" 动态着色。注意:必须用 push 而非 replace 整个数组,否则 Vue 无法触发视图更新。

方法三:React + useEffect Hook(适合已有 React 项目)

用 useState 初始化 logEntries: [],再用 useEffect 设置 WebSocket 连接。关键点在于 cleanup 函数必须调用 ws.close(),否则每次组件重渲染都会新建连接,导致浏览器快速耗尽 socket 句柄。这是实际开发中最常被忽略的内存泄漏源头。

处理 Codex 流式输出中的中断与重连

第一步:监听 WebSocket 的 onclose 事件,在回调中启动指数退避重连——首次 1 秒后重试,失败则 2 秒、4 秒、8 秒……上限设为 30 秒。硬编码固定间隔会导致本地 Codex 重启时大量无效连接涌向已关闭端口。

第二步:在每次成功 reconnect 后,向 Codex 发送一条心跳指令:ws.send(JSON.stringify({ type: "ping", timestamp: Date.now() }))。Codex 收到后会返回 pong 响应,确认通道活性。没有这步验证,页面可能误以为连接正常,实则消息早已堆积在内核缓冲区无法送达。

第三步:前端需维护一个 pendingItems Map,key 为 item.id,value 为 { startedAt, lastDelta, completedAt }。当收到 item.completed 却找不到对应 started 记录时,说明中间有消息丢失,应标记该条目为“不完整”,并在 UI 中以灰色斜体显示,避免误导用户。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

codex codex全栈开发

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Codex AI 编程代理与智能开发工作流
Codex AI 编程代理与智能开发工作流

Codex 是一款超越传统代码生成的 AI 编程代理,致力于构建全生命周期的智能开发工作流。通过持久线程保留上下文,支持多智能体并行协作与后台自动化运维。借助沙箱权限控制、Plan/Steer 任务管理机制,Codex 既能自主拆解并执行复杂工程任务,又能让开发者牢牢掌控项目进程。从需求分析、编码测试到代码审查与部署,Codex 将 AI 深度融入研发全链路,极大提升了软件工程的交付效率与质量标准。

2026.05.26

514

10

Codex API集成与AI编程生态开发
Codex API集成与AI编程生态开发

Codex API 集成是构建下一代 AI 编程生态的核心基石,能通过 API 将强大的代码生成与推理能力无缝接入 VS Code、JetBrains 等主流 IDE 插件,还能将其深度嵌入 CI/CD 流水线,实现自动化的代码审查、单元测试生成与 Bug 修复。结合 Amazon Bedrock 等云平台的托管服务,企业可以灵活打造符合内部安全规范的专属 AI 编程助手。

2026.05.26

224

10

Codex 模型原理与AI软件工程进阶
Codex 模型原理与AI软件工程进阶

Codex 是基于通用大模型底座,通过海量代码语料与真实 Pull Request 进行专项微调的代码专用模型,能深度理解代码语法树与跨文件依赖,实现从自然语言到高质量工程代码的精准转化。在 AI 软件工程进阶中,Codex 推动了从提示词工程向“驾驭工程(Harness Engineering)”的范式跃迁。

2026.05.26

177

10

Codex AI编程工具新手指南
Codex AI编程工具新手指南

全面解析Codex AI编程工具的核心原理、功能特点与实际用途,提供适合新手的Codex入门教程、环境配置方法、代码生成演示与常见问题解答,帮助开发者快速掌握AI自动写代码能力,提升编程学习与开发效率。

2026.05.27

390

10

Codex Agent编程与自主开发能力调优专题
Codex Agent编程与自主开发能力调优专题

PHP中文网为您提供Codex Agent编程与自主开发能力调优专题。针对AI Agent全权委托开发模式,我们为您系统梳理了Harness Engineering(驾驭工程)核心理念,以及涵盖AGENTS.md规范编写、Skills技能配置、Worktree沙盒隔离与多Agent协作架构的实战指南。

2026.06.10

228

7

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

80

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

40

15

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

2026.10.10

20

15

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

2026.10.10

20

26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Codex 应用程序简介
Codex 应用程序简介

共0课时 | 167人学习

Codex官方文档
Codex官方文档

共0课时 | 0人学习

Buffalo & Goth 官方视频教程
Buffalo & Goth 官方视频教程

共0课时 | 0人学习