NousResearch/hermes-paperclip-adapter

Paperclip adapter for Hermes Agent — run Hermes as a managed employee in a Paperclip company

1,701
GitHub 스타
346
포크
TypeScript
언어
MIT
라이선스
2026.04.04
최근 푸시
2026.05.10
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
Paperclip을 사용하는 조직에서 Hermes Agent의 강력한 기능을 활용하려는 경우 도입을 고려할 만함. 특히 다중 제공업체 지원과 풍부한 도구 세트가 필요한 시나리오에 적합.

강점

  • Hermes Agent의 30개 이상 네이티브 도구, 영구 메모리, 80개 이상 스킬 등 강력한 기능을 Paperclip과 통합하여 엔터프라이즈급 AI 에이전트 운영 가능
  • 8개 추론 제공업체 지원으로 다양한 모델 선택 가능
  • 세션 지속성, 체크포인트, 댓글 기반 깨우기 등 실제 업무 환경에 필요한 고급 기능 제공

약점

  • Paperclip 서버에 직접 등록해야 하므로 Paperclip 생태계에 종속적임
  • Hermes Agent가 사전 설치되어야 하며 Python 3.10+ 의존성 필요
  • 문서에 성능 벤치마크나 실제 사용 사례 예시가 부족함

주의사항

  • Paperclip 서버의 어댑터 레지스트리를 수정해야 하므로 운영 환경에서 주의 필요
  • Hermes Agent CLI를 직접 실행하므로 리소스 사용량 및 보안 측면 고려 필요
  • 세션 지속성과 체크포인트 기능은 추가 저장 공간을 사용할 수 있음

시작 가이드

  • Paperclip 서버 환경 확인 및 Hermes Agent 설치
  • 어댑터 등록 및 기본 설정으로 테스트 실행
  • 원하는 모델과 도구 세트를 구성하여 실제 작업에 적용

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

Hermes Agent용 Paperclip 어댑터

Paperclip 회사에서 Hermes Agent를 관리형 직원으로 실행할 수 있게 해주는 Paperclip 어댑터입니다.

Hermes Agent는 Nous Research의 풀 기능 AI 에이전트로, 30개 이상의 네이티브 도구, 영구 메모리, 세션 지속성, 80개 이상의 스킬, MCP 지원, 다중 제공업체 모델 액세스를 제공합니다.

주요 기능

이 어댑터는 다음을 제공합니다:

  • 8개 추론 제공업체 — Anthropic, OpenRouter, OpenAI, Nous, OpenAI Codex, ZAI, Kimi Coding, MiniMax
  • 스킬 통합 — Paperclip 관리형 스킬과 Hermes 네이티브 스킬(~/.hermes/skills/)을 모두 스캔하며, 동기화/목록/해결 API 제공
  • 구조화된 트랜스크립트 파싱 — 원시 Hermes 표준 출력을 타입화된 TranscriptEntry 객체로 파싱하여 Paperclip이 상태 아이콘과 확장/축소 기능이 있는 적절한 도구 카드를 렌더링하도록 함
  • 풍부한 후처리 — Hermes ASCII 배너, setext 제목, +--+ 테이블 테두리를 깔끔한 GFM 마크다운으로 변환
  • 댓글 기반 깨우기 — 작업 할당뿐만 아니라 이슈 댓글에 응답하기 위해 에이전트가 깨어남
  • 자동 모델 감지~/.hermes/config.yaml을 읽어 사용자가 구성한 모델로 UI를 미리 채움
  • 세션 코덱 — 하트비트 간 세션 상태의 구조화된 검증 및 마이그레이션
  • 무해한 stderr 재분류 — MCP 초기화 메시지와 구조화된 로그가 UI에서 오류로 표시되지 않도록 재분류
  • 세션 소스 태깅 — 세션이 사용자의 대화형 기록을 어지럽히지 않도록 tool 소스로 태깅
  • 파일시스템 체크포인트 — 롤백 안전성을 위한 선택적 --checkpoints
  • 사고 노력 제어 — 사고/추론 모델을 위한 --reasoning-effort 전달

