내장 플러그인
anchor alias
내장 플러그인
Hermes는 저장소와 번들 한 플러그인의 작은 세트를 배웁니다. 그들은 <repo>/plugins/<name>/ 아래에서 라이브하고 ~/.hermes/plugins/의 사용자 설치 플러그인을 따라 자동으로 로드합니다. 그들은 세 번째 파티 플러그인과 같은 플러그인 표면을 사용합니다 - 후크, 도구, 슬래시 명령 - 그냥 in-tree 유지.
일반 플러그인 시스템의 Plugins 페이지를 참조하고, Hermes Plugin 구축를 작성하여 자신에게 작성합니다.
발견 작품
PluginManager는 순서에서 4개의 근원을 검사합니다:
- Bundled —
<repo>/plugins/<name>/(이 페이지 문서는 무엇입니까) - 사용자 —
~/.hermes/plugins/<name>/ - Project -
./.hermes/plugins/<name>/(HERMES_ENABLE_PROJECT_PLUGINS=1필요) - **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-cleanup | Hooks + 슬래시 명령 | 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 memory 및 hermes plugins를 통해 관리됩니다. 두 개의 긴 실행 후크 기반 플러그인에 대한 전체 per-plugin 세부 사항은 다음과 같습니다.
디스크 정리
Auto-tracks 및 세션 중 생성 된 ephemeral 파일을 제거합니다. - 테스트 스크립트, 온도 출력, cron 로그, stale 크롬 프로파일 - 도구로 호출하는 것을 기억하기 위해 에이전트가 필요하지 않습니다.
일부:
| 기타 제품 | 채용 정보 |
|---|---|
post_tool_call | write_file / terminal / patch는 test_*, 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/langfuse 에 plugins.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_call | tool 어린이 관측을 위생화 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_RELEASE | — | Release/version 태그 |
HERMES_LANGFUSE_SAMPLE_RATE | 1.0 | SDK로 전달되는 샘플링 속도 (0.0–1.0) |
HERMES_LANGFUSE_MAX_CHARS | 12000 | 메시지 내용 / 도구 args / 도구 결과에 대한 Per-field truncation |
HERMES_LANGFUSE_DEBUG | false | agent.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/<meeting_id>/에 저장됨
설정:
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}/badges | Badges는 1개의 특정 세션에서 주로 벌었습니다 |
POST /rescan | 수동 비동기 rescan (블록; 사용자가 rescan 버튼을 클릭 할 때 사용) |
POST /reset-state | 잠금 해제 역사 및 캐시 스냅 샷 |
파일 - $HERMES_HOME/plugins/hermes-achievements/ 아래 라이브:
| 파일 형식 | 설명 |
|---|---|
state.json | 역사를 자물쇠로 여십시오: 당신이 얻고 때 배지. Hermes 업데이트에 따른 안정. |
scan_snapshot.json | 최종 완료된 스캔 페이로드 (대시보드로드에서 즉시 예약) |
scan_checkpoint.json | Per-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 구축. 유일한 차이점은:
<repo>/plugins/<name>/대신~/.hermes/plugins/<name>/의 디렉토리 생활- 소스는
bundled로hermes plugins list로 보고됩니다 - 같은 이름을 가진 사용자 플러그인은 번들 된 버전을 재정의
플러그인은 번들을위한 좋은 후보입니다:
- 그것은 선택적 의존도가 없습니다 (또는 이미
pip install.[all]deps) - 행동은 대부분의 사용자와 옵트 인보다 옵트 아웃입니다
- logic ties as lifecycle hooks that 에이전트 의지 그렇지 않으면 invoke에 기억해야
- Model-visible Tool 표면을 확장하지 않고 핵심 기능을 보완합니다
Counter-examples — user-installable plugins로 유지해야 하는 것들은 번들되지 않습니다. API 키, 틈새 워크플로우, 큰 의존성 나무와 타사 통합은 기본적으로 에이전트 행동을 의미하게 될 것입니다.