런타임 모델

TUI, 공급자, 도구, 메모리, 지원 서비스가 책임을 나누는 방식을 살펴봅니다.

Markdown 보기

하나의 대화형 프로세스

일반 q 프로세스는 선택된 워크스페이스 세션 하나를 소유하고 터미널 UI, 현재 모델 턴, 활성 에이전트, 상호작용 생명주기를 조정합니다.

또한 비공개 루프백 엔드포인트의 관리형 Gateway 자식 프로세스를 감독합니다. 공급자 구성은 저장된 워크스페이스 상태와 공급자 프로세스 수명을 묶지 않고 교체할 수 있습니다.

워크스페이스 런타임

워크스페이스 파일 도구는 q가 시작된 디렉터리를 루트로 사용합니다. 읽기와 편집은 경로 검사와 오래된 내용 앵커 검사를 거칩니다. 셸 명령은 워크스페이스에서 시작하지만 운영체제 샌드박스는 아닙니다.

선택적인 LSP 세션도 루트에 제한되며 모델 관점에서는 읽기 전용입니다. q는 진단, hover, 정의, 참조, 심볼을 제공하고 서버가 요청하는 편집은 거부합니다.

영구 서비스

q는 영구 상태의 책임을 다음처럼 분리합니다.

구성 요소 책임
Workspace Memory 작업 기록, 레코드, 워크스페이스 검색 인덱스
Global Library 공유 스킬, proposition, 판정 큐
Loom 큰 도구 결과의 불변 캡처
Usage 서비스 토큰 이벤트, 집계, 아카이브, 대시보드 데이터

일반 q 프로세스는 필요할 때 이 서비스가 실행 중인지 확인합니다. 독립 명령으로 TUI와 별개로 계속 실행할 수도 있습니다.

경계가 중요한 이유

여러 q 프로세스는 선택된 채팅 세션이나 실시간 공급자 대화를 공유하지 않으면서 영구 서비스를 공유할 수 있습니다. 프로세스 잠금은 세션 하나를 소유하며, 같은 워크스페이스의 다른 세션은 동시에 실행될 수 있습니다.

파생 인덱스는 교체 가능합니다. JSON 레코드가 원본이며 Bleve와 HNSW 데이터는 다시 만들 수 있습니다.