통합 가이드
Clavitor + Hermes Agent
Nous Research의 오픈소스 자율 에이전트는 서버에서 실행되며, 학습한 내용을 기억하고 실행 시간이 길어질수록 역량이 향상돼요. Clavitor와 결합하면 에이전트가 접근하는 모든 자격 증명의 범위가 제한되고, 감사 로그에 기록되며, 언제든지 취소할 수 있어요.
Hermes가 볼 수 있는 것
공유 필드
Hermes는 CLI 스킬을 통해 이를 읽어 탐색, 배포 및 인증을 수행해요.
- API 키 (OpenRouter, 모델 제공업체, GitHub, AWS, Stripe...)
- SSH 호스트 자격 증명
- 데이터베이스 연결 문자열
- TOTP 시드 — 요청 시 실시간 2FA 코드 생성
- 서비스 계정 비밀번호
Hermes가 절대 볼 수 없는 것
개인 필드
지문, 얼굴 또는 보안 키로 클라이언트 측에서 암호화돼요. 서버는 암호문을 저장해요. 키가 없으면 액세스할 수 없어요.
- 신용카드 번호 및 CVV
- 여권 및 정부 발급 신분증
- 복구 코드 및 시드 문구
- 주민등록번호
- 은행 계좌 정보
Hermes는 서버에서 실행돼요. CLI도 마찬가지예요.
Hermes는 Linux, macOS 또는 WSL2에서 curl 한 번으로 설치돼요. 지속적으로 실행되며, 세션 전반에 걸쳐 선별된 메모리를 유지하고 스킬을 자동으로 생성해요. 동일한 호스트에 Clavitor CLI를 배치하면 자격 증명이 필요한 모든 스킬이 이를 호출해요.
1. 에이전트 토큰 생성
볼트를 열고 → Agents → Create로 이동해요. 이름을 "Hermes"로 지정하고 액세스할 항목을 선택해요. 설정 토큰을 복사해요.
각 에이전트는 고유한 범위, 속도 제한 및 감사 로그 내역을 가져요. Hermes는 단일 에이전트 신원으로 실행되며, 감사 로그는 모든 액세스에 cli:hermes 태그를 지정해요.
2. Hermes 호스트에서 CLI 초기화
$ echo "$CLAVITOR_TOKEN" | clavitor-cli init
3. 스킬 내부에서 자격 증명 확인
모든 Hermes 스킬(Python, Bash 또는 셸로 실행하는 모든 것)은 자격 증명이 필요한 순간에 이를 읽어요. 시크릿은 Hermes의 메모리나 스킬 소스 코드에 절대 저장되지 않아요:
# Inside a Hermes skill
import subprocess
key = subprocess.check_output(
["clavitor-cli", "get", "OpenRouter", "--field", "key"]
).decode().strip()
# Use key, scrub it after the call게이트웨이 — Telegram, Discord, Slack, WhatsApp, Signal
Hermes는 단일 게이트웨이 프로세스를 통해 메시징 플랫폼에 연결해요. 플랫폼 토큰을 Hermes 구성 파일 대신 Clavitor에 저장해요. 시작 시 게이트웨이 구성을 렌더링해요:
{
"telegram": { "token": "clavitor://Hermes Gateway/telegram_bot_token" },
"discord": { "token": "clavitor://Hermes Gateway/discord_bot_token" },
"slack": { "token": "clavitor://Hermes Gateway/slack_bot_token" }
}$ clavitor-cli render hermes-gateway.json | hermes-agent start --config -
커밋된 템플릿에는 clavitor:// 참조가 포함되며, 확인된 JSON은 render와 hermes-agent 사이의 파이프에만 존재해요. 시크릿은 절대 디스크에 저장되지 않아요.
프록시를 사용한 브라우저 자동화
Hermes는 실제 브라우저를 조작하여 탐색, 클릭, 입력, 스크린샷을 찍을 수 있어요. 워크플로가 외부 API에 로그인할 때 Hermes를 Clavitor 프록시로 향하게 하고 요청 헤더에 자격 증명을 참조로 작성해요. 에이전트와 브라우저는 시크릿을 절대 볼 수 없어요:
$ export HTTPS_PROXY=http://localhost:1983 $ hermes-agent task "post a status update to our CMS" # Hermes's HTTP calls go through the proxy. # The CMS auth header is set to clavitor://Client CMS/api_key; # the proxy resolves it on the wire.
Hermes 메모리 + Clavitor 메모리
Hermes에는 자체적으로 선별된 장기 메모리가 있어요. Hermes가 자체 저장소에 보관하면 안 되는 항목(복구 절차, 고객별 런북, 새 Hermes 설치 후에도 유지되어야 하는 모든 것)에는 Clavitor의 암호화된 메모리 항목을 사용해요:
# From any Hermes skill
$ clavitor-cli memory put --title "Deploy runbook" \
--content "$(cat deploy-runbook.md)"
# Later — recall by semantic similarity, not keyword
$ clavitor-cli memory search "how do we roll back the API gateway?"Clavitor 메모리는 종단간 암호화되며, 기기 간에 동기화되고, 볼트는 텍스트를 복호화하지 않고도 벡터로 검색해요. Hermes는 쓸 때 임베딩을 추가하고, 쿼리할 때 임베딩을 전송해요.
모든 액세스가 기록돼요
감사 로그는 어떤 에이전트가 어떤 자격 증명에 언제, 어디서 액세스했는지 기록해요. Hermes 활동은 모든 줄에서 사람의 활동과 구별돼요.
# TIME ACTION ENTRY ACTOR 2026-03-08 10:23:14 read openrouter cli:hermes 2026-03-08 10:23:15 read telegram-bot cli:hermes 2026-03-08 11:45:02 read aws-production cli:deploy-agent 2026-03-08 14:12:33 render - cli:hermes