본문으로 건너뛰기

프로필 배포: 전체 에이전트 공유

Aprofile Distribution 패키지는 완전한 헤르메스 에이전트 — 개성, 기술, Cron 작업, MCP 연결, config — git 저장소로 패키지합니다. repo에 접근하는 사람은 1개의 명령을 가진 전체적인 에이전트을 설치할 수 있고, 장소에서 그것을 새롭게 하고, 그들의 자신의 기억, 세션 및 API 열쇠를 untouched 지킵니다.

profile가 로컬 에이전트인 경우, 배포는 해당 에이전트가 공유할 수 있습니다.

이런 뜻

배포하기 전에 Hermes 에이전트가 누군가를 보내는 것을 의미합니다.

  1. 당신의 SOUL.md
  2. 설치 능력의 목록
  3. config.yaml, 비밀을 채굴
  4. 당신이 위로 타전되는 MCP 서버의 묘사
  5. 당신이 계획한 어떤 cron 일
  6. 어떤 env vars를 위한 지시... 그리고 그들은 그것을 올바르게 조립. 모든 버전 범프 또는 버그 수정은 Handoff를 반복하지 않습니다.

배포로, 그 전부는 1개의 git repo에 살고 있습니다:

사이트맵

Recipients 실행:

hermes profile install github.com/you/my-research-agent --alias

왜 git?

우리는 tarballs, HTTP 아카이브, 사용자 정의 형식으로 간주됩니다. 그들 중 아무도 git을 이길:

  • **Zero는 저자를위한 단계를 구축합니다. ** GitHub에 푸시; 소비자 설치. 이 "패키지, 업로드, 인덱스를 업데이트" 루프가 없습니다.
  • 태그, 지점 및 커밋은 이미 버전 시스템입니다. 태그 푸시는 "패키지 + 업로드"가 다른 도구에 사용됩니다. -업데이트는 fetch입니다. 전체 아카이브의 다운로드가 아닙니다.
  • 투명. 사용자는 repo를 검색 할 수 있으며, 버전간에 diffs를 읽을 수 있으며, 이를 위해 fork를 엽니다.
  • 개인 저장소는 무료로 작동합니다. SSH 키, git credential 헬퍼, GitHub CLI는 크리덴셜을 저장합니다. - 터미널이 이미 투명하게 적용됩니다.
  • Reproducibility는 커밋 SHA입니다. 동일한 것 pip 및 npm 기록.

Tradeoff: 수신자는 git을 설치해야 합니다. 2026 년에 Hermes를 실행하는 모든 기계에서 이미 사실입니다.

배포를 사용할 때?

좋은 적합:

  • 전문 에이전트를 공유 - 준수 모니터, 코드 검토자, 연구 조수, 고객 지원 봇 - 팀 또는 커뮤니티와 함께.
  • 여러 기계에 동일한 에이전트를 배포 파일을 수동으로 복사 할 수 없습니다.
  • ** 에이전트**에 저장하고 수신자는 한 개의 명령으로 새 버전을 선택합니다.
  • ** 제품**로 에이전트를 구축하고 있습니다. - 의견이 있는 기본, 선별된 Skill, tuned prompts — 다른 사람들이 시작점으로 사용해야 합니다.

적합하지 않음:

  • **당신은 단지 자신의 기계에 프로필을 백업하고 싶습니다. ** 사용 hermes profile export / import - 그 누구인지.
  • 에이전트와 함께 API 키를 공유하고 싶습니다. auth.json.env는 배포판에서 명시적으로 제외됩니다. 각 설치자는 자신의 자격 증명을 가져옵니다.
  • 기억 / 세션 / 대화 기록을 공유하고 싶습니다. 사용자 데이터는 배포 내용이 아닙니다. 배송안내

Lifecycle: 설치자를 업데이트하는 저자

아래는 풀 엔드 투 엔드 흐름입니다. 당신을 돌봐.


저자: 배포

Step 1 - 작업 프로필에서 시작

다른 어떤 단면도 같이 에이전트을 건설하고 refine:

사이트맵

단계 2 - distribution.yaml 추가

~/.hermes/profiles/research-bot/distribution.yaml 만들기:

사이트맵

그것은 전체적인 모습입니다. name를 제외한 모든 필드에는 감지 가능한 기본값이 있습니다.

