One-command, choice-driven memory/input bootstrap for Hermes Agent.
Hermes Memory Stack installs an optional layered memory and knowledge environment for fresh Hermes Agent setups.
It does not bundle API keys, OAuth tokens, Google cookies, personal memory, or private config. The installer asks what to enable and keeps user-controlled secrets in ~/.hermes/.env.
Review-first mode:
git clone https://github.com/yelixir-dev/hermes-memory-stack
cd hermes-memory-stack
./install.shOne-command mode:
curl -fsSL https://raw.githubusercontent.com/yelixir-dev/hermes-memory-stack/main/install.sh | bashShareable overview images live directly in docs/. File names use language prefixes so sorted directory views group English first, then Korean:
eng_01_overall.png
eng_02_minimal.png
eng_03_normal.png
eng_04_advanced.png
eng_05_references.png
kor_01_overall.png
kor_02_minimal.png
kor_03_normal.png
kor_04_advanced.png
kor_05_references.png
Source HTML files are temporary render artifacts only; docs/ keeps the public infographic PNGs directly and does not need a separate assets folder. Local-only source images can be kept under .internal/assets/ or supplied through HERMES_MEMORY_STACK_ASSET_DIR, but they are not committed. Regenerate with:
python3 scripts/generate-infographics.py
npm install playwright # first time only, if playwright is not already available
node scripts/render-infographics.js- Hermes skills for memory-stack operating policy
- Axiom Perception MCP as a procedural execution-pattern cache
- llmwiki in API-free, extraction-only, local/OAuth bridge, or hybrid embedding mode
- Hindsight/Hermes memory routing helpers
- optional
semble_rsfor codebase exploration and log digest - optional NotebookLM CLI for source-grounded external research
- optional NotebookLM → llmwiki inventory sync after NotebookLM is authenticated
- optional Hermes auxiliary model routing template
- Choice-first — no forced external APIs.
- API-free mode exists — useful for private/local users.
- NotebookLM is optional — Google login and external service usage are never required.
- Secrets stay local — use
.env, never commit real keys. - Config is backed up —
~/.hermes/config.yamlis copied before patching. - Layer separation:
- Hermes memory / Hindsight: personal durable facts
- session_search: past conversation recall
- skills: reusable procedures
- Axiom: empirical execution patterns
- llmwiki: shared agent knowledge
- NotebookLM: optional external source workspace
- semble_rs: optional code/log helper
- skills
- Axiom Perception MCP
- no external API
- no NotebookLM
- skills
- Axiom Perception MCP
- llmwiki markdown/wiki mode
- optional semble_rs
- no external API required
- Hindsight routing wizard
- llmwiki mode wizard
- Axiom
- optional semble_rs
- optional NotebookLM
- optional auxiliary routing
NotebookLM support is optional and off by default.
If enabled, the installer installs the CLI and browser dependencies, then prints manual login instructions:
notebooklm login notebooklm auth check --test --json notebooklm list --json
After NotebookLM is authenticated, the optional inventory sync can write a compact routing map to:
~/wiki/_meta/notebooklm-inventory.md
This sync stores notebook names, IDs, source titles/URLs/statuses, and very short summaries only. It does not copy source bodies or any auth state. If selected, it installs:
~/.hermes/scripts/sync_notebooklm_inventory.py
~/.hermes/scripts/install_notebooklm_inventory_sync.sh
and creates a silent Hermes cron job when authentication is already active.
No Google cookie, storage_state.json, or account credential is bundled or copied.
The installer can:
- keep existing memory settings
- if the default Hermes provider is GPT OAuth (
openai-codex), ask whether Hindsight should reuse the current local GPT OAuth bearer token for local-embedded LLM calls - record intent to reuse existing Hermes OAuth/provider/bridge where possible
- configure an OpenAI-compatible endpoint via env-var reference
- skip memory changes
GPT OAuth reuse is opt-in and local-only. The installer copies the current OAuth access token from ~/.hermes/auth.json into local Hindsight/Hermes env files so Hindsight's embedded daemon can call the same GPT endpoint; no token is bundled or committed. If the OAuth token expires or Hermes is re-authenticated, rerun the installer or refresh the Hindsight env. Other provider/OAuth reuse remains provider-specific; when direct token reuse is not possible, use an OpenAI-compatible bridge or LiteLLM proxy.
- skip
- API-free markdown/wiki mode
- external OpenAI-compatible extraction
- local/OAuth bridge extraction
- hybrid extraction + embedding endpoint
Embedding is optional. Users can choose no embeddings, external embeddings, or a local embedding endpoint.
install.sh
uninstall.sh
scripts/
patch-config.py
write-llmwiki-env-shim.py
sync-notebooklm-inventory.py
install-notebooklm-inventory-sync.sh
config/
env.template
profiles/
skills/
hermes-memory-stack/
llm-wiki/
axiom-perception/
semble-rs/
notebooklm/
If you want to remove a one-command install or roll back the config, run the uninstall helper.
One-command uninstall/restore:
curl -fsSL https://raw.githubusercontent.com/yelixir-dev/hermes-memory-stack/main/uninstall.sh | bashReview-first mode:
git clone https://github.com/yelixir-dev/hermes-memory-stack
cd hermes-memory-stack
./uninstall.shThe uninstaller is also choice-driven. It can:
- remove stack skills copied into
~/.hermes/skills - remove helper scripts under
~/.hermes/scripts - remove the NotebookLM inventory sync cron job
- optionally remove
~/wiki/_meta/notebooklm-inventory.md - remove the
perceptionMCP registration - optionally restore the latest
~/.hermes/config.yaml.bak.* - optionally uninstall
notebooklm-py,semble_rs, andllm-wiki-compiler
It does not remove Hermes Agent itself, personal memory, sessions, auth files, Google cookies, or unrelated user config.
This should not happen in a normal terminal. The installer reads wizard input from /dev/tty when the script itself is piped through stdin:
curl -fsSL https://raw.githubusercontent.com/yelixir-dev/hermes-memory-stack/main/install.sh | bashIf there is no interactive TTY at all, the installer falls back to safe defaults and prints a warning. For fully interactive setup on unusual terminals, use clone mode:
git clone https://github.com/yelixir-dev/hermes-memory-stack
cd hermes-memory-stack
./install.shUse split command/args form, not a single quoted shell string:
hermes mcp add perception --command uvx --args axiom-perception-mcp
The installer uses this split form. If uvx itself is missing, install uv first and rerun the MCP add command.
This integration pack references and optionally installs upstream projects including:
- Hermes Agent — https://github.com/NousResearch/hermes-agent
- Axiom Perception MCP — https://github.com/vdalhambra/axiom-perception-mcp
- llm-wiki-compiler — https://github.com/atomicmemory/llm-wiki-compiler
- semble_rs — https://github.com/johunsang/semble_rs
- notebooklm-py — https://github.com/teng-lin/notebooklm-py
See ACKNOWLEDGEMENTS.md for details. This repo is an integration/bootstrap layer; upstream projects retain their own licenses and authorship.
Hermes Agent를 위한 선택형 한방 메모리/지식/입력단 부트스트랩입니다.
Hermes Memory Stack은 새 Hermes 설치에 계층형 기억/지식 환경을 붙여주는 설치 팩입니다.
API 키, OAuth 토큰, Google 쿠키, 개인 memory, 개인 config는 포함하지 않습니다. 설치 중 사용자가 직접 선택하고, 비밀 값은 ~/.hermes/.env에만 둡니다.
검토 후 설치:
git clone https://github.com/yelixir-dev/hermes-memory-stack
cd hermes-memory-stack
./install.sh한방 설치:
curl -fsSL https://raw.githubusercontent.com/yelixir-dev/hermes-memory-stack/main/install.sh | bash공유용 개요 이미지는 docs/ 바로 아래에 있습니다. 파일명은 언어 접두사를 앞에 두어 정렬 시 영어 묶음이 먼저, 한국어 묶음이 뒤에 오도록 했습니다.
eng_01_overall.png
eng_02_minimal.png
eng_03_normal.png
eng_04_advanced.png
eng_05_references.png
kor_01_overall.png
kor_02_minimal.png
kor_03_normal.png
kor_04_advanced.png
kor_05_references.png
HTML 원본은 임시 렌더 산출물일 뿐이며, docs/에는 공개용 인포그래픽 PNG만 바로 둡니다. 별도 docs/assets 폴더는 사용하지 않습니다. 로컬 전용 원본 이미지는 .internal/assets/에 두거나 HERMES_MEMORY_STACK_ASSET_DIR로 지정할 수 있으며 커밋하지 않습니다. 재생성 명령:
python3 scripts/generate-infographics.py
npm install playwright # playwright가 없으면 최초 1회
node scripts/render-infographics.js- Hermes memory stack skills
- Axiom Perception MCP 실행 패턴 캐시
- llmwiki: API-free / extraction / local bridge / hybrid embedding 모드
- Hindsight/Hermes memory 라우팅 helper
- 선택형
semble_rs코드 탐색/로그 압축 CLI - 선택형 NotebookLM CLI
- 선택형 NotebookLM → llmwiki inventory sync
- 선택형 Hermes auxiliary model routing template
- 선택 우선 — 외부 API를 강제하지 않습니다.
- API-free 모드 제공 — 로컬/프라이버시 중심 사용자도 사용 가능합니다.
- NotebookLM은 선택형 — Google 로그인과 외부 서비스 사용은 필수가 아닙니다.
- 비밀 값은 로컬에만 — 실제 키는
.env에 두고 커밋하지 않습니다. - config 백업 — 수정 전
~/.hermes/config.yaml을 백업합니다. - 역할 분리:
- Hermes memory / Hindsight: 개인화 기억
- session_search: 과거 대화 회상
- skills: 반복 절차
- Axiom: 실행 패턴
- llmwiki: 공유 지식베이스
- NotebookLM: 선택형 외부 source workspace
- semble_rs: 선택형 코드/로그 helper
NotebookLM은 기본 설치가 아니라 옵션입니다.
선택한 경우 CLI와 브라우저 dependency만 설치하고, 로그인은 사용자가 직접 합니다.
notebooklm login notebooklm auth check --test --json notebooklm list --json
Google cookie, storage_state.json, 계정 credential은 절대 배포하거나 복사하지 않습니다.
NotebookLM 인증이 끝난 경우 선택형 inventory sync를 켤 수 있습니다. 이 sync는 노트북 이름, ID, source 제목/URL/status, 짧은 요약만 저장합니다.
~/wiki/_meta/notebooklm-inventory.md
이 파일은 에이전트가 "어떤 NotebookLM 노트북을 참고할지" 판단하는 라우팅 지도입니다. Google cookie, storage state, full source body는 저장하지 않습니다.
설치기는 다음 중 선택하게 합니다.
- 기존 설정 유지
- 기본 Hermes provider가 GPT OAuth(
openai-codex)인 경우, 현재 로컬 GPT OAuth bearer token을 Hindsight local-embedded LLM 호출에 재사용할지 질문하고 연결 - 연결된 Hermes OAuth/provider/bridge 재사용 의도 설정
- 외부 OpenAI-compatible endpoint 설정
- 건너뛰기
GPT OAuth 재사용은 opt-in이며 로컬에서만 수행됩니다. 설치기는 ~/.hermes/auth.json의 현재 OAuth access token을 로컬 Hindsight/Hermes env 파일에 복사해 Hindsight embedded daemon이 같은 GPT endpoint를 호출할 수 있게 합니다. 토큰은 배포물에 포함하거나 커밋하지 않습니다. OAuth 토큰이 만료되거나 Hermes 인증을 다시 한 경우 설치기를 다시 실행하거나 Hindsight env를 갱신하세요. 그 외 provider/OAuth 직접 재사용은 provider마다 다르므로, 필요하면 OpenAI-compatible bridge나 LiteLLM proxy를 통해 연결합니다.
- 건너뛰기
- API-free markdown/wiki 모드
- 외부 API extraction
- 로컬/OAuth bridge extraction
- extraction + embedding hybrid
embedding은 필수가 아닙니다. 사용자가 외부 embedding, 로컬 embedding, embedding 없음 중 선택합니다.
한방 설치를 지우거나 config를 이전 백업으로 되돌리고 싶으면 삭제/복구 helper를 실행하세요.
한방 삭제/복구:
curl -fsSL https://raw.githubusercontent.com/yelixir-dev/hermes-memory-stack/main/uninstall.sh | bash검토 후 실행:
git clone https://github.com/yelixir-dev/hermes-memory-stack
cd hermes-memory-stack
./uninstall.sh삭제 스크립트도 선택형입니다. 다음을 처리할 수 있습니다.
~/.hermes/skills에 복사된 stack skill 제거~/.hermes/scripts의 helper script 제거- NotebookLM inventory sync cron job 제거
- 선택적으로
~/wiki/_meta/notebooklm-inventory.md제거 perceptionMCP 등록 제거- 선택적으로 최신
~/.hermes/config.yaml.bak.*복구 - 선택적으로
notebooklm-py,semble_rs,llm-wiki-compileruninstall
Hermes Agent 본체, 개인 memory, session, auth file, Google cookie, 무관한 사용자 config는 삭제하지 않습니다.
정상적인 터미널에서는 선택지가 떠야 합니다. installer는 stdin으로 script가 pipe되어도 /dev/tty에서 wizard 입력을 읽습니다.
curl -fsSL https://raw.githubusercontent.com/yelixir-dev/hermes-memory-stack/main/install.sh | bash만약 실행 환경에 interactive TTY가 전혀 없으면 안전한 기본값으로 진행하고 경고를 출력합니다. 특이한 터미널에서는 clone mode를 쓰면 됩니다.
git clone https://github.com/yelixir-dev/hermes-memory-stack
cd hermes-memory-stack
./install.shHermes MCP 등록은 command와 args를 분리해야 합니다.
hermes mcp add perception --command uvx --args axiom-perception-mcp
installer도 이 분리 형식을 사용합니다. uvx 자체가 없다면 먼저 uv를 설치한 뒤 MCP add 명령을 다시 실행하세요.
이 integration pack은 다음 upstream 프로젝트를 참고하거나 선택적으로 설치합니다.
- Hermes Agent — https://github.com/NousResearch/hermes-agent
- Axiom Perception MCP — https://github.com/vdalhambra/axiom-perception-mcp
- llm-wiki-compiler — https://github.com/atomicmemory/llm-wiki-compiler
- semble_rs — https://github.com/johunsang/semble_rs
- notebooklm-py — https://github.com/teng-lin/notebooklm-py
자세한 내용은 ACKNOWLEDGEMENTS.md를 참고하세요. 이 repo는 integration/bootstrap layer이며, upstream 프로젝트의 license와 저작권은 각 프로젝트에 귀속됩니다.