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。