단계 3 - git repo에 푸시

cd ~/.hermes/profiles/research-bot
git init
git add.
git commit -m "v1.0.0"
git remote add origin git@github.com:you/research-bot.git
git tag v1.0.0
git push -u origin main --tags

Repo는 이제 배포입니다. 접속을 가진 누구나 그것을 설치할 수 있습니다.

기사

git repo에는 이미 배포에서 제외되는 것들을 제외하고 프로파일 디렉토리에서 everything이 포함되어 있습니다.: auth.json, .env, memories/, sessions/, state.db*, logs/, workspace/, *_cache/, local/. 기계에 그 체재. 추가 경로를 제외하고 .gitignore도 추가 할 수 있습니다. 주요 특징

Step 4 - 태그 버전 출시

매번 에이전트는 안정된 지점을 도달, 버전과 태그를 밀어:

# Edit distribution.yaml: version: 1.1.0
git add distribution.yaml SOUL.md skills/
git commit -m "v1.1.0: tighter research SOUL, add arxiv skill"
git tag v1.1.0
git push --tags

hermes profile update research-bot를 실행하는 재원은 최신을 끌어올릴 것입니다.

# repo가 좋아 보이는 것

완전한 승인된 배급:

사이트맵

배포 소유 대 사용자 소유

새 버전의 설치 업데이트가 끝나면 일부 것들이 교체됩니다 (author's domain) 및 일부 것들은 (installer's domain). 기본 사항:

| 분류 | 경로 | 업데이트 | |---|---||| |Distribution-owned | SOUL.md, config.yaml, mcp.json, skills/, cron/, distribution.yaml | 새 클론에서 교체 | |Config 재정의 | config.yaml | 기본적으로 보존할 수 있는 설치 프로그램은 모델이나 제공자를 조정할 수 있습니다. --force-config를 리셋으로 전달합니다. | 저작권 © 2019 memories/, sessions/, state.db*, auth.json, .env, logs/, workspace/, plans/, home/, *_cache/, *_cache/, workspace/, workspace/, plans/, home/, *_cache/, *_cache/, *_cache/,

다음과 같이 배포된 목록을 무시할 수 있습니다:

사이트맵

omitted 경우, 위의 기본값은 apply — 이는 대부분의 배포가 원하는 것입니다.


설치자: 배포를 사용

설치

hermes profile install github.com/you/research-bot --alias

무슨 일이:

  1. Clones는 임시 디렉토리로 재포를 합니다.
  2. distribution.yaml를 읽고, (이름, 버전, 설명, 저자, 필수 env vars)를 보여줍니다.
  3. 각 요구한 env var를 당신의 셸 환경과 표적 단면도의 기존하는 .env에 대하여 검사하세요. ✓ set 또는 needs setting로 각각 표시하여 구성하는 것을 정확히 알고 있습니다.
  4. 확인을 요청합니다. -y / --yes를 통과하여 건너뛰기.
  5. ~/.hermes/profiles/research-bot/로의 복사 배급 소유한 파일 (또는 현명한 name는 해결합니다).
  6. .env.EXAMPLE를 작성하여 필요한 키로 덧붙였다 - .env로 복사하고 입력합니다.
  7. --alias로, 래퍼를 만듭니다 그래서 당신은 research-bot chat를 직접 실행할 수 있습니다.

소스 유형

어떤 git URL이 작동:

모델 번호: ```bash

GitHub shorthand

hermes profile install github.com/you/research-bot

Full HTTPS

hermes profile install https://github.com/you/research-bot.git

SSH

hermes profile install git@github.com:you/research-bot.git

Self-hosted, GitLab, Gitea, Forgejo — any Git host

hermes profile install https://git.example.com/team/research-bot.git

Private repo using your configured git auth

hermes profile install git@github.com:your-org/internal-bot.git

Local directory during development (no git push needed)

hermes profile install ~/my-profile-in-progress/


### 프로필 이름을 삭제

두 사용자는 다른 프로파일 이름의 밑에 동일한 배급을 원합니다:

```bash
# Alice
hermes profile install github.com/acme/support-bot --name support-us --alias
# Bob (same distribution, different local name)
hermes profile install github.com/acme/support-bot --name support-eu --alias

