源码索引
阅读契约: 只有在叙事已经清楚后再用本页。打开 pinned links 是为了核对 owner、boundary 和 evidence,不是从源码里重新发现故事。
这个索引用于审计全书的源码依据。所有 Codex 链接都指向公开 GitHub 代码,并固定到 commit 569ff6a1c400bd514ff79f5f1050a684dc3afde3。正文应该可以独立阅读;源码索引用于验证,而不是要求读者自己补课。
审计规则:打开 anchor 只为确认 claim class。直接展示 type、function、constant、workflow 或 test 行为的,算 verified source;从多个 anchor 组合出来的边界,算 surrounding contract inference,在正文和图中都应保持抽象。任何依赖 private service internals 的内容都是 not visible,因此不会进入本索引。
章节锚点
第 1 章:架构赌注:作为有边界操作系统的 Agent
- 运行时词汇:
codex-rs/protocol/src/protocol.rs - 操作枚举:
codex-rs/protocol/src/protocol.rs - 事件流:
codex-rs/protocol/src/protocol.rs - 会话门面:
codex-rs/core/src/session/mod.rs
第 2 章:从分发包装器到 Rust Router
- npm 启动包装器:
codex-cli/bin/codex.js - Rust 命令路由:
codex-rs/cli/src/main.rs - App 命令边界:
codex-rs/cli/src/app_cmd.rs - App-server daemon 命令:
codex-rs/cli/src/main.rs
第 3 章:配置、认证与 Managed Requirements
- 解析后的权限:
codex-rs/core/src/config/mod.rs - 权限编译:
codex-rs/core/src/config/permissions.rs - 托管 feature gate:
codex-rs/core/src/config/managed_features.rs - 公开权限 profile:
codex-rs/app-server-protocol/src/protocol/v2/permissions.rs
第 4 章:协议边界
- Core submission 与 event:
codex-rs/protocol/src/protocol.rs - App-server JSON-RPC envelope:
codex-rs/app-server-protocol/src/jsonrpc_lite.rs - V2 协议族:
codex-rs/app-server-protocol/src/protocol/v2/mod.rs - Event 到 item 映射:
codex-rs/app-server-protocol/src/protocol/event_mapping.rs - Schema 导出:
codex-rs/app-server-protocol/src/export.rs
第 5 章:线程、会话与持久状态
- Thread manager boundary:
codex-rs/core/src/thread_manager.rs - Client-facing thread handle:
codex-rs/core/src/codex_thread.rs - Queue-pair runtime facade:
codex-rs/core/src/session/mod.rs - Model-visible history:
codex-rs/core/src/context_manager/history.rs - Accepted prompt recording:
codex-rs/core/src/session/mod.rs
第 6 章:Turn Loop:Agent 真正发生的地方
- Turn loop implementation:
codex-rs/core/src/session/turn.rs - Prompt hook ordering:
codex-rs/core/src/session/turn.rs - Accepted prompt recording:
codex-rs/core/src/session/turn.rs - Model client session:
codex-rs/core/src/client.rs - Context manager:
codex-rs/core/src/context_manager/history.rs
第 7 章:模型 Provider、流式传输与 Backend Task
- Model client:
codex-rs/core/src/client.rs - Provider prompt shape:
codex-rs/core/src/client_common.rs - Model client session:
codex-rs/core/src/client.rs - WebSocket behavior tests:
codex-rs/core/tests/suite/agent_websocket.rs - Backend task API contrast:
codex-rs/cloud-tasks-client/src/api.rs
第 8 章:Observability 与 Rollout Trace
- Trace session model:
codex-rs/rollout-trace/src/model/session.rs - Codex turn trace model:
codex-rs/rollout-trace/src/model/session.rs - Runtime trace payloads:
codex-rs/rollout-trace/src/protocol_event.rs - Core event mapping:
codex-rs/core/src/event_mapping.rs
第 9 章:工具规格、路由与分发
- Tool spec planner:
codex-rs/core/src/tools/spec_plan.rs - Tool router:
codex-rs/core/src/tools/router.rs - Tool registry:
codex-rs/core/src/tools/registry.rs - Tool orchestrator:
codex-rs/core/src/tools/orchestrator.rs - Parallel dispatch rules:
codex-rs/core/src/tools/parallel.rs
第 10 章:Shell、Exec Server 与文件系统工具
- Shell handler:
codex-rs/core/src/tools/handlers/shell/shell_handler.rs - Unified exec handler:
codex-rs/core/src/tools/handlers/unified_exec/exec_command.rs - Exec policy manager:
codex-rs/core/src/exec_policy.rs - Exec-server RPC client:
codex-rs/exec-server/src/rpc.rs - Executor filesystem handler:
codex-rs/exec-server/src/server/file_system_handler.rs
第 11 章:把 Patch 作为一等编辑协议
- Patch tool handler:
codex-rs/core/src/tools/handlers/apply_patch.rs - Patch runtime:
codex-rs/core/src/tools/runtimes/apply_patch.rs - Patch grammar parser:
codex-rs/apply-patch/src/parser.rs - Patch safety assessment:
codex-rs/core/src/safety.rs - Turn diff tracker:
codex-rs/core/src/turn_diff_tracker.rs
第 12 章:Hooks 与人工审批
- Hook event vocabulary:
codex-rs/hooks/src/types.rs - Hook registry:
codex-rs/hooks/src/registry.rs - Prompt hook runtime:
codex-rs/core/src/hook_runtime.rs - Guardian review path:
codex-rs/core/src/guardian/review.rs - Tool orchestrator gates:
codex-rs/core/src/tools/orchestrator.rs
第 13 章:Sandboxes、网络策略与平台边界
- Sandbox type selection:
codex-rs/sandboxing/src/manager.rs - Platform sandbox choice:
codex-rs/sandboxing/src/manager.rs - macOS Seatbelt policy:
codex-rs/sandboxing/src/seatbelt.rs - Linux helper entry:
codex-rs/linux-sandbox/src/main.rs - Linux proxy routing:
codex-rs/linux-sandbox/src/proxy_routing.rs - Windows sandbox setup:
codex-rs/windows-sandbox-rs/src/setup.rs - Network proxy policy:
codex-rs/network-proxy/src/config.rs
第 14 章:App-Server 契约
- Protocol envelopes and schemas:
codex-rs/app-server-protocol/src - Transport normalization:
codex-rs/app-server-transport/src/transport/mod.rs - Message processor:
codex-rs/app-server/src/message_processor.rs - Request serialization:
codex-rs/app-server/src/request_serialization.rs - Thread state and pending requests:
codex-rs/app-server/src/thread_state.rs
第 15 章:SDK、Daemon 与远程控制
- App-server daemon lifecycle:
codex-rs/app-server-daemon/src/lib.rs - Remote control mode:
codex-rs/app-server-daemon/src/lib.rs - Transport modes:
codex-rs/app-server-transport/src/transport/mod.rs - stdio transport:
codex-rs/app-server-transport/src/transport/stdio.rs - WebSocket transport:
codex-rs/app-server-transport/src/transport/websocket.rs - Python public API:
sdk/python/src/codex_app_server/api.py - TypeScript public API:
sdk/typescript/src/codex.ts
第 16 章:TUI 作为事件渲染器
- TUI chat widget:
codex-rs/tui/src/chatwidget.rs - Bottom pane state:
codex-rs/tui/src/bottom_pane/mod.rs - TUI app-server session:
codex-rs/tui/src/app_server_session.rs - App events:
codex-rs/tui/src/app_event.rs - Rendering tests:
codex-rs/tui/src/chatwidget/tests/exec_flow.rs
第 17 章:MCP:没有运行时耦合的外部工具
- MCP configuration:
codex-rs/codex-mcp/src/mcp/mod.rs - Connection manager:
codex-rs/codex-mcp/src/connection_manager.rs - MCP tool info:
codex-rs/codex-mcp/src/tools.rs - Core tool exposure:
codex-rs/core/src/mcp_tool_exposure.rs - Outbound Codex MCP server:
codex-rs/mcp-server/src/message_processor.rs
第 18 章:Skills、Plugins、Connectors 与类型化扩展
- Skills manager:
codex-rs/core-skills/src/manager.rs - Skill metadata model:
codex-rs/core-skills/src/model.rs - Plugin manifest:
codex-rs/core-plugins/src/manifest.rs - Plugin manager:
codex-rs/core-plugins/src/manager.rs - Connector directory model:
codex-rs/connectors/src/lib.rs - Typed prompt extension API:
codex-rs/ext/extension-api/src/contributors/prompt.rs
第 19 章:外部迁移与向后兼容
- External config model:
codex-rs/app-server/src/config/external_agent_config.rs - Migration request processor:
codex-rs/app-server/src/request_processors/external_agent_config_processor.rs - TUI migration startup:
codex-rs/tui/src/external_agent_config_migration_startup.rs - Protocol compatibility surface:
codex-rs/app-server-protocol/src/protocol/mod.rs - Thread store:
codex-rs/thread-store/src
第 20 章:多 Agent 协作
- Graph edge status:
codex-rs/agent-graph-store/src/types.rs - Local graph store:
codex-rs/agent-graph-store/src/local.rs - Agent trace reducer:
codex-rs/rollout-trace/src/reducer/tool/agents.rs - Session multi-agent integration:
codex-rs/core/src/session/multi_agents.rs - Multi-agent tool handlers:
codex-rs/core/src/tools/handlers/multi_agents.rs
第 21 章:云端任务、身份与远程工作
- Cloud task API:
codex-rs/cloud-tasks-client/src/api.rs - HTTP backend client:
codex-rs/cloud-tasks-client/src/http.rs - Mock backend:
codex-rs/cloud-tasks-mock-client/src/mock.rs - Agent identity material:
codex-rs/agent-identity/src/lib.rs - Local diff discipline:
codex-rs/core/src/turn_diff_tracker.rs
第 22 章:Memories 与用户级状态
- Memory usage kinds:
codex-rs/memories/read/src/usage.rs - Citation parser:
codex-rs/memories/read/src/citations.rs - Read-only MCP memory service:
codex-rs/memories/mcp/src - Stage 1 extraction:
codex-rs/memories/write/src/phase1.rs - Stage 2 consolidation:
codex-rs/memories/write/src/phase2.rs
第 23 章:构建系统与生成契约
- Cargo workspace:
codex-rs/Cargo.toml - Bazel module:
MODULE.bazel - Bazel crate macros:
defs.bzl - Bazel release-build verification:
.github/workflows/bazel.yml - App-server schema export:
codex-rs/app-server-protocol/src/bin/export.rs
第 24 章:打包、发布与原生依赖
- npm wrapper package:
codex-cli/package.json - npm package builder:
codex-cli/scripts/build_npm_package.py - Native dependency installer:
codex-cli/scripts/install_native_deps.py - Cargo release build workflow:
.github/workflows/rust-release.yml - Release artifact staging:
.github/workflows/rust-release.yml - npm package staging:
.github/workflows/rust-release.yml - V8 dependency release surface:
third_party/v8/README.md
第 25 章:CI、策略与架构治理
- Main CI workflow:
.github/workflows/rust-ci.yml - Full CI matrix:
.github/workflows/rust-ci-full.yml - Bazel verification workflow:
.github/workflows/bazel.yml - Blob-size policy:
scripts/check_blob_size.py - TUI/core boundary check:
.github/scripts/verify_tui_core_boundary.py - Cargo workspace governance:
.github/scripts/verify_cargo_workspace_manifests.py
结语:真正值得带走的东西
protocol:protocolcore session runtime:core session runtimeapp-server:app-servertool execution:tool executionrollout trace:rollout trace- repository governance: repository governance
审计顺序
- 先读
Submission、Op、Event和EventMsg,理解 runtime 词汇。 - 再读
Codex、CodexThread和ThreadManager,理解 ownership。 - 读
session/turn.rs,看 turn loop、hook 顺序、sampling、continuation 和 completion。 - 读 tool planning / routing / registry / orchestration,理解为什么工具是受治理的副作用,而不是 callback。
- 读 app-server message processing 和 TUI rendering,理解多个客户端如何共享 runtime。
- 最后读 sandbox manager、cloud tasks、memory write phases 和 release workflows。
审计规则
当章节内容和源码索引不一致时,应该视为书稿问题。源码索引不是章节叙事的替代品,而是让叙事保持源码支撑的压缩地图。