**Fork from**: novoid/Memacs **목적**: Memex의 실현 - “텍스트 기반 프론트엔드” **철학**: “Single Source of Truth for Human and AI” **상태**: 🔬 ACTIVE DEVELOPMENT **업데이트**: 2025-10-15
“What were you doing on February 14th of 2007?”
Memacs의 원래 질문입니다.
하지만 2025년, 우리는 더 큰 질문을 던집니다:
“AI가 나를 이해하려면 무엇이 필요한가?”
답: 투명하고, 통제 가능하며, 표준화된 나의 삶의 기록 → Memacs = 인간과 AI가 공유하는 단일 진실의 원천
—
대부분의 시스템:
- 인간 → 화려한 대시보드, 그래프, UI
- AI → 데이터베이스, API, JSON
결과:
- 데이터 중복
- 동기화 문제
- 진실의 원천 불명확
- AI 접근 시 API 비용 발생
다양한 데이터 소스
↓ Memacs Modules
통일된 Org 파일 (~/org/memacs/*.org)
↓↑ (양방향)
┌──────────────┬──────────────┐
│ 인간 │ AI │
│ Org-agenda │ File Read │
│ (시각화) │ (Context) │
└──────────────┴──────────────┘
**핵심**:
- 인간: Emacs Org-agenda로 시각화
- AI: 동일한 Org 파일을 context로 읽음
- 형식: 텍스트 (투명), Git (버전 관리), Org-mode (표준화)
—
이 프로젝트는 **”시간과정신의방”** 생태계의 핵심 레이어입니다.
┌─────────────────────────────────────────────────┐
│ Layer 7: Knowledge Publishing │
│ - notes.junghanacs.com │
└─────────────────────────────────────────────────┘
↑
┌─────────────────────────────────────────────────┐
│ Layer 6: Agent Orchestration (meta-config) │
│ - Meta Agent ↔ Domain Agents │
└─────────────────────────────────────────────────┘
↑↓
┌─────────────────────────────────────────────────┐
│ Layer 5: Human-AI Shared Interface (THIS!) │
│ ★ memacs-config = Memex의 실현 ★ │
│ │
│ 역할: Universal Translator │
│ - 모든 데이터 소스 → Org-mode 통일 │
│ - 시간 기반 통합 (타임스탬프) │
│ - 투명성 + 통제성 + AI 접근성 │
└─────────────────────────────────────────────────┘
↑
┌─────────────────────────────────────────────────┐
│ Layer 4: AI Agent Memory (claude-config) │
└─────────────────────────────────────────────────┘
↑
┌─────────────────────────────────────────────────┐
│ Layer 3: Knowledge Management │
│ - Emacs/Org-mode │
└─────────────────────────────────────────────────┘
↑
┌─────────────────────────────────────────────────┐
│ Layer 2: Development Environment │
│ - doomemacs-config │
└─────────────────────────────────────────────────┘
↑
┌─────────────────────────────────────────────────┐
│ Layer 1: Infrastructure (nixos-config) │
└─────────────────────────────────────────────────┘
-config 생태계:
- nixos-config - 재현 가능한 OS 환경
- doomemacs-config - 터미널 최적화 Emacs
- emacs-fulllab-config - 실험 환경
- claude-config - AI 메모리 시스템
- zotero-config - AI 쿼리 가능한 서지
- ★ memacs-config - 인간-AI 공유 인터페이스 ★
- meta-config - 계층적 에이전트 아키텍처
데이터 소스:
- self-tracking-data - 3-5년 삶의 패턴 (Samsung Health, atimelogger)
—
“Consider a future device for individual use, which is a sort of mechanized private file and library”
**비전**:
- 개인의 모든 기록을 한곳에
- 시간 기반 탐색
- 연상적 연결 (associative trails)
- 투명한 제어
→ Memex의 실현:
- Org-mode = 구조화된 텍스트
- Git = 버전 관리
- Emacs = 확장 가능한 환경
- 타임스탬프 = 시간 기반 통합
→ Memacs + AI Agent:
- Org-mode = 인간과 AI의 공통 언어
- 단일 진실의 원천 (Single Source of Truth)
- 투명성 (텍스트 파일)
- 통제성 (Git, 외부 서비스 불필요)
- AI 접근성 (API 비용 0원)
—
Input (다양한 소스):
├─ self-tracking-data/
│ ├─ Samsung Health (수면, 운동, HRV)
│ └─ atimelogger (시간 추적 DB)
├─ ~/sync/org/
│ ├─ diary.org (CLOCK 엔트리)
│ └─ journal/ (일일 노트)
├─ Git repositories
├─ Photos (EXIF 타임스탬프)
└─ Zotero (읽기 기록)
↓ Memacs Modules (Python)
Output (통일된 Org):
~/org/memacs/
├─ sleep.org (수면 데이터)
├─ timelog.org (시간 추적)
├─ work-sessions.org (딥워크 세션)
├─ git.org (커밋 기록)
├─ photos.org (사진 타임라인)
└─ reading.org (독서 기록)
↓↑ (양방향 참조)
┌─────────────────┬─────────────────┐
│ Human │ AI │
│ │ │
│ Emacs │ Life-Context │
│ Org-agenda │ Agent │
│ │ │
│ C-c a a │ reads: │
│ → Week view │ ~/org/memacs/ │
│ │ │
│ 투명한 │ 패턴 분석: │
│ Raw Dashboard │ 수면-생산성 │
│ │ 상관관계 │
└─────────────────┴─────────────────┘
기존 모듈 (novoid/Memacs):
memacs_git.py: Git commitsmemacs_photos.py: Photos with EXIFmemacs_ical.py: Calendar eventsmemacs_sms.py: SMS messagesmemacs_rss.py: RSS feedsmemacs_firefox.py: Browser historymemacs_twitter.py: Tweetsmemacs_lastfm.py: Music listening
신규 모듈 (이 프로젝트에서 추가):
memacs_atimelogger.py: Time tracking (atimelogger DB)memacs_samsung_health.py: Sleep, HRV, exercise (Samsung Health CSV)memacs_diary_clocks.py: CLOCK entries from diary.orgmemacs_zotero.py: Bibliography and reading history
—
Notion, Obsidian, Roam Research:
- ❌ 데이터: 클라우드 또는 폐쇄 포맷
- ❌ AI 접근: API 비용 또는 불가능
- ❌ 통제: 제한적
Google Calendar, Todoist, etc:
- ❌ 데이터: 벤더 락인
- ❌ AI 접근: OAuth + API 요금
- ❌ 통제: 불투명
Self-tracking 앱들:
- ❌ 데이터: 앱마다 고립됨
- ❌ 통합: 수동 export/import
- ❌ AI 접근: 거의 불가능
투명성:
- 모든 데이터가 텍스트 파일
- Git으로 버전 관리
- 숨김 없는 Raw 데이터
- Org-mode = 인간이 읽을 수 있는 형식
통제성:
- 완전한 소유권
- 외부 서비스 불필요
- 이식성 100%
- self-hosting 가능
AI_접근성:
- API 비용 0원
- 무제한 컨텍스트
- 표준화된 형식 (Org-mode)
- Life-Context Agent가 직접 읽음
통합성:
- 단일 형식 (Org-mode)
- 시간축 기반
- 연관성 (Tags, Properties)
- 모든 데이터 소스 통합—
* 2025-10-15 화요일
** [2025-10-15 화 23:30]--[2025-10-16 수 07:15] 수면 😴
:PROPERTIES:
:ID: sleep_20251015
:DURATION: 7.75h
:QUALITY: 85%
:DEEP_SLEEP: 2.1h
:REM_SLEEP: 1.8h
:LIGHT_SLEEP: 3.85h
:SOURCE: Samsung Health
:END:
** 09:00-11:30 DEEPWORK 🎯
:PROPERTIES:
:ID: timelog_20251015_01
:CATEGORY: work
:DURATION: 2.5h
:PROJECT: Family-Config
:ENERGY: high
:SOURCE: atimelogger
:END:
** 14:00-15:45 Reading 📚
:PROPERTIES:
:ID: timelog_20251015_02
:CATEGORY: learning
:DURATION: 1.75h
:BOOK: [[zotero:bush1945memex][As We May Think]]
:SOURCE: atimelogger + Zotero
:END:
Week-agenda (W42): 월요일 _______________________________________________________________ 08:30...... TODO Family-Config A2A Server 구현 09:00-11:30 DEEPWORK 🎯 (Family-Config) 23:30...... [수면] 7.75h ⭐ 목표 달성! 화요일 _______________________________________________________________ 09:00-11:30 DEEPWORK 🎯 (memacs-config README) 14:00-15:45 Reading 📚 (Vannevar Bush) 23:45...... [수면] 8.2h ⭐⭐ 회복!
// Life-Context Agent reads:
const sleepData = parseOrgFile('~/org/memacs/sleep.org');
const timelogData = parseOrgFile('~/org/memacs/timelog.org');
// 분석:
const avg_sleep = calculateAverage(sleepData, 7); // 최근 7일
// → 7.2시간 (양호!)
const deepwork_pattern = analyzePattern(timelogData);
// → 수면 > 7h일 때 딥워크 4.2시간
// → 수면 < 6h일 때 딥워크 2.1시간
// → 상관계수: 0.78 (강한 양의 상관관계)
// 제안:
if (avg_sleep < 6.5) {
return "수면 부족 감지. 프로젝트 일정 조정 권장";
}—
# Clone this repository
git clone https://github.com/junghan0611/memacs-config.git ~/repos/gh/memacs-config
cd ~/repos/gh/memacs-config
# Python 3 필수
python3 -m venv venv
source venv/bin/activate
# 의존성 설치
pip install -r requirements.txt# atimelogger
python3 memacs/atimelogger.py \
-d ~/repos/gh/self-tracking-data/atimelogger/database.db3 \
-o ~/org/memacs/timelog.org
# Samsung Health
python3 memacs/samsung_health.py \
-f ~/repos/gh/self-tracking-data/samsunghealth_*/com.samsung.shealth.sleep.*.csv \
-o ~/org/memacs/sleep.org
# diary.org CLOCK entries
python3 memacs/diary_clocks.py \
-f ~/sync/org/20220101T010100--diary.org \
-o ~/org/memacs/work-sessions.org;; ~/.doom.d/config.el 또는 ~/.emacs.d/init.el
(setq org-agenda-files
'("~/org/"
"~/org/journal/"
"~/org/memacs/")) ; ← Memacs 파일 추가!
;; Custom agenda view: Life Overview
(add-to-list 'org-agenda-custom-commands
'("l" "Life Overview"
((agenda "" ((org-agenda-span 7))) ; 이번 주
(tags "DEEPWORK") ; 딥워크 세션
(tags "sleep") ; 수면 기록
(todo "TODO")))) ; 할 일
;; 키바인딩
(global-set-key (kbd "C-c l")
(lambda () (interactive) (org-agenda nil "l")))# ~/org/memacs/update-all.sh
#!/bin/bash
cd ~/repos/gh/memacs-config
source venv/bin/activate
# 모든 모듈 실행
python3 memacs/atimelogger.py -d ~/repos/gh/self-tracking-data/atimelogger/database.db3 -o ~/org/memacs/timelog.org
python3 memacs/samsung_health.py -f ~/repos/gh/self-tracking-data/samsunghealth_*/sleep.csv -o ~/org/memacs/sleep.org
python3 memacs/diary_clocks.py -f ~/sync/org/20220101T010100--diary.org -o ~/org/memacs/work-sessions.org
# Git commit
cd ~/org/memacs
git add -A
git commit -m "Update memacs data $(date +%Y-%m-%d)"
echo "Memacs data updated!"# Cron 설정 (매일 오전 6시)
# crontab -e
0 6 * * * /home/goqual/org/memacs/update-all.sh—
1. User (Emacs agent-shell): "최근 수면 패턴 분석해서 프로젝트 일정 조정해줘" 2. Meta Agent (Claude Code): - Intent: "수면 패턴 분석" + "일정 조정" - 판단: Life-Context + Personal 도메인 3. Life-Context Agent: reads ~/org/memacs/sleep.org: - 최근 7일 평균 수면: 6.2시간 (부족!) - 금요일 수면: 5.1시간 (최악) reads ~/org/memacs/timelog.org: - 딥워크 시간: 월~목 4시간, 금 1.5시간 분석: - 상관관계: 수면 < 6h → 딥워크 50% 감소 4. Meta Agent: - 현재 진행 중: Family-Config 구현 - 제안: 금요일 → 월요일 이동 5. Personal Agent: - ~/org/projects/ 수정 - Git commit 6. Response (Emacs Org-agenda): ✅ 일정 조정 완료 분석: - 최근 7일 평균 수면 6.2시간 (목표 7.5h) - 수면 부족 시 딥워크 50% 감소 확인 조치: - Family-Config 작업: 금→월 이동 - 제안: 주말 충분한 휴식
**핵심**:
- 사용자는 한 번만 요청
- AI는 Memacs에서 모든 컨텍스트 자동 확인
- 결과는 Org-agenda에서 투명하게 확인
- 모든 것이 텍스트 파일, Git 버전 관리
—
- [ ]
memacs_atimelogger.py - [ ]
memacs_samsung_health.py - [ ]
memacs_diary_clocks.py - [ ]
memacs_zotero.py
- [ ] Org 파일 파서 구현
- [ ] 수면-생산성 패턴 분석
- [ ] 시간 할당 최적화 알고리즘
- [ ] Meta Agent 통합
- [ ] meta-config A2A 프로토콜
- [ ] Family-Config Domain Agent
- [ ] 실시간 업데이트 (inotify)
- [ ] Org-agenda custom views
- [ ] 신규 모듈 문서화
- [ ] 사용 가이드 (한글/영문)
- [ ] upstream PR (novoid/Memacs)
- [ ] 커뮤니티 피드백 반영
—
- novoid/Memacs - Original Memacs project
- Memacs White Paper - Karl Voit’s dissertation
- meta-config - 계층적 에이전트 아키텍처
- claude-config - AI 메모리 시스템
- self-tracking-data - 3-5년 삶의 패턴
- acp.el by xenodium - ACP Client for Emacs
- agent-shell by xenodium - Agent UI
- 힣’s 디지털가든 - 1,400+ org files
- Memex (1945) - Vannevar Bush
- “시간과정신의방” - 인간-AI 협업 철학
—
- Original Memacs: GPLv3 (novoid/Memacs)
- This fork: GPLv3
- 신규 모듈: GPLv3
—
**Junghan Kim** (junghanacs)
- Website: 힣’s 디지털가든
- GitHub: @junghanacs
- Email: [email protected]
—
- **Karl Voit** (novoid) - Original Memacs creator
- **Vannevar Bush** - Memex 비전 (1945)
- **Álvaro Ramírez** (xenodium) - acp.el, agent-shell
- **Org-mode Community** - 놀라운 도구
—
“Memacs는 단순히 데이터를 Org-mode로 변환하는 도구가 아닙니다.
그것은 인간의 삶을 투명하게 기록하고, AI가 그 삶의 맥락을 이해할 수 있게 하며, 둘 사이의 진정한 협업을 가능하게 하는
**존재 대 존재의 인터페이스**입니다.”
— 힣 (Junghan), 2025-10-15
—
**상태**: 🔬 ACTIVE DEVELOPMENT
**다음 업데이트**: memacs_atimelogger.py 구현
**기여 환영**: Issues and PRs welcome!
- Original Memacs README - 원본 프로젝트 README