运行时模型
了解终端界面、提供商、工具、记忆与辅助服务如何分工。
单个交互进程
普通的 q 进程拥有一个选定的工作区会话,负责协调终端界面、当前模型轮次、活跃代理以及交互生命周期。
它还会管理一个运行在私有回环端点上的 Gateway 子进程。替换提供商配置时,不必将提供商进程的生命周期与已保存的工作区状态绑定。
工作区运行时
工作区文件工具以启动 q 的目录为根。读取和编辑会检查路径与过期内容锚点。Shell 命令从工作区启动,但这并不是操作系统级沙箱。
可选的 LSP 会话也限定在工作区根目录,且从模型的角度来看是只读的。q 提供诊断、悬停信息、定义、引用与符号,同时拒绝来自语言服务器的编辑。
持久服务
q 按职责划分持久状态的归属:
| 组件 | 职责 |
|---|---|
| Workspace Memory | 任务历史、记录与工作区搜索索引 |
| Global Library | 共享技能、命题与判定队列 |
| Loom | 大型工具结果的不可变存档 |
| Usage 服务 | Token 事件、汇总、归档与仪表盘数据 |
普通 q 进程会在需要时确保这些服务可用。独立命令也可以让它们脱离 TUI 持续运行。
边界为何重要
多个 q 进程可以共享持久服务,但不会共享选定的聊天会话或正在进行的提供商对话。进程锁只占用一个会话;同一工作区内的另一个会话可以并行运行。
这一边界也使派生索引可以重建。JSON 记录是事实来源,Bleve 和 HNSW 数据都可以重新生成。