본문으로 건너뛰기

내장 플러그인

anchor alias

내장 플러그인

Hermes는 저장소와 번들 한 플러그인의 작은 세트를 배웁니다. 그들은 <repo>/plugins/<name>/ 아래에서 라이브하고 ~/.hermes/plugins/의 사용자 설치 플러그인을 따라 자동으로 로드합니다. 그들은 세 번째 파티 플러그인과 같은 플러그인 표면을 사용합니다 - 후크, 도구, 슬래시 명령 - 그냥 in-tree 유지.

일반 플러그인 시스템의 Plugins 페이지를 참조하고, Hermes Plugin 구축를 작성하여 자신에게 작성합니다.

발견 작품

PluginManager는 순서에서 4개의 근원을 검사합니다:

  1. Bundled<repo>/plugins/<name>/ (이 페이지 문서는 무엇입니까)
  2. 사용자~/.hermes/plugins/<name>/
  3. Project - ./.hermes/plugins/<name>/ (HERMES_ENABLE_PROJECT_PLUGINS=1 필요)
  4. **Pip 엔트리 포인트 ** - hermes_agent.plugins

이름 충돌에, 나중에 소스 승리 — disk-cleanup라는 사용자 플러그인은 번들로 교체됩니다.

plugins/memory/plugins/컨텍스트_engine/는 묶인 스캐닝에서 deliberately 제외됩니다. 이러한 감독들은 메모리 제공자와 context 엔진이 hermes memory setup / ...를 통해 구성된 단일 선택 제공업체로 구성된 자신의 발견 경로를 사용합니다.

Bundled 플러그인은 opt-in입니다

번들 된 플러그인 배 비활성화. 디스커버리는 (hermes plugins list와 대화 형 hermes plugins UI)를 찾을 수 있지만 명시적으로 사용할 때까지 아무런 부하도 없습니다

hermes plugins enable disk-cleanup

또는 ~/.hermes/config.yaml를 통해:

plugins:
enabled:
- disk-cleanup

이것은 동일한 메커니즘 사용자 설치 플러그인 사용입니다. 번들 된 플러그인은 자동 활성화되지 않습니다. — 신선한 설치하지 않고 기존 사용자에게 업그레이드하지 않습니다. Hermes. 당신은 항상 명시적으로 선택.

번들 플러그인을 다시 설정하려면:

hermes plugins disable disk-cleanup
# or: remove it from plugins.enabled in config.yaml

현재 배송

repo는 plugins/ 아래의 번들 플러그인을 발송합니다. 모두 opt-in - hermes plugins enable <name>를 통해 활성화합니다.

다운로드- 한국어설명
disk-cleanupHooks + 슬래시 명령Auto-track ephemeral 파일 및 세션 끝에 정리
observability/langfuse맨 위로Trace 회전 / LLM 호출 / 도구 Langfuse
spotify백엔드 (7 도구)Native Spotify 재생, 큐, 검색, 재생 목록, 앨범, 라이브러리
google_meet관련 제품설명 만나는 통화, live-caption transcription, 선택적인 순간 이중 오디오
image_gen/openai이미지 백엔드OpenAI gpt-image-2 이미지 생성 백엔드 (FAL에 제한)
image_gen/openai-codex이미지 백엔드Codex OAuth를 통해 OpenAI 이미지 생성
image_gen/xai이미지 백엔드xAI grok-2-image 백엔드
hermes-achievements대시보드 탭Steam-style Collectible 배지가 실제 Hermes 세션 역사에서 생성되었습니다
kanban/dashboard대시보드 탭다중 시약 파견자를위한 Kanban 보드 UI - 작업, 의견, 팬 아웃, 보드 전환. Kanban Multi-Agent를 참조하세요.

