혼자 씁니다
바이너리 하나를 설치하고, 로컬 서버 하나를 시작한 다음, 에이전트를 실행합니다. 서버는 127.0.0.1:49374에 바인딩되므로 이 컴퓨터 밖에서는 접근할 수 없고 토큰도 필요 없습니다.
바이너리 설치
mise가 OS와 칩에 맞는 릴리스 아카이브를 내려받고, 공개된
.sha256파일과 대조해 검증합니다. Rust 툴체인도 Docker도 필요 없습니다.터미널 mise use -g github:akitaonrails/ai-memory데이터 디렉터리를 만들고 서버 시작
init은 데이터 디렉터리만 만듭니다.serve는 계속 실행되어야 하므로 전용 터미널을 하나 내주세요. 이 컴퓨터에서만 수신하며 토큰은 필요 없습니다.터미널 ai-memory init ai-memory serve --transport http --bind 127.0.0.1:49374ai-memory를 통해 에이전트 실행
하네스를 처음 실행할 때 훅과 MCP 항목이 없으면 설치합니다. 그 뒤로
claude를 직접 실행해도 계속 동작합니다.터미널 ai-memory run claude
패키지 설치
-bin패키지는 미리 빌드된 x86_64 또는 aarch64 바이너리입니다. 두 패키지 모두 systemd용 사용자 유닛과 시스템 유닛을 함께 제공합니다.터미널 yay -S ai-memory-bin # 미리 빌드된 Linux x86_64/aarch64 바이너리 yay -S ai-memory # 소스에서 빌드데이터 디렉터리 만들기
터미널 mkdir -p ~/.config/ai-memory ~/.local/share/ai-memory ai-memory --data-dir ~/.local/share/ai-memory \ --config ~/.config/ai-memory/config.toml init사용자 서비스 시작
sudo가 필요 없고, 모든 상태는 홈 디렉터리에 남습니다. 시스템 유닛과 로그아웃 후 실행은 서비스 섹션에서 다룹니다.
터미널 systemctl --user enable --now ai-memory.serviceai-memory를 통해 에이전트 실행
터미널 ai-memory run claude
다운로드하고 압축 풀기
이 아카이브는 Apple Silicon용입니다. Intel Mac에서는
aarch64를x86_64로 바꾸세요. 브라우저로 내려받았다면xattr -d com.apple.quarantine ./ai-memory를 한 번 실행해야 합니다. curl로 내려받았다면 필요 없습니다.터미널 mkdir -p ~/Applications/ai-memory && cd ~/Applications/ai-memory curl -fsSL -O https://github.com/akitaonrails/ai-memory/releases/latest/download/ai-memory-macos-aarch64.tar.gz tar -xzf ai-memory-macos-aarch64.tar.gz데이터 디렉터리를 만들고 서버 시작
이 터미널에서
serve를 계속 실행해 두세요. 대신 launchd 에이전트를 쓰면 로그인할 때 자동으로 시작됩니다.터미널 ./ai-memory init ./ai-memory serve --transport http --bind 127.0.0.1:49374두 번째 터미널에서 에이전트 연결
압축을 푼 바이너리는 그 자리에 그대로 두세요. 훅 명령이 그 경로를 가리킵니다.
터미널 cd ~/Applications/ai-memory ./ai-memory install-hooks --agent claude-code --apply ./ai-memory install-mcp --client claude-code --apply
래퍼 스크립트 설치
래퍼는
~/.local/bin/ai-memory에 설치되는 작은 셸 스크립트입니다. README에 설치 스크립트가 있으며, 이 스크립트는 설치 전에 다운로드한 파일을 SHA-256 파일과 대조해 검증합니다. 거기서 복사해 오세요.서버 시작
이미지는
linux/amd64와linux/arm64를 지원합니다. Podman 호스트에서는docker를podman으로 바꾸세요. Docker가 설치되어 있지 않으면 래퍼가 알아서 rootless Podman을 씁니다.터미널 docker run -d --name ai-memory \ --restart unless-stopped \ -p 127.0.0.1:49374:49374 \ -v ai-memory-data:/data \ docker.io/akitaonrails/ai-memory:latest에이전트 연결
이후에는 Claude Code를 평소처럼 시작하면 됩니다. 이 경로에는 제약이 하나 있습니다. 래퍼의 셸 훅은 저장소별
ignore_paths캡처 규칙을 적용하지 않습니다. 네이티브 바이너리는 적용합니다.터미널 ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply
에이전트를 어디서 실행할지 정하기
WSL2 안에서 실행하는 에이전트에는 WSL2 안의 ai-memory가 필요합니다. 이 경로는 지원되며 Docker 탭과 같습니다. WSL2 셸에서 README의 래퍼를 설치하세요. Docker Desktop을 쓴다면 먼저 해당 배포판의 WSL 통합을 켜세요.
WSL2 안에서 서버 시작
터미널 docker run -d --name ai-memory \ --restart unless-stopped \ -p 127.0.0.1:49374:49374 \ -v ai-memory-data:/data \ akitaonrails/ai-memory:latest에이전트 연결도 WSL2 안에서
네이티브 Windows는 실험적입니다.
ai-memory.exe가 담긴 릴리스 zip, PowerShell Docker 래퍼, WinSW 서비스 레시피가 있습니다. 세 가지 모두 Windows 가이드에 있습니다.터미널 ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply

