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(프로필), 그리고 무제한 검색을 위해 마크다운 항목을 미러링하는 SQLite sessions.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

일반적인 워크플로:

  1. 사실 추가 – memory_add → "my project codename is ZEPHYR‑7741".
  2. 나중에 회상 – memory_search("ZEPHYR") 또는 에이전트에게 직접 물어보세요.
  3. 업데이트 – memory_replace로 오래된 항목을 변경하세요.
  4. 삭제 – memory_remove로 더 이상 관련 없는 사실을 삭제하세요.
  5. 스킬 생성 – 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는 비밀 정보를 안전하게 유지하면서 시간이 지남에 따라 성장하는 신뢰할 수 있는 검색 가능한 '두뇌'를 어시스턴트에게 제공하여 장기 실행 또는 다중 프로젝트 워크플로를 훨씬 더 효율적으로 만듭니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트