青雲的博客
首页
博客
小册
标签
项目
模型 API
关于
首页
博客
小册
标签
项目
模型 API
关于
全部小册
源码版本 rust-v0.144.6
拆开 Codex
从一次输入到一次安全执行
沿一次任务的运行主链拆开输入、工具、审批与沙箱,再追长会话的状态、压缩和恢复,最后用真实改动检查跨模块合同。
开始阅读
查看源码
目录
10 章已发布
第一部分 建立全局地图
01
不要从目录开始读 Codex
沿一次任务的真实生命周期建立 Codex 源码地图,分清协议、会话、工具、执行、持久化与界面的职责。
第二部分 一次 turn 如何运转
02
你按下回车后,Codex 内部发生了什么
从 TUI 的 Enter 分支一路追到 turn/start、turn/steer、core task、模型流与 typed notification。
第三部分 Codex 如何在机器上行动
03
模型为什么能调用工具:从 ToolSpec 到真正执行
拆开 Codex 如何从 StepContext 规划工具、生成模型可见 spec、注册 runtime,并把工具输出送回下一次采样。
04
一条 Shell 命令如何穿过审批、策略与沙箱
跟踪 FunctionCall 如何经过 shell handler、execpolicy、ReviewDecision、SandboxManager 和进程 runtime。
第四部分 长会话如何保持秩序
05
同一段对话,为什么同时存在三种状态
从一次冷恢复反推 ContextManager、rollout JSONL 与 SQLite 元数据投影各自保存什么、何时写入,以及谁负责还原模型工作历史。
06
上下文快满时,Codex 到底压缩了什么
拆开手动与自动、local 与 remote compaction,解释 live history 怎样被替换、rollout 为什么继续追加,以及 resume 如何找到新的工作集基线。
07
Resume 与 Fork:恢复的不是同一件事
对比 running resume、cold resume、history resume 与 fork 的 thread 身份、历史来源、配置继承、持久化路径和运行中状态边界。
第五部分 如何改造而不破坏系统
08
给 Codex 加一个工具:从能运行到合同完整
复盘 get_context_remaining 的三次真实演进,追踪 feature gate、模块接线、双输出合同、上下文计算与测试怎样一起构成可维护的工具改动。
09
新增一个事件:从 core 到 app-server 的完整影响面
以 GuardianWarning 为真实案例,追踪 core emitter、Session 事件队列、rollout policy、app-server 投影、wire schema、thread 路由与 TUI 消费。
10
改审批策略之前,先把影响面追完
从 AskForApproval::Granular 的真实协议、配置和运行时分支出发,推演 network_approval 能力位需要怎样保持兼容并守住安全边界。