메모리 제공자 (plugins/memory/*) 및 context 엔진 (plugins/컨텍스트_engine/*)은 Memory Provider에 별도로 나열되어 있습니다. hermes memoryhermes plugins를 통해 관리됩니다. 두 개의 긴 실행 후크 기반 플러그인에 대한 전체 per-plugin 세부 사항은 다음과 같습니다.

디스크 정리

Auto-tracks 및 세션 중 생성 된 ephemeral 파일을 제거합니다. - 테스트 스크립트, 온도 출력, cron 로그, stale 크롬 프로파일 - 도구로 호출하는 것을 기억하기 위해 에이전트가 필요하지 않습니다.

일부:

기타 제품채용 정보
post_tool_callwrite_file / terminal / patchtest_*, tmp_*, 또는 *.test.* 내부에 HERMES_HOME 또는 /tmp/hermes-*, ...로 침묵적으로 추적합니다. *.test.*.
on_session_end어떤 테스트 파일이 차례 동안 자동 추적 된 경우 안전한 quick 정리를 실행하고 한 줄 요약을 기록합니다. 다른 것을 유지하세요.

** 할인 규칙:**

(주)임계값인증현황
test각 세션 끝설명
temp>7 일 추적설명
cron-output> 추적 된 이후 14 일설명
HERMES_HOME의 빈 디어항상설명
research>30 일, 이상의 10 최신항상 (deep 만)
chrome-profile> 추적 된 이후 14 일항상 (deep 만)
파일 >500 MB자동 없음항상 (deep 만)

슬래시 명령/disk-cleanup 모두 CLI 및 게이트웨이 세션에서 사용 가능:

/disk-cleanup status                     # breakdown + top-10 largest
/disk-cleanup dry-run # preview without deleting
/disk-cleanup quick # run safe cleanup now
/disk-cleanup deep # quick + list items needing confirmation
/disk-cleanup track <path> <category> # manual tracking
/disk-cleanup forget <path> # stop tracking (does not delete)

**스테이트 ** - $HERMES_HOME/disk-cleanup/의 모든 생명:

파일 형식설명
tracked.json범주, 크기 및 타임스탬프와 트랙 경로
tracked.json.bak위의 Atomic-write 백업
cleanup.log각 트랙의 감사 트레일 / 건너뛰기 / 거부 / 삭제

Safety - HERMES_HOME 또는 /tmp/hermes-*의 경로만 정리합니다. Windows 마운트 (/mnt/c/...)는 거부됩니다. 잘 알려진 최고 수준의 상태 디어 (logs/, memories/, sessions/, cron/, cache/, skills/, plugins/, ... 자체)는 절대로 제거되지 않습니다.

Enabling: hermes plugins enable disk-cleanup (또는 hermes plugins의 박스를 확인).

** 다시 활성화:** hermes plugins disable disk-cleanup입니다.

관찰성/langfuse

Traces Hermes turn, LLM call 및 도구 invocations to Langfuse - 오픈 소스 LLM Observability platform. 턴 당 한 쌍, API 통화 당 1 세대, 도구 통화 당 하나의 도구 관측. 사용법 총, per-type 토큰 조사, 그리고 비용 추정은 Hermes' canonical agent.usage_pricing 수에서 옵니다, 그래서 Langfuse 대쉬보드는 동일한 고장 (입력/출력/cache_read_input_tokens/cache_creation_input_tokens/reasoning_tokens)를 참조하세요 hermes logs.

플러그인이 실패합니다: SDK가 설치되지 않고, credentials, 또는 transient Langfuse 오류가 없습니다. 모두 후크에 침묵의 no-op로 전환합니다. 에이전트 루프는 영향을받지 않습니다.

** 설정 (interactive — 권장): * 설명 이름

hermes tools          # → Langfuse Observability → Cloud or Self-Hosted

마법사는 키를 수집, pip installs langfuse SDK, 추가 observability/langfuseplugins.enabled 당신을 위해. Restart Hermes와 다음 턴은 추적을 발송합니다.

** 설정 (수동):**

pip install langfuse
hermes plugins enable observability/langfuse

그런 다음 ~/.hermes/.env의 자격 증명을 넣어:

HERMES_LANGFUSE_PUBLIC_KEY=pk-lf-...
HERMES_LANGFUSE_SECRET_KEY=sk-lf-...
HERMES_LANGFUSE_BASE_URL=https://cloud.langfuse.com # or your self-hosted URL

일부:

기타 제품채용 정보
pre_api_request / pre_llm_call오픈 (또는 재사용) per-turn 루트 스팬 "Hermes turn" 이 API 호출에 대한 generation 어린이 관측을 입력으로 직렬화된 최근 메시지로 시작합니다.
post_api_request / post_llm_call세대를 닫고 usage_details, cost_details, finish_reason, 보조 출력 + 도구 호출을 첨부합니다. 도구가 호출되지 않은 경우 및 비 빈번한 내용, 차례를 닫습니다.
pre_tool_calltool 어린이 관측을 위생화 args로 시작합니다.
post_tool_call질화 된 result와 도구 관측을 닫습니다. read_file 페이로드가 요약됩니다 (헤드 + 꼬리 + omitted-line 카운트) 그래서 거대한 파일이 HERMES_LANGFUSE_MAX_CHARS의 밑에 체재를 읽습니다.

세션 그룹 키 오프 헤르메스 세션 ID (또는 하위 시약에 대한 작업 ID) 를 통해 langfuse.propagate_attributes, 그래서 하나의 hermes chat 세션은 하나의 랑퓨즈 세션에서 생활.

** 보증:**

hermes plugins list                 # observability/langfuse should show "enabled"
hermes chat -q "hello" # check the Langfuse UI for a "Hermes turn" trace

옵션 조정 (.env에서):

옵션 정보기본 정보설명
HERMES_LANGFUSE_ENV추적에 환경 태그 (production, staging,...)
HERMES_LANGFUSE_RELEASERelease/version 태그
HERMES_LANGFUSE_SAMPLE_RATE1.0SDK로 전달되는 샘플링 속도 (0.0–1.0)
HERMES_LANGFUSE_MAX_CHARS12000메시지 내용 / 도구 args / 도구 결과에 대한 Per-field truncation
HERMES_LANGFUSE_DEBUGfalseagent.log 로깅 Verbose 플러그인

Hermes-prefixed 및 표준 SDK env vars (LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY, LANGFUSE_BASE_URL)는 둘 다 허용됩니다 - 둘 다 놓일 때 Hermes-prefixed wins.

Performance: Langfuse 클라이언트는 첫번째 걸이 통화 후에 캐시됩니다. credentials 또는 SDK가 누락된 경우, 그 결정은 캐쉬드(Cached)이며, 다시 체크된 env vars 또는 reloading config가 없는 후크 패스턴이 됩니다.

** 비활성화:** hermes plugins disable observability/langfuse. 플러그인 모듈은 여전히 발견되지만 모듈 코드가 다시 활성화 될 때까지 실행되지 않습니다.

구글_meet

에이전트를하자 join, transcribe, 그리고에 참여 Google Meet call — 세션에 노트를 가지고, 후 백업 및 포스를 요약, 특정 포인트에 따라, (선택) TTS를 통해 호출에 다시 응답.

** 무엇 추가:**

  • 브라우저 자동화를 사용하여 미팅 URL에 참여하는 두 가지 가상 참가자
  • 구성 된 STT 제공자를 통해 세션 오디오의 실시간 transcription
  • A meet_summarize / meet_speak / meet_followup 툴킷 에이전트가 들어있는 것에 대해 이야기합니다
  • Post-meeting artifact (transcript, speaker-attributed notes, action items)가 ~/.hermes/cache/google_meet/&lt;meeting_id&gt;/에 저장됨

설정:

hermes plugins enable google_meet
# Prompts you to sign in via the plugin's OAuth flow on first use —
# needs a Google account with Meet access. Host approval may be required
# if the meeting enforces "only invited participants can join".

채팅에서 사용:

"Join meet.google.com/abc-defg-hij와 메모를 가져 가라. 전화 후, 메모 항목과 요약을 보내주십시오. "

에이전트는 세션 가입을 킥, 호출 진행으로 상황에 대한 비문을 다시 스트림, 세션 종료 될 때 구조 된 요약을 생성 (또는 중지 할 때).

그것을 사용할 때: 동기화 출석을 위해 봇을 + 요약 할 수 있는 반복 서스펜션; 구조 된 노트를 원하는 증착 스타일 인터뷰; 당신이 그렇지 않으면 Firefly / Otter / Grain을 필요로하는 경우. AI가 듣지 않는 경우 — 사용하지 마십시오.

** 비활성화:** hermes plugins disable google_meet. 모든 캐시 된 성적 및 기록은 ~/.hermes/cache/google_meet/에 유지됩니다.

카테고리

**Steam-style 업적 탭을 대시보드에 추가 ** - 60 + 수집 가능, 실제 헤르메스 세션 역사에서 생성 된 계층 배지. 도구 체인 feats, 디버깅 패턴, vibe-coding streaks, Skill/memory 사용, model/provider 다양성, 라이프 스타일 quirks (주말 및 야간 세션). 원래 @PCinkusz 에 의해 외부 플러그인으로 승인; in-tree에 가져가서 Hermes 기능 변경으로 잠금에서 유지.

일부:

  • 전체 ~/.hermes/state.db 세션 내역을 대시보드에 스캔합니다
  • Per-session stats는 (started_at, last_active) 지문에 의해 시동됩니다, 그래서 후속 검사에 단지 새로운 또는 변경된 세션 re-analyze
  • First-ever scan는 백그라운드 스레드에서 실행됩니다. 대쉬보드는 수천 개의 세션을 가진 데이터베이스에서도 대기하지 않습니다
  • 상태 잠금 해제 $HERMES_HOME/plugins/hermes-achievements/state.json

Tier 진행: 구리 → 은 → 금 → 다이아몬드 → Olympian. 각 카드는 "What counts"섹션을 추적하는 정확한 미터를 나열합니다.

Achievement 상태:

주요 특징설명
자주 묻는 질문적어도 1개의 층은 달성했습니다
제품 정보알 수 없는 성과, 아직 벌어지는 진도
계정 정보자위 행위 Hermes는 당신의 역사에 있는 첫번째 관련 신호를 검출합니다

API - /api/plugins/hermes-achievements/ 아래의 루트 마운트:

끝점설명
GET /achievements전체 카탈로그 per-badge 잠금 해제 상태 (첫 번째 콜드 스캔이 실행되는 동안 보류 홀더를 반환)
GET /scan-status배경 스캐너의 상태: idle / running / failed, 지속 시간, 런 카운트
GET /recent-unlocks가장 최근의 잠금 해제 배지, 가장 새로운 첫 번째
GET /sessions/{id}/badgesBadges는 1개의 특정 세션에서 주로 벌었습니다
POST /rescan수동 비동기 rescan (블록; 사용자가 rescan 버튼을 클릭 할 때 사용)
POST /reset-state잠금 해제 역사 및 캐시 스냅 샷

파일 - $HERMES_HOME/plugins/hermes-achievements/ 아래 라이브:

파일 형식설명
state.json역사를 자물쇠로 여십시오: 당신이 얻고 때 배지. Hermes 업데이트에 따른 안정.
scan_snapshot.json최종 완료된 스캔 페이로드 (대시보드로드에서 즉시 예약)
scan_checkpoint.jsonPer-session stats 캐시는 지문에 의해 열쇠를 박습니다 (가열한 rescans를 빨리 만드십시오)

Performance 노트:

  • ~8,000 세션의 콜드 스캔은 몇 분 걸립니다. 그것은 첫 번째 대시 보드 요청에 배경 스레드에서 실행; UI는 팬딩 placeholder 및 polls /scan-status을 참조하세요.
  • **냉각 검사 중에 증가한 결과 ** — 스캐너는 각 ~250 세션마다 부분 스냅 샷을 게시하므로 각 대시보드는 스캔 진행으로 더 많은 배지를 잠금 해제합니다. 0에 분 긴 stare 없음.
  • started_at + ... 지문이 있는 각 세션에 대한 열렬한 리서치 통계를 사용합니다.
  • in-memory snapshot TTL는 120s입니다. stale 요청은 이전 스냅 샷을 즉시 제공하며 배경을 새로 고침합니다. TTL이 만료되기 때문에 스피너를 기다릴 필요가 없습니다.

Enabling: 사용할 수 없음 — hermes-achievements는 대쉬보드 전용 플러그인입니다 (생활주기 후크 없음, 모델 가능 도구 없음). 그것은 첫번째 발사에 hermes dashboard에서 탭으로 자동 등록. plugins.enabled config only gates lifecycle/tool plugins; 대쉬보드 플러그인은 dashboard/manifest.json를 통해 순수하게 발견됩니다.

이전: plugins/hermes-achievements/dashboard/manifest.json 을 삭제하거나 이름을 ~/.hermes/plugins/hermes-achievements/ 에 있는 같은 이름의 사용자 플러그인으로 삭제하여 대시보드를 발송합니다. $HERMES_HOME/plugins/hermes-achievements/ 생존의 밑에 플러그인의 상태 파일 — 재설치는 당신의 자물쇠로 엽니다 역사를 보존합니다.

번들 플러그인 추가

번들 플러그인은 다른 모든 Hermes 플러그인처럼 정확하게 작성됩니다. Hermes Plugin 구축. 유일한 차이점은:

  • &lt;repo&gt;/plugins/&lt;name&gt;/ 대신 ~/.hermes/plugins/&lt;name&gt;/의 디렉토리 생활
  • 소스는 bundledhermes plugins list로 보고됩니다
  • 같은 이름을 가진 사용자 플러그인은 번들 된 버전을 재정의

플러그인은 번들을위한 좋은 후보입니다:

  • 그것은 선택적 의존도가 없습니다 (또는 이미 pip install.[all] deps)
  • 행동은 대부분의 사용자와 옵트 인보다 옵트 아웃입니다
  • logic ties as lifecycle hooks that 에이전트 의지 그렇지 않으면 invoke에 기억해야
  • Model-visible Tool 표면을 확장하지 않고 핵심 기능을 보완합니다

Counter-examples — user-installable plugins로 유지해야 하는 것들은 번들되지 않습니다. API 키, 틈새 워크플로우, 큰 의존성 나무와 타사 통합은 기본적으로 에이전트 행동을 의미하게 될 것입니다.