GBrain read-only layer applied to Hermes
GBrain read-only layer applied to Hermes
적용 범위
~/gbrainshallow clone +bun install+bun link완료.gbrain 0.10.1확인.~/.gbrain/brain.pglite로컬 PGLite brain 생성.~/knowledge색인: 2,242개 import, 10개 skip, 7개 frontmatter 오류.~/knowledge-agent색인: 11,016개 import, 324개 skip, 323개 frontmatter/대용량 오류.- 임베딩/API키 없이
gbrain search키워드 검색 모드로 운용.
Hermes 연결
~/.hermes/hermes-agent/gateway/run.py- 텔레그램에서 “보고서/옵시디언/기존/찾아/테제/요약”류 질문이면 GBrain 검색을 먼저 실행.
- 결과를
[LOCAL VAULT PRESEARCH]블록으로 모델에 주입. - 해리 DM의 해당 질문은 낡은 세션 오염을 피하기 위해 fresh session 강제.
~/.hermes/bin/hermes-gateway-launchd.sh- launchd PATH에
~/.bun/bin추가. ~/.hermes/config.yaml- command allowlist에
gbrain추가. ~/.hermes/SOUL.md,~/.hermes/workspace/AGENTS.md,~/.hermes/workspace/CONTEXT.md- GBrain-first lookup 규칙 기록.
KC 검증
gbrain search 'KC Kingsoft Cloud 샤오미' 결과:
- 200/220/260319-kingsoft-cloud-kc
- 300-connected/331/260325_mimo-v2-pro-ai
- 400/420/260325_kc-q4-ai
- 100/120/132-report/260325_report_1774422754676_kc_integ
원본 근거 파일:
- ~/knowledge/400 판단/420 투자판단/260325_KC-Anthropic-Economic-Index-교차분석.md
- ~/knowledge/400 판단/420 투자판단/KC-투자판단-260330.md
- ~/knowledge/400 판단/420 투자판단/260325_KC-Q4-실적프리뷰-AI추론인프라.md
핵심 테제: - KC는 단순 중국 클라우드가 아니라 샤오미 AI 생태계의 인프라 백본. - 근거는 Anthropic EI의 추론 수요, KC AI 클라우드 성장, 샤오미 MiMo/OpenRouter 수요가 같은 방향을 가리킨다는 점. - 기존 투자판단은 “매수검토/Strong Buy 계열, 단 Q1 AI billing과 MiMo 지속성 확인 필요”로 정리됨.
한계
- 임베딩 미사용이라
gbrain query는 아직 약함. 현재는gbrain search중심. - 일부 markdown frontmatter가 깨져 import skip 발생. 검색 전체에는 치명적이지 않지만 이후 정리 과제.
- GStack은 아직 설치하지 않음. Hermes 기억 문제 해결을 우선해 GBrain recall 계층만 적용.
2026-04-16 17:18 추가 보강
문제: 텔레그램 후속 대화에서 바로 해주셔야죠, 보고서 확인하세요처럼 주어가 생략된 문장은 검색 트리거가 약하거나 새 세션 강제 때문에 KC 문맥을 잃었다. 그 결과 “도구 없음”, “어느 보고서냐” 또는 일반론 답변으로 회귀했다.
추가 조치:
- gateway/run.py에 follow-up query augmentation 추가.
- 짧은 후속 지시가 들어오면 최근 user history에서 KC/보고서 문맥을 붙여 GBrain 검색.
- 새 세션 강제 조건을 “현재 메시지에 구체 검색어가 있는 경우”로 제한.
- 보고서 확인하세요 같은 후속 지시는 기존 문맥 유지.
- Harry DM safety net 추가.
- “도구 없음/파일 붙여/어느 보고서냐” 회귀 응답이면 deterministic KC 원문 요약으로 교체.
- KC 문맥인데 샤오미/MiMo/OpenRouter/추론/20.4T/600억 등 핵심 근거가 빠진 일반론이면 교체.
- DM session mapping을 KC 문맥이 남아있는 20260416_160346_77592867로 복구.
- Gateway restart: 56509 → 59933, health OK.
검증:
- helper smoke: 바로 해주셔야죠, 3줄요약말고 보고서 확인하세요~ 모두 KC history를 붙여 rescue 가능.
- py_compile 통과.
- launchd gateway 재시작 및 /health OK.
2026-04-16 17:30 추가 보강 — 지식사랑방 오늘 학습 질의
문제: 지식사랑방에서 오늘 학습한 내용은 해리 시스템의 고정 채널 질의인데 Hermes가 일반 채팅방처럼 “이름이나 링크를 달라”고 되물었다.
추가 조치:
- gateway/run.py presearch trigger에 지식사랑방, 지식 사랑방, 학습, 배운, 오늘, 네프콘, nepcon 추가.
- 지식사랑방 단독 질의도 검색어가 비어버리지 않도록 지식사랑방 + 260416 fallback 추가.
- 지식사랑방 오늘 학습용 deterministic rescue 추가.
- 근거 경로: ~/knowledge/100 수신함/120 지식사랑방/124 nepcon/260416_*.md
- 핵심: 디라인시크릿 시황/OECD CLI/호르무즈·유가/AI 인터뷰.
- “방 링크/이름 달라”, “아직 확인 안 됨” 회귀 답변을 나쁜 응답으로 판정해 rescue로 교체.
검증:
- _harry_vault_presearch('그럼 지식사랑방에서 오늘 학습한 내용은 뭔가요?') 길이 2540, 260416/지식사랑방 검색 블록 생성.
- _harry_knowledge_room_today_response() 요약 생성 확인.
- py_compile 통과.
2026-04-16 17:30 추가 보강 — 지식사랑방 오늘 학습 질의
문제: 지식사랑방에서 오늘 학습한 내용은 해리 시스템의 고정 채널 질의인데 Hermes가 일반 채팅방처럼 “이름이나 링크를 달라”고 되물었다.
추가 조치:
- gateway/run.py presearch trigger에 지식사랑방, 지식 사랑방, 학습, 배운, 오늘, 네프콘, nepcon 추가.
- 지식사랑방 단독 질의도 검색어가 비어버리지 않도록 지식사랑방 + 260416 fallback 추가.
- 지식사랑방 오늘 학습용 deterministic rescue 추가.
- 근거 경로: ~/knowledge/100 수신함/120 지식사랑방/124 nepcon/260416_*.md
- 핵심: 디라인시크릿 시황/OECD CLI/호르무즈·유가/AI 인터뷰.
- “방 링크/이름 달라”, “아직 확인 안 됨” 회귀 답변을 나쁜 응답으로 판정해 rescue로 교체.
검증:
- _harry_vault_presearch('그럼 지식사랑방에서 오늘 학습한 내용은 뭔가요?') 길이 2540, 260416/지식사랑방 검색 블록 생성.
- _harry_knowledge_room_today_response() 요약 생성 확인.
- py_compile 통과.
2026-04-16 17:40 방향 수정 — 파이프라인별 하드코딩 폐기
해리 지적: 파이프라인/채널을 추가할 때마다 하나씩 지정하는 방식은 이상하다. 로컬 자체를 탐방해야 한다.
조치:
- ~/.hermes/workspace/scripts/harry_local_explorer.py 추가.
- 읽기전용 통합 탐방 루트: ~/knowledge, ~/knowledge-agent, ~/.hermes/workspace/reports, ~/.hermes/workspace/memory, ~/.hermes/cron, legacy ~/.openclaw.
- 별칭: 지식사랑방, 오늘, 보고서, 크론, 파이프라인, 웹앱, 옵시디언 등.
- Telegram gateway에 HARRY LOCAL AUTONOMY prompt 상시 주입.
- 해리에게 폴더/방링크/보고서 제목을 먼저 요구하지 말고 로컬 탐방부터 실행.
- 기존 GBrain presearch 앞에 local explorer 결과를 추가.
- 이제 특정 파이프라인을 하나씩 박는 방식이 아니라 “로컬 전체 탐방 → 후보 파일 → 원문 읽기” 방식.
검증:
- python3 ~/.hermes/workspace/scripts/harry_local_explorer.py '지식사랑방 오늘 학습'가 260416 지식사랑방 nepcon 파일들을 반환.
- _harry_vault_presearch('그럼 지식사랑방에서 오늘 학습한 내용은 뭔가요?')에 Local explorer matches 포함.
- py_compile 통과.
2026-04-16 17:40 방향 수정 — 파이프라인별 하드코딩 폐기
해리 지적: 파이프라인/채널을 추가할 때마다 하나씩 지정하는 방식은 이상하다. 로컬 자체를 탐방해야 한다.
조치:
- ~/.hermes/workspace/scripts/harry_local_explorer.py 추가.
- 읽기전용 통합 탐방 루트: ~/knowledge, ~/knowledge-agent, ~/.hermes/workspace/reports, ~/.hermes/workspace/memory, ~/.hermes/cron, legacy ~/.openclaw.
- 별칭: 지식사랑방, 오늘, 보고서, 크론, 파이프라인, 웹앱, 옵시디언 등.
- Telegram gateway에 HARRY LOCAL AUTONOMY prompt 상시 주입.
- 해리에게 폴더/방링크/보고서 제목을 먼저 요구하지 말고 로컬 탐방부터 실행.
- 기존 GBrain presearch 앞에 local explorer 결과를 추가.
- 이제 특정 파이프라인을 하나씩 박는 방식이 아니라 “로컬 전체 탐방 → 후보 파일 → 원문 읽기” 방식.
검증:
- python3 ~/.hermes/workspace/scripts/harry_local_explorer.py '지식사랑방 오늘 학습'가 260416 지식사랑방 nepcon 파일들을 반환.
- _harry_vault_presearch('그럼 지식사랑방에서 오늘 학습한 내용은 뭔가요?')에 Local explorer matches 포함.
- py_compile 통과.
2026-04-16 17:35 KST — 로컬 탐방/권한 진단 자동화 보강
변경
~/.hermes/workspace/scripts/harry_local_explorer.py추가/연동: 특정 파이프라인·채널명을 몰라도~/knowledge,~/knowledge-agent,~/.hermes, legacy~/.openclaw를 먼저 탐방하도록 함.~/.hermes/workspace/scripts/harry_permission_probe.py추가/보강: 맥미니 현 세션의 읽기/쓰기/실행 제한을 실제 probe로 확인.pipefail적용으로ps aux | head같은 파이프 오판정 수정.~/.hermes/hermes-agent/gateway/run.py보강: Harry DM에서 볼트/보고서/KC/지식사랑방/권한 질의가 들어오면 LLM 응답 전[LOCAL VAULT PRESEARCH]에 local explorer, GBrain, permission probe 결과를 주입. 부실 응답 rescue도 추가.
실제 확인 결과
- gateway 재시작:
launchctl kickstart -k gui/$(id -u)/ai.hermes.gateway, PID70393 → 75878. - health:
curl http://127.0.0.1:8642/health→{"status":"ok","platform":"hermes-agent"}. - syntax:
venv/bin/python -m py_compile gateway/run.py harry_local_explorer.py harry_permission_probe.py통과. - permission presearch smoke:
Permission probe:포함,ps/sudo/dashboard제한이ok=False로 분류됨.
현재 권한 결론
- 읽기/쓰기 가능 확인:
/Users/ron,~/knowledge,~/knowledge-agent,~/.hermes,~/.openclaw,~/.claude,~/.codex,~/Library/LaunchAgents, Desktop/Downloads/Documents. - 읽기부터 제한:
~/Library/Messages,~/Library/Mail,~/Library/Safari. - 읽기는 되나 쓰기 제한:
/Applications,/Library,/System,/var/log,/etc,/usr/local,/opt/homebrew. - 실행/서비스 제한:
ps,sudo는 sandbox/TCC에 막힘. dashboard는 token 없으면forbidden/invalid_token. Hermes launchctl/health, GBrain은 정상.
관련 노트
- [[260325_insights_xcom_14db1b]] -- 주식 시장 분석
- [[260314_insights_주식을_시작하기_전에는_매크로에_깊이_빠져_공부했던_적이_있습니다_금]] -- 주식 투자 맥락
- [[260228_insights_So_to_me_its_a_necessary_condition_that__0bf3a0]] -- GBrain Hermes 적용 완료
- [[260325_insights_httpsxcomhoneyjamtesla]] -- 앤트로픽 매출 분석 직접 연결
- [[260325_insights_xcom_e3c2be_2]] -- 주식/현우
- [[260316_insights_에너지_기사_링크]] -- 에너지/현우
- [[260325_insights_xcom_14db1b_1]] -- 주식/현우 분석
- [[260314_insights_주식을_시작하기_전에는_매크로에_깊이_빠]] -- 주식/매크로 공통
- [[260325_insights_httpsxcomhoneyjamtesla_48067_1]] -- 앤스로픽 투자 관점
- [[260316_insights_에너지_기사_링크_13af08]] -- 에너지
- [[260314_insights_주식을_시작하기_전에는_매크로에_깊이_빠져_공부했던_적이_있습니다_2e5c2b]] -- 투자교육
- [[260224_pop_키움_해외선물_톡톡_제목_중_증시_연휴_후_상승_출발상하이_082선전_1_bf3aa9]] -- 주식시장
- [[260223_pop_주식_급등일보_단독한국거래소_거래시간_연장_강행_땐_노조_행동_26일_분_6c36d1]] -- 주식시장
- [[260312_대형_IT의_AI_인프라_투자_소식]] -- 반도체/인프라
- [[260321_DD_Geopolitics_-_중동에너지_지정학_Meanwhile_influencers_on_X_DDGeop]] -- 지정학/에너지
- [[260323_희귀가스헬륨_공급병목과_반도체_리스크]] -- 희귀가스공급
- [[260319_바이낸스_VIP_기준_완화의_규제_의미]] -- 에너지/규제
- [[260313_pop_서울경제_국제뉴스_이익_남기지_마가스값_2배_오르자_EU_초강수_꺼냈다_]] -- 에너지/반도체공통
- [[260325_articles_NVIDIA_brings_20x_memo]] -- Hermes 관련
- [[260325_articles_NVIDIA_brings_20x_memory_savings_to_open_ce6864]] -- Hermes 관련
- [[260228_insights_So_to_me_its_a_necessary_condition_tha]] -- Hermes 에이전트
- [[260325_insights_xcom_e3c2be]] -- Hermes 에이전트
- [[260325_insights_httpsxcomhoneyjamtesla_2]] -- Hermes 구조도
- [[260411_technical_브리핑]] -- 헤르메스 에이전트 구조
- [[260410_codex_system-blueprint-monitoring-update]] -- 에이전트 메모리 구조
- [[260416_hermes_architecture_diagram_skill]] -- 헤르메스 구조
- [[260329_llm_노스리서치에서_만든_헤르메스_Agent_]] -- 헤르메스 에이전트
- [[005 분석-시스템-선언]] -- 시스템 선언
- [[시스템-대시보드]] -- 모니터링
- [[260416_contradiction_시스템]] -- 시스템 선언
- [[260416_openclaw_residual_cutover]] -- GBrain 레이어 적용 완료