env vars에 채우기

설치 후에, 대리인의 단면도는 .env.EXAMPLE를 포함합니다:

# Environment variables required by this Hermes distribution.
# Copy to `.env` and fill in your own values before running.

# OpenAI API key (for model access)
# (required)
OPENAI_API_KEY=

# SerpAPI key for web search
# (optional)
# SERPAPI_KEY=

복사:

cp ~/.hermes/profiles/research-bot/.env.EXAMPLE ~/.hermes/profiles/research-bot/.env
# Edit.env, paste your real keys

쉘 환경에서 이미 있었던 필수 키 (예: OPENAI_API_KEY~/.zshrc에 수출)는 설치 중에 ✓ set에 표시되어 있습니다. .env에서 복제 할 필요가 없습니다.

당신이 설치 한 것을 확인

hermes profile info research-bot

전시:

Distribution: research-bot
Version: 1.0.0
Description: Autonomous research assistant with arXiv and web tools
Author: Your Name
Requires: Hermes >=0.12.0
Source: https://github.com/you/research-bot
Installed: 2026-05-08T17:04:32+00:00

Environment variables:
OPENAI_API_KEY (required) — OpenAI API key (for model access)
SERPAPI_KEY (optional) — SerpAPI key for web search

hermes profile list는 또한 Distribution 란을 한 눈에 보여줍니다. 프로필이 저장소에서 와서 손으로 제작 한 것을 볼 수 있습니다.

 Profile          Model                        Gateway      Alias        Distribution
─────────────── ─────────────────────────── ─────────── ─────────── ────────────────────
◆default claude-sonnet-4 stopped — —
coder gpt-5 stopped coder —
research-bot claude-opus-4 stopped research-bot research-bot@1.0.0
telemetry claude-sonnet-4 running telemetry telemetry@2.3.1

업데이트

hermes profile update research-bot

무슨 일이:

  1. 기록된 소스 URL에서 재포를 삭제합니다.
  2. 배급 소유한 파일을 대체하십시오 (SOUL, 기술, cron, mcp.json). 3.Preserves 당신의 config.yaml — 당신은 모형, 온도, 또는 다른 조정을 달릴지도 모릅니다. --force-config를 덮어쓰기 위하여 전달하십시오.
  3. **** 사용자 데이터: 메모리, 세션, 오, .env, 로그, 상태.

전체 아카이브를 다시 다운로드하지 않습니다. 로컬 변경을 설정할 수 없습니다. 대화의 역사를 삭제하지 마십시오.

제거

hermes profile delete research-bot

확인하기 전에 삭제 된 표면 배포 정보:

Profile: research-bot
Path: ~/.hermes/profiles/research-bot
Model: claude-opus-4 (anthropic)
Skills: 12
Distribution: research-bot@1.0.0
Installed from: https://github.com/you/research-bot

This will permanently delete:
• All config, API keys, memories, sessions, skills, cron jobs
• Command alias (~/.local/bin/research-bot)

Type 'research-bot' to confirm:

그래서 사고로 에이전트를 삭제하지 않고 어디에서 온 또는 제거 할 수 있습니다.


사용 사례 및 패턴

Personal: 기계 전체에 한 에이전트 동기화

노트북에 대한 연구 보조를 구축했습니다. 당신은 당신의 워크스테이션에 동일한 대리인을 원합니다.

# Laptop
cd ~/.hermes/profiles/research-bot
git init && git add. && git commit -m "initial"
git remote add origin git@github.com:you/research-bot.git
git push -u origin main

# Workstation
hermes profile install github.com/you/research-bot --alias
# Fill in.env. Done.

노트북 (git commit && push)의 모든 반복은 hermes profile update research-bot와 워크 스테이션에 끌어. Memories는 기계 당 체재 — 노트북은 그것의 자신의 대화를 기억합니다, 워크스테이션은 그것의 자신의 것을 기억합니다, 그들은 collide하지 않습니다.

팀: 검토 된 내부 에이전트를 배송

엔지니어링 팀은 특정 SOUL, 특정 기술 및 모든 PR을 통해 실행하는 cron과 공유 PR-review bot을 원합니다.