ai-memory run은 권장 런처이며 선택 사항입니다. 처음 실행할 때 하네스를 연결하고, 하네스를 넘나드는 네이티브 세션 재개를 더해 줍니다. 훅만으로도 인수인계는 전달되므로 에이전트를 직접 실행해도 계속 동작합니다. 관리형 실행의 동작 방식 읽기.
동작하는지 확인하기
네트워크부터 에이전트까지, 세 가지를 확인합니다.
서버가 응답합니다
JSON-RPC 오류가 나오면 정상입니다. 포트에 접근할 수 있고 서버가 응답하고 있다는 뜻입니다.
curl http://127.0.0.1:49374/mcp
CLI가 서버에 닿습니다
CLI는 얇은 HTTP 클라이언트입니다. 여기서 상태가 출력되면 훅도 서버에 접근할 수 있습니다.
ai-memory status
에이전트가 기억합니다
몇 분간 작업하고 종료한 다음, 같은 디렉터리에서 두 번째 세션을 엽니다. 그리고 이렇게 물어보세요.
"어디까지 했었지?"
첫 에이전트 다음에는
세 가지 모두 선택 사항입니다. 필요할 때 하세요.
다른 에이전트 추가하기
같은 명령어 두 개를 이름만 바꿔서 실행합니다. 그러면 두 에이전트가 하나의 프로젝트 기억을 공유합니다.
ai-memory install-mcp --client codex --apply
ai-memory install-hooks --agent codex --apply
선택 사항: LLM으로 더 나은 요약
제공자가 없어도 캡처, 검색, 규칙 기반 요약은 모두 무료로 동작합니다. 제공자를 추가하면 세션 페이지를 읽기 좋은 서술형으로 다시 써 줍니다. 서버 환경에 이 두 변수를 설정하고(Docker는 -e 플래그, systemd 사용자 서비스는 ~/.config/ai-memory/env) 재시작하세요.
AI_MEMORY_LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
전부 되돌리기
ai-memory가 설치한 것만 제거합니다. 설치 명령은 멱등하며, 각 명령은 건드리는 파일 옆에 타임스탬프가 붙은 백업을 남깁니다.
ai-memory uninstall --apply
팀으로 씁니다
모든 컴퓨터와 모든 팀원이 접속하는 서버 하나입니다. 서버 간 복제는 없습니다. 기억을 공유한다는 것은 모두가 같은 서버에 연결한다는 뜻입니다.

토큰과 함께 공유 서버 시작
홈랩 서버나 LAN의 아무 호스트를 고르세요. 루프백 밖으로 바인딩하는 서버에는 Bearer 토큰과 호스트 허용 목록이 모두 필요합니다. 허용 목록에는 컴퓨터들이 서버에 접속할 때 쓰는 모든 이름과 IP를 넣습니다.
서버에서 TOKEN=$(ai-memory generate-auth-token) docker run -d --name ai-memory \ --restart unless-stopped \ -p 0.0.0.0:49374:49374 \ -v ai-memory-data:/data \ -e AI_MEMORY_AUTH_TOKEN="$TOKEN" \ -e AI_MEMORY_ALLOWED_HOSTS="<server-ip>,localhost,127.0.0.1" \ akitaonrails/ai-memory:latest사용자 만들기
root 토큰을 export한 상태에서 실행하세요. 임시 비밀번호는 한 번만 출력되고, 당사자가 첫 로그인 때 바꿉니다. 이 명령은 API 키를 발급하지 않습니다.
[auth]의 root 신원은 사용자 가이드에서 다룹니다.터미널 ai-memory user add-human --username alice --email alice@home --name "Alice Smith"사람마다 API 키 발급
aim_시크릿은 한 번만 표시됩니다.ai-memory api-key rotate <id>와ai-memory api-key revoke <id>는 즉시 적용됩니다.터미널 ai-memory api-key add --username alice --label codex-laptop각 컴퓨터를 서버에 연결
각자 자기 키를 토큰으로 씁니다. 키는 데이터 디렉터리의
0600파일에 저장되며 훅 명령줄에는 드러나지 않습니다.--as-user는 설치에 라벨만 붙입니다.모든 노트북에서 # 여기서 TOKEN은 root 토큰이 아니라 이 사람의 aim_ 키입니다 export AI_MEMORY_SERVER_URL="http://<server-ip>:49374" export AI_MEMORY_AUTH_TOKEN="$TOKEN" ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --apply --agent claude-code \ --as-user alice --auth-token aim_XGq...<secret>LAN을 벗어나기 전에 TLS 추가
Bearer 토큰은 요청을 인증할 뿐 암호화하지 않습니다. 일반 HTTP에서는 키와 웹 쿠키가 평문으로 오가므로, 계정이 생겼거나 서버가 책상 밖에서 접근 가능해졌다면 앞단에 Caddy, nginx, Cloudflare Tunnel을 두세요.
어느 단계에서 막혔나요?
GitHub의 설치 쿡북에 에이전트별 명령어, 원격 서버, Windows 관련 내용이 있습니다. 이슈 트래커는 열려 있습니다.