Host · Chat
채팅 안 플러그인 패널
활성 플러그인이 사이드바에 노출됩니다. 각 플러그인은 manifest 의 ui[] 슬롯과 keywords (Skill 트리거) 로 자신의 진입점을 제공합니다. 호스트 코어는 plugin specific 코드를 직접 import 하지 않습니다.
Skill 키워드
채팅 입력에 등록 키워드가 들어가면 Skill 카드가 자동 추천. 유일한 runtime register API:
hostApi.registerKeywords.ui[] 슬롯
plugin.json 의
ui[] 가 slot(sidebar/chat/popover/embedded)·kind(embedded-module/url)·entry·exportName·window 를 선언.Tools list
도구는 manifest
tools[] 에 정적 선언. 핸들러는 RuntimePlugin.handlers map. 도구 이름 정규식 ^[a-zA-Z_][a-zA-Z0-9_]*$.이름 규약 — 세 가지 namespace
- LLM 도구 이름:
^[a-zA-Z_][a-zA-Z0-9_]*$(src/plugins/runtime/manifest-validation.ts:289). 선두 숫자 / dash 불가. vendor 요구 사항 (OpenAI / Gemini / Claude 공통). - Skill / agent / session id: 별도 —
^[a-zA-Z0-9_-]+$(src/core/skill-store.ts:30). dash 허용. - 플러그인 id: 보통 kebab-case (예:
local-indexer,ms-graph). manifestid필드.
런타임 register API가 없음
호스트 부팅 시점에
src/boot.ts:703-736 가 모든 plugin manifest 의 tools[] 를 Tool Registry 에 등록합니다. 실행 중에 도구를 동적으로 추가하는 API는 없습니다 — 도구 변경은 plugin 재배포 + 재시작이 필요합니다.