需初始化沙盒以持久化对话状态,生成session_store.json实现3轮记忆,通过侧边聊天调试中文乱码问题,并用fastapi部署http服务确保history_id一致。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让Codex生成一个聊天应用,用户输入问题后能连续追问、上下文不丢失、无需重复说明背景——这不是调用一次API就能完事的简单网页,而是需要把对话状态持久化、把用户输入映射到带记忆的会话线程中。
创建支持连续追问的项目沙盒
启动 Codex APP → 点击左上角「+ 新项目」→ 选择「空项目」→ 命名为「chat-app-with-memory」→ 点击「初始化沙盒」。这一步必须做,否则 Codex 默认在无状态沙盒里运行,每次新消息都会重置上下文。
【沙盒初始化失败会导致后续所有状态保存失效】
初始化完成后,Codex 会在项目根目录自动生成 .codex/sandbox/ 文件夹,里面包含 session_store.json 的初始结构——这是你后续实现追问记忆的底层载体。
用内置 skill 构建带记忆的响应链
在项目对话框中输入:「请基于当前沙盒,创建一个 CLI 聊天应用,要求:1)用户每轮输入问题,程序返回答案;2)能记住前3轮对话历史;3)用 Python 实现,不依赖外部数据库。」
Codex 会自动调用 file_write、shell_run、python_execute 等内置 skill,生成 main.py 和配套的 memory_manager.py。它不会只给你一段代码,而是直接写入文件、验证可执行性、并展示运行示例。
关键点在于:Codex 生成的 memory_manager.py 会把每次 input 存入 sandbox/session_store.json,并限制只保留最近3条。如果你跳过这步手动写,很容易把 history 存在内存变量里——进程一关就全丢。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
接入侧边聊天做实时追问调试
方法一:主任务保持「构建聊天应用」主线不动 → 右侧点击「+ 侧边聊天」→ 输入「怎么让第4轮提问还能看到第1轮的用户名字?」→ Codex 在隔离上下文中分析 memory_manager.py 的 TTL 逻辑 → 给出 patch 补丁。
方法二:在 main.py 运行时,直接框选终端输出中的某一行错误日志 → 右键「追问详情」→ Codex 定位到对应代码行,指出是 json.dump 缺少 ensure_ascii=False 导致中文 key 乱码,进而使历史匹配失效。
这一步不能省。很多用户做完应用发现追问失效,其实是 session_store.json 里存的是 "u670b\u53cb" 而不是 "朋友",导致后续字符串比对永远为 False。
部署为可交互的本地服务
第一步:确认当前项目已激活沙盒且 main.py 可运行 → 输入指令:「把 main.py 封装成 HTTP 服务,端口 8000,支持 POST /ask 接收 JSON {\"query\": \"…\"},返回 {\"response\": \"…\", \"history_id\": \"abc123\"}」
第二步:Codex 自动生成 app.py(含 FastAPI)、requirements.txt、以及 curl 测试脚本 → 自动执行 pip install -r requirements.txt → 启动服务。
第三步:打开浏览器访问 http://localhost:8000/docs → 在 Swagger UI 中连续发送三次不同 query → 观察响应体中 history_id 是否一致 → 一致说明上下文链已打通。
注意:如果 history_id 每次都变,说明 Codex 生成的 session_store.json 路径没绑定到沙盒内,而是写进了临时目录。此时要立刻中断,回到第一步重新初始化沙盒。