Hermes Agent 기능

기능 Claude Code Codex Hermes Agent
영구 메모리 ✅ 세션 간 기억
네이티브 도구 ~5 ~5 30+ (터미널, 파일, 웹, 브라우저, 비전, git 등)
스킬 시스템 ✅ 80개 이상 로드 가능한 스킬
세션 검색 ✅ 과거 대화에 대한 FTS5 검색
하위 에이전트 위임 ✅ 병렬 하위 작업
컨텍스트 압축 ✅ 긴 대화 자동 압축
MCP 클라이언트 ✅ 모든 MCP 서버에 연결
다중 제공업체 Anthropic 전용 OpenAI 전용 ✅ 기본 8개 제공업체

설치

npm install hermes-paperclip-adapter

사전 요구 사항

  • Hermes Agent 설치 (pip install hermes-agent)
  • Python 3.10+
  • 최소 하나의 LLM API 키 (Anthropic, OpenRouter 또는 OpenAI)

빠른 시작

1. Paperclip 서버에 어댑터 등록

Paperclip 서버의 어댑터 레지스트리(server/src/adapters/registry.ts)에 추가:

import * as hermesLocal from "hermes-paperclip-adapter";
import {
  execute,
  testEnvironment,
  detectModel,
  listSkills,
  syncSkills,
  sessionCodec,
} from "hermes-paperclip-adapter/server";

registry.set("hermes_local", {...hermesLocal,
  execute,
  testEnvironment,
  detectModel,
  listSkills,
  syncSkills,
  sessionCodec,
});

2. Paperclip에서 Hermes 에이전트 생성

Paperclip UI 또는 API를 통해 어댑터 유형이 hermes_local인 에이전트 생성:

{
  "name": "Hermes Engineer",
  "adapterType": "hermes_local",
  "adapterConfig": {
    "model": "anthropic/claude-sonnet-4",
    "maxIterations": 50,
    "timeoutSec": 300,
    "persistSession": true,
    "enabledToolsets": ["terminal", "file", "web"]
  }
}

3. 작업 할당

Paperclip에서 이슈를 생성하고 Hermes 에이전트에 할당합니다. 각 하트비트에서 Hermes는:

  1. 작업 지침 수신
  2. 전체 도구 모음을 사용하여 작업 완료
  3. 결과를 Paperclip에 보고
  4. 연속성을 위해 세션 상태 유지

구성 참조

핵심

필드 유형 기본값 설명
model string anthropic/claude-sonnet-4 provider/model 형식의 모델
provider string (자동 감지) API 제공업체: auto, openrouter, nous, openai-codex, zai, kimi-coding, minimax, minimax-cn
timeoutSec number 300 실행 제한 시간(초)
graceSec number 10 SIGKILL 전 유예 기간

도구

필드 유형 기본값 설명
toolsets string (전체) 활성화할 도구 세트(쉼표로 구분, 예: "terminal,file,web")

사용 가능한 도구 세트: terminal, file, web, browser, code_execution, vision, mcp, creative, productivity

세션 및 작업 공간

필드 유형 기본값 설명
persistSession boolean true 하트비트 간 세션 재개
worktreeMode boolean false Git 작업 트리 격리
checkpoints boolean false 롤백을 위한 파일시스템 체크포인트 활성화

고급

필드 유형 기본값 설명
hermesCommand string hermes 사용자 정의 CLI 바이너리 경로
verbose boolean false 자세한 출력 활성화
quiet boolean true 조용한 모드 (배너/스피너 없이 깔끔한 출력)
extraArgs string[] [] 추가 CLI 인수
env object {} 추가 환경 변수
promptTemplate string (내장) 사용자 정의 프롬프트 템플릿
paperclipApiUrl string http://127.0.0.1:3100/api Paperclip API 기본 URL

