런타임 모델
Studio, 세션 런타임, 공급자, 도구, 메모리와 지원 서비스가 책임을 나누는 방식을 살펴봅니다.
Studio 호스트 프로세스
사용자 수준 Studio 프로세스 하나가 여러 저장소의 루트 세션을 호스트할 수 있습니다. 각 활성 세션은 모델 턴, 에이전트, 실행 이벤트와 상호작용 상태를 소유합니다. 브라우저 연결이 끊겨도 실행은 계속되며 같은 세션에서는 한 턴만 실행되지만 서로 다른 세션은 동시에 실행할 수 있습니다.
또한 비공개 루프백 엔드포인트의 관리형 Gateway 자식 프로세스를 감독합니다. 공급자 구성은 저장된 워크스페이스 상태와 공급자 프로세스 수명을 묶지 않고 교체할 수 있습니다.
워크스페이스 런타임
워크스페이스 파일 도구는 선택한 루트 세션에 등록된 디렉터리를 기준으로 합니다. 읽기와 편집은 경로 검사와 오래된 내용 앵커 검사를 거칩니다. 셸 명령은 해당 워크스페이스에서 시작하지만 운영체제 샌드박스는 아닙니다.
선택적인 LSP 세션도 루트에 제한되며 모델 관점에서는 읽기 전용입니다. q는 진단, hover, 정의, 참조, 심볼을 제공하고 서버가 요청하는 편집은 거부합니다.
영구 서비스
q는 영구 상태의 책임을 다음처럼 분리합니다.
| 구성 요소 | 책임 |
|---|---|
| Workspace Memory | 작업 기록, 레코드, 워크스페이스 검색 인덱스 |
| Global Library | 공유 스킬, proposition, 판정 큐 |
| Loom | 큰 도구 결과의 불변 캡처 |
| Usage 서비스 | 토큰 이벤트, 집계, 아카이브, 대시보드 데이터 |
Studio와 호환 클라이언트는 필요할 때 이 서비스가 실행 중인지 확인합니다. 서비스 명령으로 일부 서비스를 브라우저 UI와 별개로 계속 실행할 수도 있습니다.
경계가 중요한 이유
여러 q 프로세스는 선택된 채팅 세션이나 실시간 공급자 대화를 공유하지 않으면서 영구 서비스를 공유할 수 있습니다. 프로세스 잠금은 세션 하나를 소유하며, 같은 워크스페이스의 다른 세션은 동시에 실행될 수 있습니다.
파생 인덱스는 교체 가능합니다. JSON 레코드가 원본이며 Bleve와 HNSW 데이터는 다시 만들 수 있습니다.