# Engineering lead
cd ~/.hermes/profiles/pr-reviewer
#... build and tune...
git init && git add. && git commit -m "v1.0 PR reviewer"
git tag v1.0.0
git push -u origin main --tags # push to your company's internal Git host

# Each engineer
hermes profile install git@github.com:your-org/pr-reviewer.git --alias
# Fill in.env with their own API key (billed to them),.env.EXAMPLE points at what's required
pr-reviewer chat

리드 선박 v1.1 (더 나은 SOUL, 새로운 기술) 때, 엔지니어는 hermes profile update pr-reviewer를 실행하고 모든 사람이 몇 분 안에 새로운 버전에 달려 있습니다.

커뮤니티: 공개 에이전트 게시

"Polymarket 상인"또는 "academic paper summarizer"또는 "Minecraft 서버 ops 조수"를 만들었습니다. 공유하고 싶습니다.

# You
cd ~/.hermes/profiles/polymarket-trader
# Write a solid README.md at the repo root — GitHub shows it on the repo page
git init && git add. && git commit -m "v1.0"
git tag v1.0.0
# Publish to a public GitHub repo
git remote add origin https://github.com/you/hermes-polymarket-trader.git
git push -u origin main --tags

# Anyone
hermes profile install github.com/you/hermes-polymarket-trader --alias

설치 명령을 트윗합니다. 당신이 문제를 보내고 PRs. 누군가가 사용자 정의하려는 경우, 그들은 포크 — 같은 git 작업 모두 이미 알고.

제품: shiping 대리인

Hermes-on-top을 구축했습니다. - 아마도 고객 지원 스택, 도메인 별 연구 플랫폼. 제품으로 배포하고 싶습니다.

# distribution.yaml
name: telemetry-harness
version: 2.3.1
description: "Compliance telemetry harness — monitors and reviews regulated workflows"
hermes_requires: ">=0.13.0"
author: "Acme Compliance Inc."
license: "Commercial"

env_requires:
- name: ACME_API_KEY
description: "Your Acme Compliance license key (email support@acme.com)"
required: true
- name: OPENAI_API_KEY
description: "OpenAI API key for model access"
required: true
- name: GRAPHITI_MCP_URL
description: "URL for your Graphiti knowledge graph instance"
required: false
default: "http://127.0.0.1:8000/sse"

고객은 단일 명령을 통해 설치합니다. 설치 미리보기는 키가 준비되어있는 것을 정확하게 알려줍니다. 새 릴리스를 태그하는 순간을 업데이트하십시오. 규정 준수 데이터 (memories/, sessions/)는 기계가 결코 나타날 수 없습니다.

Ephemeral: 공유 infra에 하나의 오프 스크립트

ops 리드입니다. 생산 사건을 진단하는 임시 대리인을 원하십니까 — 올바른 도구와 MCP 연결을 가진 통조림으로 만들어진 SOUL — 그리고 다음 주 동안 3개의 on-call 엔지니어의 노트북에 달립니다.

# You
# Build the profile, commit, push a private repo
git push -u origin main

# Each on-call
hermes profile install git@github.com:your-org/incident-2026-q2.git --alias

# Incident resolved — tear it down
hermes profile delete incident-2026-q2

install-delete 주기는 충분히 처분할 수 있습니다.


조리법

Pin에 특정한 버전

기사