프롬프트 템플릿 변수

promptTemplate에서 {{variable}} 구문 사용:

변수 설명
{{agentId}} Paperclip 에이전트 ID
{{agentName}} 에이전트 표시 이름
{{companyId}} 회사 ID
{{companyName}} 회사 이름
{{runId}} 현재 하트비트 실행 ID
{{taskId}} 할당된 작업/이슈 ID
{{taskTitle}} 작업 제목
{{taskBody}} 작업 지침
{{projectName}} 프로젝트 이름
{{paperclipApiUrl}} Paperclip API 기본 URL
{{commentId}} 댓글 ID (댓글로 깨어난 경우)
{{wakeReason}} 이 실행이 트리거된 이유

조건부 섹션:

  • {{#taskId}}...{{/taskId}} — 작업이 할당된 경우에만 포함
  • {{#noTask}}...{{/noTask}} — 작업이 없는 경우에만 포함 (하트비트 확인)
  • {{#commentId}}...{{/commentId}} — 댓글로 깨어난 경우에만 포함

아키텍처

Paperclip                          Hermes Agent
┌──────────────────┐               ┌──────────────────┐
│  하트비트         │               │                  │
│  스케줄러         │───execute()──▶│  hermes chat -q  │
│                  │               │                  │
│  이슈 시스템      │               │  30+ 도구        │
│  댓글 깨우기      │◀──결과────────│  메모리 시스템    │
│                  │               │  세션 DB         │
│  비용 추적        │               │  스킬            │
│                  │               │  MCP 클라이언트   │
│  스킬 동기화      │◀──스냅샷──────│  ~/.hermes/skills│
│  조직도           │               │                  │
└──────────────────┘               └──────────────────┘

어댑터는 Hermes Agent의 CLI를 단일 쿼리 모드(-q)로 실행합니다. Hermes는 전체 도구 모음을 사용하여 작업을 처리한 후 종료됩니다. 어댑터는:

  1. 표준 출력/표준 오류를 캡처하고 토큰 사용량, 세션 ID 및 비용을 파싱합니다.
  2. 원시 출력을 구조화된 TranscriptEntry 객체로 파싱합니다 (상태 아이콘이 있는 도구 카드).
  3. Hermes ASCII 형식(배너, setext 제목, 테이블 테두리)을 깔끔한 GFM 마크다운으로 후처리합니다.
  4. 무해한 stderr(MCP 초기화, 구조화된 로그)를 재분류하여 오류로 표시되지 않도록 합니다.
  5. 세션을 tool 소스로 태깅하여 대화형 사용과 분리합니다.
  6. 비용, 사용량 및 세션 상태와 함께 결과를 Paperclip에 보고합니다.

세션 지속성은 Hermes의 --resume 플래그를 통해 작동합니다. 각 실행은 이전 실행이 중단된 지점에서 계속되어 하트비트 간 대화 컨텍스트, 메모리 및 도구 상태를 유지합니다. sessionCodec은 실행 간 세션 상태를 검증하고 마이그레이션합니다.

스킬 통합

어댑터는 두 가지 스킬 소스를 스캔하여 병합합니다:

  • Paperclip 관리형 스킬 — 어댑터에 번들로 제공되며 UI에서 전환 가능
  • Hermes 네이티브 스킬~/.hermes/skills/에서 읽기 전용, 항상 로드됨

listSkills / syncSkills API는 통합된 스냅샷을 제공하여 Paperclip UI가 관리형 및 네이티브 스킬을 한 보기에서 표시할 수 있도록 합니다.

개발

git clone https://github.com/NousResearch/hermes-paperclip-adapter
cd hermes-paperclip-adapter
npm install
npm run build

라이선스

MIT — LICENSE 참조

링크

원본 저장소: NousResearch/hermes-paperclip-adapter

라이선스: MIT

게재 제외를 원하시면 삭제 요청을 보내주세요.