chandra447/pi-hermes-memory
Hermes-style persistent memory and learning loop for Pi coding agent
Pi Hermes Memory – Pi 에이전트를 위한 영구적이고 검색 가능한 메모리
개요 – Pi 어시스턴트에 영구적인 지식 기반을 제공하는 공식 Pi 확장 프로그램입니다. 세션 간에 사실, 사용자 선호도, 실패 로그, 재사용 가능한 절차(스킬이라고 함)를 저장하고, 에이전트가 과거 대화를 검색할 수 있게 하며, 비밀 정보가 저장되지 않도록 보호합니다.
주요 기능
| 기능 | 설명 |
|---|---|
| 세션 검색 | SQLite FTS5를 통한 모든 이전 Pi 대화의 전체 텍스트 검색(/session_search). |
| 영구 메모리 | 사실, 선호도, 수정 사항은 마크다운(MEMORY.md, USER.md)으로 저장되며 재시작 후에도 유지됩니다. |
| 백그라운드 학습 | 10턴(또는 도구 호출 15회)마다 확장 프로그램이 대화를 검토하고 실패, 수정, 통찰력을 추출하여 메모리에 기록합니다. |
| 절차적 스킬 | 에이전트는 skill_manage 도구를 통해 재사용 가능한 SKILL.md 파일(전역 또는 프로젝트 범위)을 생성, 조회, 패치, 업데이트 또는 삭제할 수 있습니다. |
| 비밀 정보 스캔 | API 키, 토큰, SSH 키 등은 기록되기 전에 자동으로 거부됩니다. |
| 2계층 아키텍처 | 전역 메모리는 ~/.pi/agent/pi-hermes-memory/에 있고, 프로젝트 메모리는 ~/.pi/agent/projects-memory/<프로젝트>/에 있습니다. 둘 다 검색 가능합니다. |
| 자동 통합 | 마크다운 메모리 파일이 크기 제한에 도달하면 확장 프로그램이 오래된 항목을 병합하거나 삭제하는 통합 패스를 실행합니다. |
| 상시 지시 | 모든 세션에 주입되는 작은 사용자 제어 블록(STANDING.md)으로, 하드코딩된 지시문용입니다. |
| 메모리 노후화 및 정책 | 항목에는 타임스탬프가 있으며, 구성 가능한 <memory-policy>가 에이전트에게 memory_search를 호출할 시기를 알려줍니다. |
작동 방식
- 확장 프로그램은
MEMORY.md(사실),USER.md(프로필), 그리고 무제한 검색을 위해 마크다운 항목을 미러링하는 SQLitesessions.db의 세 가지 주요 저장소를 만듭니다. - 모든 쓰기는 비밀 정보를 제거하고 악성 페이로드를 차단하는 콘텐츠 스캐너를 통과합니다.
- 에이전트는 전문 도구(
memory_add,memory_replace,memory_remove)를 호출하여 메모리를 직접 조작하고,skill_manage로 절차적 스킬을 처리할 수 있습니다. - 백그라운드 검토 프로세스가 주기적으로 실행되어 유용한 지식을 추출하고 적절한 저장소에 기록합니다.
설치
# Pi 패키지 관리자에서
pi install npm:pi-hermes-memory
# 또는 GitHub에서 직접
pi install git:github.com/chandra447/pi-hermes-memory
설치 없이 로컬에서 테스트할 수도 있습니다:
pi -e /path/to/pi-hermes-memory/src/index.ts
빠른 시작
# 기존 세션 인덱싱(1회)
/memory-index-sessions
# 이전 마크다운 메모리를 SQLite로 동기화(선택 사항)
/memory-sync-markdown
# 명령어 배우기
/learn-memory-tool
일반적인 워크플로:
- 사실 추가 –
memory_add→ "my project codename is ZEPHYR‑7741". - 나중에 회상 –
memory_search("ZEPHYR")또는 에이전트에게 직접 물어보세요. - 업데이트 –
memory_replace로 오래된 항목을 변경하세요. - 삭제 –
memory_remove로 더 이상 관련 없는 사실을 삭제하세요. - 스킬 생성 –
skill_manage.create로 구조화된 필드(when_to_use,procedure_steps등)를 사용하세요.
구성
memoryPolicyStyle:full,compact,custom,none으로 주입되는 정책 텍스트의 양을 제어합니다.memoryMode:legacy-inject(시스템 프롬프트에 마크다운 주입) 또는policy-only(SQLite 쿼리만 사용).standingInstructionsEnabled: 영구<standing-instructions>블록을 전환합니다.
개발 노트
- 게시된 npm 패키지에는 테스트와 TypeScript 소스가 포함되어 있지 않습니다. 저장소를 클론하여
npm run check와npm test를 실행하세요. - 네이티브 애드온
better-sqlite3은 Node ABI가 다르면(Homebrew 설치에서 일반적) 재빌드가 필요할 수 있습니다.
중요성 이 확장 프로그램이 없으면 Pi는 세션이 끝나면 모든 것을 잊어버려 선호도, 프로젝트 규칙, 과거 실패를 반복해야 합니다. Pi Hermes Memory는 비밀 정보를 안전하게 유지하면서 시간이 지남에 따라 성장하는 신뢰할 수 있는 검색 가능한 '두뇌'를 어시스턴트에게 제공하여 장기 실행 또는 다중 프로젝트 워크플로를 훨씬 더 효율적으로 만듭니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트