확장 기능 및 플러그인
이 페이지는 NeoTavern에서 플러그인이 동작하는 방식을 설명합니다. 어디서 구할 수 있는지, 권한과 동의가 어떻게 작동하는지, 앱이 신뢰할 수 없는 코드를 어떻게 통제하는지입니다.
플러그인이란?
플러그인은 NeoTavern에 동작을 추가합니다. 툴바 작업, 메시지 작업, 슬래시 명령어, 프롬프트 인터셉터, 사용자 지정 패널, 단축키, 백엔드 라우트, 외부 서비스 연동이 여기 해당합니다. 플러그인은 앱 내부가 아닌 안정적인 Plugin SDK를 대상으로 하며, 등록한 모든 기능은 플러그인이 비활성화되면 다시 제거됩니다.
공식 카탈로그에는 일부 플러그인이 포함되어 있고, 타사 패키지는
.stplugin ZIP 또는 공개 Git 저장소 링크(GitHub 또는 GitLab, HTTPS
전용)에서 설치됩니다. 서버는 Git이나 npm을 실행하지 않습니다. Git
링크는 아카이브로 내려받아 ZIP과 정확히 같은 방식으로 검증됩니다.
플러그인 설치
플러그인 섹션을 열고 패키지를 설치하세요.
- 설치 전에 앱은 작성자, 버전, 소스, 호환성, 서명(서명된 경우), 전체 권한 목록을 보여줍니다.
- 권한을 검토하고 명시적으로 동의합니다. 요청된 모든 권한을 확인할 때까지 패키지는 "동의 필요" 상태로 유지됩니다.
- 설치는 원자적입니다. 오류가 나면 이전 버전이 설치된 채로 계속 동작합니다.
패키지가 npm 의존성을 선언하면 HTTPS를 통해 레지스트리에서 해석되고, 체크섬으로 검증되며, 절대 실행되지 않습니다. 설치 스크립트와 네이티브 바이너리는 아예 거부됩니다.
권한
매니페스트의 권한은 능력에 대한 요청이지 자동 접근이 아닙니다. 플러그인이 채팅을 읽거나, 프롬프트를 수정하거나, 파일을 건드리거나, 네트워크에 도달하기 전에 해당 권한을 부여해야 하며, 동의 화면은 각 권한이 무엇을 하는지 설명합니다. 두 가지 규칙이 중요합니다.
- 업데이트 후의 새 권한은 새 동의가 필요합니다. 업데이트가 플러그인의 권리를 조용히 확장할 수 없습니다.
- 권한은 철회할 수 있습니다. 철회는 플러그인의 다음 능력 호출부터 적용됩니다.
플러그인 관리
관리자는 각 플러그인의 상태(활성화됨, 비활성화됨, 권한 필요, 호환되지 않음, 오류)를 보여줍니다. 여기에서 다음을 할 수 있습니다.
- 활성화 또는 비활성화. 비활성화하면 재시작 없이 UI, 훅, 타이머, 라우트, 구독이 제거되며 정리는 호스트가 강제합니다.
- 제거. 등록도 함께 지워집니다.
- 호환성 검토. 레거시 SillyTavern 시대 확장 기능의 호환성 수준과 알려진 제한 사항을 보여줍니다.
한 플러그인의 오류는 격리됩니다. 앱은 전체 인터페이스를 망가뜨리는 대신 해당 플러그인만 비활성화하도록 제안합니다.
플러그인 안전성
신뢰할 수 없는 백엔드 플러그인은 별도의 제한된 프로세스에서 실행되고, 샌드박스 처리된 플러그인 UI는 통제된 RPC 채널을 가진 iframe에서 실행됩니다. 테마 패키지는 채팅, 키, 파일에 접근할 수 없습니다. 세이프 모드는 모든 타사 플러그인과 테마를 비활성화하며 로드 전에 접근할 수 있으므로, 어떤 플러그인 오작동에서도 항상 벗어날 수 있습니다. 세이프 모드 및 복구와 Plugin SDK 문서를 참조하세요.