joshuadavidthomas/opencode-agent-memory

Memory blocks for OpenCode, inspired by Letta.

해결하는 문제

OpenCode 내 AI 에이전트에게 지속 가능하고 자가 편집 가능한 장기 기억을 제공합니다. 이는 대화 기록이 압축되거나 다른 세션 간에 중요한 정보를 잊는 것을 방지하여, 일관된 성격을 유지하고 프로젝트별 규칙을 기억할 수 있게 합니다.

작동 방식

이 플러그인은 디스크에 마크다운 파일로 저장되는 "메모리 블록"과 "저널" 시스템을 구현합니다.

  • 메모리 블록: 스코프가 지정된 파일(전역 또는 프로젝트별)로, 메타데이터와 콘텐츠를 포함합니다. 에이전트는 memory_list, memory_get, memory_set, memory_replace 등의 도구를 사용해 이 블록을 자율적으로 읽고 업데이트할 수 있습니다. 프롬프트 캐시 안정성을 유지하기 위해 세션 시작 시 메모리를 스냅샷으로 저장하고, 컨텍스트 압축 후에만 갱신됩니다.
  • 저널: 선택적이고 추가 전용 로그로, 에이전트가 통찰과 결정을 기록할 수 있습니다. 로컬 임베딩(all-MiniLM-L6-v2)을 사용해 데이터를 기계 외부로 전송하지 않고도 에ント리 간 의미 검색이 가능합니다.

대상 사용자

여러 세션과 프로젝트에 걸쳐 AI 코딩 보조자가 사용자 선호사항, 아키텍처 결정, 학습된 패턴을 기억하도록 원하는 개발자.

주요 기능

  • 자기 편집: 에이전트는 전용 도구를 사용해 자신의 기억을 능동적으로 관리할 수 있습니다.
  • 스코프 메모리: 전역 메모리(모든 프로젝트에 걸쳐)와 프로젝트별 메모리 모두 지원합니다.
  • 캐시 친화적: 스냅샷을 사용해 프로바이더의 프롬프트 캐시를 반복적으로 무효화하지 않습니다.
  • 로컬 의미 검색: 저널을 통해 로컬 임베딩을 사용해 과거 통찰을 검색할 수 있습니다.
  • 예산 관리: memory_oversized 도구를 통해 문자 수 제한을 초과한 블록을 식별하고 압축하는 데 도움을 줍니다.

관련

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