Git ref pinning (#v1.2.0)는 계획되었지만 초기 릴리스에 없습니다. - 현재 기본 지점을 추적합니다. hermes profile info <name>를 통해 설치 된 버전을 추적하고 준비가 될 때까지 업데이트에 보관하십시오. 주요 특징

최신 버전 확인

# Your installed version
hermes profile info research-bot | grep Version

# Latest upstream (without installing)
git ls-remote --tags https://github.com/you/research-bot | tail -5

업데이트를 통해 로컬 설정 사용자 정의 유지

기본 업데이트 행동은 이미 다음과 같습니다. config.yaml는 보존됩니다. 안전하고, 로컬 tweaks를 파일에 쓰기 위해 배포는 소유하지 않습니다.

# ~/.hermes/profiles/research-bot/local/my-재정의s.yaml
# (distribution never touches local/)

힘 청결한 재설치

# Nuke and re-install from scratch (loses memories/sessions too)
hermes profile delete research-bot --yes
hermes profile install github.com/you/research-bot --alias

# Update to current main but reset config.yaml to the distribution's default
hermes profile update research-bot --force-config --yes

포크 및 사용자 정의

표준 git 작업 흐름 — 배포는 단지 저장소:

# Fork the repo on GitHub, then install your fork
hermes profile install github.com/yourname/forked-research-bot --alias

# Iterate locally in ~/.hermes/profiles/forked-research-bot/
# Edit SOUL.md, commit, push to your fork
# Upstream changes: pull them into your fork the usual way

푸시 하기 전에 배포 테스트

저자의 기계에서:

# Install from a local directory (no git push needed)
hermes profile install ~/.hermes/profiles/research-bot --name research-bot-test --alias

# Tweak, delete, re-install until it's right
hermes profile delete research-bot-test --yes
hermes profile install ~/.hermes/profiles/research-bot --name research-bot-test

배포되지 않습니다 (모든)

인스톨러는 이 경로를 제외하면 저자가 실수로 발송합니다. 구성 옵션이 없으면이를 무시할 수 있습니다. 안전 가드는 회귀 테스트 invariant입니다.

  • auth.json - OAuth 토큰, 플랫폼 자격
  • .env - API 키, 비밀
  • memories/ - 대화 기억
  • sessions/ - 대화 기록
  • state.db, state.db-shm, state.db-wal - 세션 메타데이터
  • logs/ - 에이전트 및 오류 로그
  • workspace/ - 생성 된 작업 파일
  • plans/ 스크래치 계획
  • home/ - Docker 백엔드의 사용자 홈 마운트
  • *_cache/ - 이미지 / 오디오 / 문서 캐시
  • local/ - 사용자 보존 사용자 정의 네임스페이스

당신은 배포를 막을 때, 이들은 단순히 거기 없습니다. 당신이 업데이트 할 때, 그들은 넣어. 당신은 5대의 기계에 동일한 배급을 설치한 경우에, 당신은 이 자료의 5개의 고립한 세트가 있습니다 — 기계 당 하나.

보안 및 신뢰

프로필 배포는 기본적으로 할당되지 않습니다. 신뢰할 수 있습니다:

  • git host (GitHub / GitLab / wherever)는 저자가 푸시 된 바이트를 제공합니다.
  • ** 저자 ** 악의적인 SOUL, 기술, 또는 cron 작업을 발송하지 않습니다.

배포에서 Cron 작업은 ** 자동 정렬되지 않음 ** - 설치 프로그램은 hermes -p <name> cron list를 인쇄하고 명시적으로 사용할 수 있습니다. SOUL.md 및 기술은 프로필과 채팅을 시작하면 처음 실행되기 전에 읽습니다. 누군가에서 설치하지 않는 경우.

거친 아날로그: 배포를 설치하고 브라우저 확장 또는 VS 코드 확장을 설치하고 싶습니다. 낮은 마찰, 고성능은, 근원을 신뢰합니다. 내부 회사 배급을 위해, 개인적인 repo 및 당신의 정상적인 git auth를 사용하십시오 — 새로운 구성하는.

미래 버전은 수정 된 커밋 SHA와 함께 서명, lockfile (.distribution-lock.yaml) 및 업데이트를 적용하기 전에 diff를 인쇄하는 --dry-run 플래그를 추가 할 수 있습니다. 아직 배송되지 않았습니다.

후드 아래에

구현 세부 사항, 정확한 CLI 동작 및 모든 플래그는 프로필 명령 참조를 참조하십시오.

짧은 버전:

  • install, update, info 내부 라이브 hermes profile - 병렬 명령 트리가 아닙니다.
  • 기본 형식은 작은 필수 스키마 (name 만)와 YAML입니다.
  • 설치자는 복제를 위해 로컬 git 바이너리를 사용하므로 쉘을 이미 취급합니다 (SSH 키, 자격있는 도우미)는 투명하게 작동합니다.
  • 클론 후, .git/는 벗겨집니다 - 설치된 단면도는 git checkout를, 피하지 않습니다 “내, 나는 사고로 나의 .env를 배급의 git 역사” 함정에 투입했습니다.
  • 모든 프로필 이름 (hermes, test, tmp, root, sudo)는 일반적인 궤적과 충돌을 방지하기 위해 설치 시간에 거부됩니다.

참조