CHAPTER 12 · SOURCE MAP

79 个 Workspace 成员如何组成产品

Cargo.toml 列出 79 个成员,其中 crates/codegen/ 占 62 个。理解这套系统,要沿组合入口、交互界面、Agent 宿主、领域能力、推理状态五条主轴阅读。

课程目标
能从根 workspace 清单定位产品主轴,并区分二进制组合入口、TUI 库、Shell Agent 宿主与会话状态组件。
核心视觉 · 教学化结构图
pager-bin组合入口 xai-grok-pagerTUI 与交互 xai-grok-shellAgent 宿主 agent / toolsworkspace 领域 xai-grok-sampler模型请求与流式事件 xai-chat-stateconversation / token / persistence compaction 横跨 Agent 策略、Shell 会话流程与 token estimation
79

Workspace members

根清单的实际成员数。根文件首行注明它是自动生成的 workspace root。

62

Codegen members

主体集中在 crates/codegen/,另有 build、common、prod 与 third_party。

5

阅读主轴

组合入口、TUI、Shell 宿主、领域能力、推理与状态,避免套用虚构的四层目录。

真实源码证据
Cargo.toml
# Auto-generated workspace root.
[workspace]
resolver = "2"
members = [
  "crates/build/xai-proto-build",
  "crates/codegen/xai-grok-pager-bin",
  "crates/codegen/xai-grok-shell",
  ...
]
crates/codegen/xai-grok-pager-bin/Cargo.toml
# Composition-root binary for the Grok Build TUI.
[[bin]]
name = "xai-grok-pager"
path = "src/main.rs"

# Agent runtime + leader/stdio/headless entry points.
xai-grok-shell = { workspace = true }
源码快照说明:本页依据本地同步副本核对。该副本没有 .git 元数据,因此不声称对应某个 commit 版本。
课堂练习
01

沿依赖定位职责

xai-grok-pager-bin/Cargo.toml 出发,分别找出 TUI 库与 Agent 宿主依赖。再到 xai-grok-sampler/src/actor/mod.rsxai-chat-state/src/actor/mod.rs 写下二者各自拥有的状态。

Takeaway:79 个成员是 workspace 事实,62 个 codegen 成员是数量事实。产品运行主轴从 pager-bin 组合入口延伸到 pager、shell、领域 crate、sampler 与 chat-state。