跳转到内容

xai-chat-state

会话运行时

xai-chat-state

以 actor 所有权维护聊天状态和可订阅的状态投影。

Cargo description: Actor-based chat state management for xAI agents

16生产文件
17Rust 文件总数
9,011生产代码行
30收录公开符号

职责与架构位置

xai-chat-state 位于“会话运行时”层。它的首要职责是:以 actor 所有权维护聊天状态和可订阅的状态投影。。源码图谱把 crate 看成一个编译和所有权边界,而不是文件夹标签:直接依赖表示它可以调用的下层能力,反向依赖表示哪些上层模块把它当作稳定接缝。

成员路径为 crates/codegen/xai-chat-state,清单位于 Cargo.toml

关键入口

入口文件优先按 lib.rs/main.rs、公开符号密度和文件规模选择。这是一条面向阅读的路径,不表示其他文件不重要;下方完整文件索引覆盖该 crate 的全部 Rust 源码、测试、示例、基准与 Fuzz 文件。

依赖与调用者

依赖边来自固定提交中的 Cargo manifest,只表示编译期直接依赖。运行时控制流还需结合 trait 实现、构造位置和消息通道判断;反向依赖为空也不代表 crate 没有入口,它可能直接生成二进制或由外部协议调用。

关键公开符号

类型符号文件与行号
structChatStateActorcrates/codegen/xai-chat-state/src/actor/mod.rs:30
fnspawncrates/codegen/xai-chat-state/src/actor/mod.rs:54
fnspawn_with_pruningcrates/codegen/xai-chat-state/src/actor/mod.rs:72
fnensure_conversation_integritycrates/codegen/xai-chat-state/src/actor/mutations.rs:43
fnensure_conversation_integrity_with_reasoncrates/codegen/xai-chat-state/src/actor/mutations.rs:48
fnrepair_dangling_after_harness_haltcrates/codegen/xai-chat-state/src/actor/mutations.rs:74
fnrepair_historycrates/codegen/xai-chat-state/src/actor/mutations.rs:86
fnpush_messagecrates/codegen/xai-chat-state/src/actor/mutations.rs:113
fnpush_user_messagecrates/codegen/xai-chat-state/src/actor/mutations.rs:140
fnpush_user_message_with_repair_reasoncrates/codegen/xai-chat-state/src/actor/mutations.rs:145
fnprune_retained_conversationcrates/codegen/xai-chat-state/src/actor/mutations.rs:206
fnrecord_token_usagecrates/codegen/xai-chat-state/src/actor/mutations.rs:310
fnrecord_last_turn_usagecrates/codegen/xai-chat-state/src/actor/mutations.rs:321
fnrecord_model_call_usagecrates/codegen/xai-chat-state/src/actor/mutations.rs:325
fnrecord_subagent_usagecrates/codegen/xai-chat-state/src/actor/mutations.rs:349
fnmark_usage_incompletecrates/codegen/xai-chat-state/src/actor/mutations.rs:373
fnincrement_prompt_indexcrates/codegen/xai-chat-state/src/actor/mutations.rs:385
fnreplace_conversationcrates/codegen/xai-chat-state/src/actor/mutations.rs:401
fnreplace_system_headcrates/codegen/xai-chat-state/src/actor/mutations.rs:450
fnrestore_snapshotcrates/codegen/xai-chat-state/src/actor/mutations.rs:465
fnsnapshot_turn_slicecrates/codegen/xai-chat-state/src/actor/mutations.rs:492
fnrebase_turn_capture_offsetcrates/codegen/xai-chat-state/src/actor/mutations.rs:504
fnturn_tailcrates/codegen/xai-chat-state/src/actor/mutations.rs:514
fnget_notification_metacrates/codegen/xai-chat-state/src/actor/queries.rs:10
fnsnapshotcrates/codegen/xai-chat-state/src/actor/queries.rs:18
fntruncate_to_prompt_indexcrates/codegen/xai-chat-state/src/actor/queries.rs:47
fncheck_auto_compact_neededcrates/codegen/xai-chat-state/src/actor/queries.rs:87
fnget_last_model_metadatacrates/codegen/xai-chat-state/src/actor/queries.rs:107
fnget_conversation_lencrates/codegen/xai-chat-state/src/actor/queries.rs:128
fnhas_dangling_tool_callscrates/codegen/xai-chat-state/src/actor/queries.rs:134

公开符号用于快速判断 crate 对外暴露的数据、trait 和执行入口。私有实现仍会出现在完整文件索引中;本文不会仅凭 pub 推断某个符号就是长期稳定 API。

关联深度文章

进程、Actor 与并发模型解释进程边界、actor 邮箱、异步任务、取消和背压如何共同工作。

Session 持久化、Chat State 与 SQLite Journal说明会话状态、聊天历史和文件系统感知的 SQLite journal 策略。

完整 Rust 文件索引

共 17 个 Rust 文件,其中 16 个被覆盖校验认定为生产源码。测试、示例、基准和 Fuzz 文件不会从图谱删除,而是使用不同标签展示。

生产源码crates/codegen/xai-chat-state/src/actor/mod.rs392 行 · 3 个公开符号生产源码crates/codegen/xai-chat-state/src/actor/mutations.rs533 行 · 12 个公开符号生产源码crates/codegen/xai-chat-state/src/actor/queries.rs228 行 · 12 个公开符号生产源码crates/codegen/xai-chat-state/src/actor/request_builder.rs866 行 · 9 个公开符号生产源码crates/codegen/xai-chat-state/src/actor/state.rs403 行 · 11 个公开符号测试crates/codegen/xai-chat-state/src/actor/tests.rs4,419 行 · 0 个公开符号生产源码crates/codegen/xai-chat-state/src/commands.rs486 行 · 3 个公开符号生产源码crates/codegen/xai-chat-state/src/compaction_mode.rs150 行 · 6 个公开符号生产源码crates/codegen/xai-chat-state/src/compaction_transcript.rs822 行 · 12 个公开符号生产源码crates/codegen/xai-chat-state/src/compaction_utils.rs3,634 行 · 12 个公开符号生产源码crates/codegen/xai-chat-state/src/conversation_util.rs118 行 · 2 个公开符号生产源码crates/codegen/xai-chat-state/src/events.rs53 行 · 1 个公开符号生产源码crates/codegen/xai-chat-state/src/handle.rs642 行 · 12 个公开符号生产源码crates/codegen/xai-chat-state/src/lib.rs56 行 · 0 个公开符号生产源码crates/codegen/xai-chat-state/src/persistence.rs174 行 · 8 个公开符号生产源码crates/codegen/xai-chat-state/src/types.rs258 行 · 11 个公开符号生产源码crates/codegen/xai-chat-state/src/usage.rs196 行 · 7 个公开符号

覆盖说明

该页面由固定源码基线生成。CI 会重新扫描 crates/codegen/xai-chat-state,验证文件数量、行数、公开符号、依赖和入口是否与提交到站点的数据一致。若上游基线升级而图谱没有重新生成,构建会失败,避免页面显示已经不存在的路径。

GBA / 2026

非官方社区学习项目。Grok、xAI 及相关商标归其权利人所有;源码摘录来自 Apache-2.0 许可的公开仓库。
豫ICP备2026029221号-1