akitaonrails/ai-memory
AI 코딩 에이전트를 바꿔도 작업 맥락이 사라지지 않게 해주는 공유 기억 서버
Claude Code로 작업하다 중간에 그만두고 나중에 OpenAI Codex 같은 다른 에이전트로 같은 폴더에서 이어서 작업해도, 이전에 무엇을 했고 무엇이 안 됐고 무엇이 남았는지 다시 설명할 필요가 없게 만드는 Rust로 만든 도구다. 각 에이전트의 세션 시작/종료 시점에 후킹해서 대화 내용을 관찰하고, 세션이 끝나면 이를 정리된 요약 페이지로 만들어 다음 에이전트에게 넘겨준다. 저장 형식은 벡터 데이터베이스가 아니라 git 저장소 안의 일반 마크다운 파일이라 grep으로 찾고 Obsidian으로 열어보고 rsync로 백업할 수 있다.
무엇을 하는 레포인가
- Claude Code, Codex, Cursor, Gemini CLI, Devin CLI 등 다양한 코딩 에이전트에 MCP 설정과 생명주기 후크를 연결해, 세션이 끝날 때 프롬프트와 도구 사용 기록 같은 정제된 관찰 데이터를 수집한다.
- 세션 종료 시 이 관찰 데이터를 하나의 요약 위키 페이지로 압축하고, 다음 세션 시작 시 '어디까지 했는지'를 알려주는 핸드오프 블록을 자동으로 넣어준다.
- 프로젝트별로 UUID 기반 경로에 데이터를 격리해 저장하고, 검색은 FTS5 전문검색에 엔티티(명사) 매칭과 그래프 이웃 탐색을 결합하며, LLM 요약이나 벡터 검색은 선택적으로 켤 수 있다.
- install-mcp, install-hooks 같은 CLI 명령으로 설치하고, 로컬 PC나 홈서버에 서버를 띄워 여러 기기·여러 에이전트가 같은 기억 저장소를 공유하게 할 수 있다.
- LLM 없이도 규칙 기반 요약과 검색이 동작하며, Anthropic·OpenAI·Gemini 등 여러 LLM/임베딩 제공자를 선택적으로 연결할 수 있다.
왜 중요한가
여러 AI 코딩 도구를 오가며 작업하는 개발자에게는 매번 프로젝트 배경과 실패한 시도, 남은 과제를 다시 설명해야 하는 반복 비용이 큰데, 이 도구는 그 맥락을 벤더에 종속되지 않는 형태로 보존해 도구 전환 비용을 줄여준다. 마크다운과 git 기반 저장 방식이라 별도 인프라 없이 기존 개발 워크플로에 자연스럽게 얹을 수 있다는 점도 실무적으로 의미가 있다.
이 레포의 용어
- MCP · AI 에이전트가 외부 도구·데이터에 접속하도록 표준화한 연결 프로토콜
- 생명주기 후크(lifecycle hooks) · 세션 시작·종료 등 에이전트 동작의 특정 시점에 자동으로 실행되는 연결 지점
- FTS5 · SQLite에 내장된 전문(全文) 검색 기능
- 핸드오프(handoff) · 이전 세션에서 다음 세션으로 넘겨주는 '어디까지 했는지' 요약 정보
- RRF · 여러 검색 결과 순위를 하나로 합치는 순위 융합 방식
레포 원문 소개 (영문)
Solution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors
GitHub에서 보기주목받는 레포
- cathrynlavery/diagram-designAI 코딩 도구가 그리는 다이어그램을 흔한 둥근 사각형 대신 잡지 느낌 편집 디자인으로 바꿔주는 스킬
- public-apis/public-apis세상의 모든 무료 API를 한곳에 모아둔 목록 저장소
- semantica-agi/semanticaAI 에이전트가 왜 그런 결정을 내렸는지 그래프로 증명하는 오픈소스 인프라
- cactus-compute/needle14메가바이트짜리 AI 모델로 스마트폰과 웨어러블에서 인터넷 없이 도구 호출하기
- unslothai/unsloth코딩 없이 내 컴퓨터에서 AI 모델을 돌리고 학습시키는 데스크톱 앱
- macro-inc/macro이메일, 채팅, 문서, 업무관리, CRM을 하나로 묶고 AI가 팀 전체 기억을 공유하는 업무 플랫폼
- harry0703/MoneyPrinterTurbo주제나 키워드 하나만 입력하면 대본, 영상 소재, 자막, 배경음악까지 자동으로 붙여 짧은 영상 하나를 완성해주는 오픈소스 도구
- basecamp/omarchyDHH가 만든, 미리 취향껏 세팅된 리눅스 배포판