플러그인 카탈로그
기준일: 2026-11-04
문서 반영 버전: v0.22.6
난이도: 중급
공식 기준: Plugin Catalog, 카탈로그 둘러보기, v0.22.0 릴리스 노트
개요
플러그인 카탈로그는 Nous 메인테이너가 사람 손으로 검토한 Hermes 플러그인 목록입니다. 이름 하나로 설치합니다.
hermes plugins install <name>
v0.22.0 릴리스 노트 기준으로 카탈로그는 이번 주기에 시작해 600개 항목까지 늘었습니다. 이때 메모리 provider(Honcho, Supermemory, Hindsight, Mem0, OpenViking, Holographic)와 Home Assistant, Spotify, Langfuse도 core에서 빠져 카탈로그 플러그인이 됐습니다. 기존 사용자는 업데이트할 때 자동으로 옮겨졌습니다.
카탈로그는 기존 플러그인 시스템을 대신하는 게 아니라 그 위에 찾기와 검토를 얹은 것입니다. 카탈로그로 설치해도 결국 일반 플러그인입니다.
어디서 찾나
- 웹: hermes-agent.nousresearch.com/docs/plugins. Memory, Desktop, Platforms, Web & Browser, Tools, Voice, Automation, Models 분류와 검색, 등급 필터가 있습니다.
- 플러그인마다 상세 페이지가 있습니다. 고정된 커밋, 제공하는 도구·hook, 필요한 환경 변수, 설치 명령, 검토한 커밋 기준 README를 보여 줍니다.
- Desktop 첫 설정 화면에서도 승인 카드로 일부 플러그인을 권합니다. Install을 눌러야
default프로필에 설치됩니다.
등급
| 등급 | 뜻 |
|---|---|
official |
NousResearch가 관리 |
verified |
연동하는 제품을 만든 회사가 직접 낸 것임을 Nous 팀이 확인 |
community |
그 밖의 작성자 |
official과 verified는 Nous 메인테이너만 붙일 수 있습니다.
무엇을 믿을 수 있나
카탈로그의 핵심은 정확한 커밋 고정입니다.
- 항목마다 검토한 40자리 커밋 SHA를 고정합니다. 작성자가 저장소에 새 코드를 올려도 카탈로그가 설치하는 코드는 바뀌지 않습니다. 고정값을 바꾸려면 다시 검토받는 PR이 필요합니다.
- 등록할 때 설치기와 같은 보안 스캐너가 실행됩니다.
dangerous판정이면 등록이 막히고, 설치 때도 막힙니다. - 제공 도구, hook, middleware, 필요한 환경 변수(API key 등)를 미리 선언하므로 설치 전에 영향 범위를 볼 수 있습니다.
- 보안 사고 등으로 빠진 플러그인은
plugin-catalog/removed.yaml에 이유와 날짜와 함께 올라갑니다. 이미 설치했더라도 업데이트·활성화·로드가 막힙니다. 예외는hermes plugins install <name> --allow-removed뿐입니다. CLI 레퍼런스가 DANGEROUS로 표시한 옵션으로, 설치 때 제거 목록 차단을 넘기고 그 설치본을 이후 업데이트·활성화·로드 검사에서도 빼 줍니다. 제거된 이유를 알고 일부러 계속 쓸 때만 씁니다.
공식 문서가 직접 경고하는 한계도 있습니다.
- 검토는 그 시점의 검토입니다. 고정 커밋을 사람이 읽었다는 뜻이지 보안 감사는 아닙니다. 같은 저장소의 다른 커밋에 대해서는 아무것도 보증하지 않습니다. 자격 증명을 넘기는 플러그인은 코드를 직접 보세요.
- Desktop 플러그인은 앱 권한으로 실행됩니다.
desktop/plugin.js는 Desktop 앱 안에서 샌드박스 없이 실행되고, 앱이 할 수 있는 일은 다 할 수 있습니다. 막아 주는 건 검토와 몇 가지 린트뿐입니다.
설치 순서
1단계: 설치
hermes plugins install <name>
설치 프롬프트가 먼저 선언된 도구·hook·환경 변수를 보여 주고, 그다음에 내려받습니다.
2단계: 활성화
설치했다고 켜지지 않습니다. 다른 플러그인처럼 활성화해야 로드됩니다.
hermes plugins enable <name>
터미널에서는 설치 직후 "Enable now?"를 물으므로 두 단계를 한 번에 끝낼 수 있습니다. 스크립트에서는 --enable / --no-enable로 답을 정합니다.
카탈로그 이름과 플러그인 자체 이름이 다를 수 있습니다. 예를 들어 touchdesigner는 td로 설치됩니다. 이후 enable, disable, show, update, remove는 둘 중 아무 이름이나 받습니다.
hermes plugins install touchdesigner
hermes plugins enable touchdesigner # hermes plugins enable td 와 같다
3단계: 업데이트
hermes plugins update <name>
카탈로그 설치는 git pull을 하지 않습니다. 설치된 고정값과 지금 카탈로그 고정값을 비교해서, 카탈로그가 바뀌었을 때만 새 SHA를 준비하고 의존성을 검증한 뒤 바꿉니다.
- 켜짐/꺼짐 상태는 유지됩니다. 플러그인 저장소가 추적하지 않는 파일(
.example에서 만든config.yaml, 데이터 파일,.env)도 남습니다. - 추적되는 파일을 직접 고쳤다면 새 코드에 옮겨지지 않고,
~/.hermes/plugins-backup/<name>-<sha>/에 사본이 남습니다. - 버전·스캔·의존성 단계에서 실패하면 기존에 돌던 코드를 그대로 둡니다.
hermes plugins list에서 카탈로그 설치는catalog:<tier>@<sha>로 표시됩니다.
카탈로그에 없는 플러그인
카탈로그에 없는 이름만 쓰면 오류입니다. 검토 안 된 이름 목록은 따로 없습니다. 그런 플러그인은 owner/repo나 git URL로 설치합니다.
hermes plugins install <git-url>
이 경로는 카탈로그를 완전히 우회합니다. 검토된 고정값이 아니라 브랜치 끝 코드를 받고, 검토되지 않았다는 경고 배너가 뜹니다. removed.yaml 검사만은 여전히 합니다. 직접 만든 플러그인이나 이미 믿는 저장소에만 쓰세요.
오프라인과 캐시
카탈로그는 공식 사이트에서 JSON 하나로 배포되고, search·install·update가 최대 6시간마다 받아 ~/.hermes/cache/에 둡니다. 그래서 Hermes를 업데이트하지 않아도 새 항목과 제거 목록이 반영됩니다. 오프라인이면 캐시를 24시간까지 쓰고, 그 뒤에는 설치본에 들어 있는 카탈로그를 씁니다.
체크리스트
- 플러그인 등급(
official/verified/community)을 확인했다 - 설치 프롬프트의 도구·hook·환경 변수 선언을 읽었다
- 설치 뒤
hermes plugins enable까지 했다 - 자격 증명을 넘기는 플러그인은 고정 커밋 코드를 직접 확인했다
- git URL 설치는 검토되지 않은 코드라는 점을 알고 썼다
다음 단계
- 플러그인과 Personality: 플러그인 시스템 자체
- Built-in Plugins: Hermes에 기본 포함된 플러그인
- Hermes 플러그인 만들기: 직접 만들어 등록하려면. 등록 규칙은 공식 Submitting to the plugin catalog