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