Claude Code · Cursor · Gemini CLI가 만든 변경을 자동으로 기록하고, 오늘 무엇이 바뀌었는지 한눈에 보여주고, 할루시네이션을 로컬 diff로 즉시 검증합니다. 클라우드도, 계정도, 텔레메트리도 없습니다.
에이전트가 코드를 쓰고, Ocul-PM이 그들이 한 일을 사람이 읽을 수 있는 기록으로 남깁니다.
어제 Claude에게 시킨 리팩토링이 어떤 파일들을 건드렸더라.
Cursor가 "수정했다"고 한 코드가 실제로 동작하나, 다시 확인해야 한다.
여러 에이전트를 번갈아 쓰니 변경 이력이 도구마다 흩어진다.
일주일 지나면 "내가 이걸 왜 만들었지?"에 답할 수 없다.
기록·검증·계획·실행이 한 앱 안에서. 전부 당신의 디스크 위에서 일어납니다.
에이전트는 작업을 끝낼 때마다 마스터 프롬프트 규칙에 따라 markdown 한 개를 남깁니다. 플랫 파일 SSOT라 DB lock-in이 없고, 코드와 함께 커밋해 PR 리뷰에서 같이 볼 수 있습니다.
에이전트가 "수정했다"고 주장하는 모든 파일을 네트워크 호출 없이 즉시 비교합니다. Git이면 git diff, 아니면 file snapshot fallback.
오늘 무엇이 바뀌고, 어제 무엇을 끝냈고, 다음은 무엇인지 워크데이 경계로 정리. 타임존 자정에 자동 롤오버.
goal → 서브태스크 → journal entry의 3단 위계로, AI의 분 단위 작업을 사람의 주 단위 목표에 묶습니다.
OpenAI · Anthropic · Gemini를 같은 화면에서. API 키는 OS 키체인에만 저장됩니다.
tree-sitter AST + fastembed 임베딩 + sqlite-vec. 임베딩이 외부로 나가지 않습니다.
창 전환 없이 같은 앱에서 CLI를 실행하며, 일지가 옆에서 쌓이는 걸 봅니다.
코드도, 임베딩도, 작업 기록도 우리 서버로 가지 않습니다.
// 우리 서버가 없기 때문입니다.
일지는 markdown 파일. 앱이 망해도 데이터는 그대로. git clone으로 옮기면 그대로 동작합니다.
코드·임베딩·작업 기록 어느 것도 우리 서버로 가지 않습니다. 외부 요청은 당신이 부른 LLM 호출, 그것뿐.
콜드 스타트 1.5초 미만. 검색은 디스크 I/O가 한계입니다.
LLM 호출을 빼면 전부 오프라인에서 동작합니다.
Rust 백엔드 + 시스템 웹뷰. 전체 데이터는 프로젝트 폴더의 .oculpm/와 로컬 SQLite에 머무릅니다.
Claude Code, Cursor, Aider, Gemini CLI, Antigravity를 매일 쓰는 사람.
가볍게 시작. 팀 클라우드 동기화는 v1.1 이후 로드맵.
하지만 변경 이력은 시각적으로 보고 싶은 사람.
코드도 기록도 임베딩도, 내 디스크 위에.
설치하고, 프로젝트 폴더를 열고, 에이전트를 부르세요. 나머지는 Ocul-PM이 기록합니다.
GitHub Releases 에서 직접 다운로드 · 이후 버전은 앱 안에서 자동 업데이트