프로젝트 소개

abmind는 지속적으로 실행되는 AI 에이전트, 특히 다국어 대화를 처리하는 에이전트를 위해 설계된 영구 메모리 시스템입니다. 벡터 데이터베이스 래퍼가 아니라 SQLite 위에 구축된 완전한 메모리 관리 엔진입니다. **핵심 아키텍처** - **수집(Ingest)**: 메시지가 기록된 후 인라인 추출을 통해 유형이 지정되고 분류되며 점수가 매겨진 기억이 생성됩니다. - **회상(Recall)**: 쿼리는 4계층 검색을 트리거합니다: FTS5 전체 텍스트(영어), FTS5 전체 텍스트(원본 언어), 트라이그램 퍼지 매칭, 시맨틱 임베딩(코사인 유사도). 결과는 순위가 매겨지고 중복 제거되며 분류에 따라 게이트됩니다. - **수면(Sleep)**: 야간 유지보수 파이프라인이 일일 요약, 추출, 회고 분석, 주제 할당, 기억 다윈주의(승격/강등/병합), 번역, 감정 아크 추적, 통합, 가비지 컬렉션을 수행합니다. 사이클당 10-14회의 LLM 호출을 자율적으로 실행합니다. **주요 기능** - **교착어 지원**: 단어 경계가 명확하지 않은 일본어, 터키어, 헝가리어 같은 언어를 처리하기 위해 FTS5와 함께 트라이그램 퍼지 검색을 사용합니다. 이를 통해 모든 언어로 저장하고 회상할 수 있습니다. - **자격 증명 보관소**: 비밀은 저장 시 암호화(AES-256-GCM)되고, 대화 기록에서 삭제되며, 분류 게이트 회상을 통해서만 소유자가 검색할 수 있습니다. 백업에는 원시 자격 증명이 포함되지 않습니다. - **다중 해상도 컨텍스트**: 세 가지 줌 레벨—최근 축어적 턴, 압축된 턴별 원자(3배 토큰 감소의 ABM-L 형식), 장기 주제 요약—을 제공하여 동일한 토큰 예산 내에서 3배 더 많은 범위를 제공합니다. - **분류**: 신뢰, 무결성, 신용도 점수와 함께 NATO Admiralty Codes(0 공개 ~ 3 비밀/암호화)를 사용합니다. 회상은 사용자 허가 수준으로 필터링되며, 다중 사용자 격리는 사용자 간 누출을 방지합니다. - **주입 탐지**: 14가지 탐지 범주(프롬프트 주입, 탈옥, 역할 하이재킹 등)가 악성 입력이 기억에 들어가기 전에 차단하며, 민감도를 구성할 수 있습니다. **통합 경로** - **라이브러리**: 모든 Node.js 에이전트에서 `MemoryManager`를 가져옵니다. - **CLI**: `abmind store`, `abmind recall`, `abmind sleep`, `abmind mcp` 같은 명령어. - **MCP 서버**: kiro-cli, Claude Code, Codex CLI, Gemini CLI, Cursor, OpenCode 같은 편집기와 호스트를 위한 stdio MCP 서버를 시작합니다. - **에이전트 훅**: Kiro CLI, Claude Code, Gemini CLI, Codex와 호환됩니다. - **프레임워크**: Hermes Agent용 플러그인, OpenClaw용 네이티브 메모리 슬롯, abTARS용 인프로세스 메모리로 작동합니다. **데이터 저장** 기본 위치는 `~/.abmind/`이며(`ABMIND_HOME`으로 재정의 가능) 메시지, 추출된 기억, 임베딩을 위한 SQLite 데이터베이스(`memory.db`)와 일일 서사 요약 및 수면 감사 로그를 포함합니다. 수면 프롬프트는 재정의할 수 있습니다. **LLM 구성** 수면 유지보수는 `{PROMPT_FILE}` 자리 표시자가 있는 `ABMIND_LLM_CMD` 설정이 필요하며, `kiro-cli chat --no-tool-use < {PROMPT_FILE}` 또는 `cat {PROMPT_FILE} | claude -p` 같은 명령어를 지원합니다. **버전**: 0.2.7 | **라이선스**: Apache 2.0