Skip to content

Modernized Memacs modules for life-context tracking. Extended with new modules (atimelogger, samsung_health) for comprehensive digital life visualization.

License

Notifications You must be signed in to change notification settings

junghan0611/memacs-config

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Memacs-Config: ์ธ๊ฐ„-AI ๊ณต์œ  ์ธํ„ฐํŽ˜์ด์Šค

Memacs-Config: ์ธ๊ฐ„-AI ๊ณต์œ  ์ธํ„ฐํŽ˜์ด์Šค

**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๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋‹จ์ผ ์ง„์‹ค์˜ ์›์ฒœ

โ€”

๐ŸŽฏ ์ด ํ”„๋กœ์ ํŠธ์˜ ์กด์žฌ ์ด์œ 

๋ฌธ์ œ: ์ธ๊ฐ„๊ณผ AI์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋ถˆ์ผ์น˜

๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ:

  • ์ธ๊ฐ„ โ†’ ํ™”๋ คํ•œ ๋Œ€์‹œ๋ณด๋“œ, ๊ทธ๋ž˜ํ”„, UI
  • AI โ†’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, API, JSON

๊ฒฐ๊ณผ:

  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต
  • ๋™๊ธฐํ™” ๋ฌธ์ œ
  • ์ง„์‹ค์˜ ์›์ฒœ ๋ถˆ๋ช…ํ™•
  • AI ์ ‘๊ทผ ์‹œ API ๋น„์šฉ ๋ฐœ์ƒ

ํ•ด๊ฒฐ: Memacs = ๋‹จ์ผ ์ง„์‹ค์˜ ์›์ฒœ

๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค
    โ†“ Memacs Modules
ํ†ต์ผ๋œ Org ํŒŒ์ผ (~/org/memacs/*.org)
    โ†“โ†‘ (์–‘๋ฐฉํ–ฅ)
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    ์ธ๊ฐ„      โ”‚      AI      โ”‚
โ”‚  Org-agenda  โ”‚  File Read   โ”‚
โ”‚  (์‹œ๊ฐํ™”)    โ”‚  (Context)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

**ํ•ต์‹ฌ**:

  • ์ธ๊ฐ„: Emacs Org-agenda๋กœ ์‹œ๊ฐํ™”
  • AI: ๋™์ผํ•œ Org ํŒŒ์ผ์„ context๋กœ ์ฝ์Œ
  • ํ˜•์‹: ํ…์ŠคํŠธ (ํˆฌ๋ช…), Git (๋ฒ„์ „ ๊ด€๋ฆฌ), Org-mode (ํ‘œ์ค€ํ™”)

โ€”

๐ŸŒŸ ์™„์ „ํ•œ ๋งฅ๋ฝ: -config ์ƒํƒœ๊ณ„์—์„œ์˜ ์œ„์น˜

์ด ํ”„๋กœ์ ํŠธ๋Š” **โ€์‹œ๊ฐ„๊ณผ์ •์‹ ์˜๋ฐฉโ€** ์ƒํƒœ๊ณ„์˜ ํ•ต์‹ฌ ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค.

์ „์ฒด ์•„ํ‚คํ…์ฒ˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  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 ์ƒํƒœ๊ณ„:

  1. nixos-config - ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ OS ํ™˜๊ฒฝ
  2. doomemacs-config - ํ„ฐ๋ฏธ๋„ ์ตœ์ ํ™” Emacs
  3. emacs-fulllab-config - ์‹คํ—˜ ํ™˜๊ฒฝ
  4. claude-config - AI ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ
  5. zotero-config - AI ์ฟผ๋ฆฌ ๊ฐ€๋Šฅํ•œ ์„œ์ง€
  6. โ˜… memacs-config - ์ธ๊ฐ„-AI ๊ณต์œ  ์ธํ„ฐํŽ˜์ด์Šค โ˜…
  7. meta-config - ๊ณ„์ธต์  ์—์ด์ „ํŠธ ์•„ํ‚คํ…์ฒ˜

๋ฐ์ดํ„ฐ ์†Œ์Šค:

  • self-tracking-data - 3-5๋…„ ์‚ถ์˜ ํŒจํ„ด (Samsung Health, atimelogger)

โ€”

๐Ÿ’ก ์ฒ ํ•™์  ๊ธฐ๋ฐ˜: Memex โ†’ Memacs โ†’ AI ์‹œ๋Œ€

Memex (1945, Vannevar Bush)

โ€œConsider a future device for individual use, which is a sort of mechanized private file and libraryโ€

**๋น„์ „**:

  • ๊ฐœ์ธ์˜ ๋ชจ๋“  ๊ธฐ๋ก์„ ํ•œ๊ณณ์—
  • ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ํƒ์ƒ‰
  • ์—ฐ์ƒ์  ์—ฐ๊ฒฐ (associative trails)
  • ํˆฌ๋ช…ํ•œ ์ œ์–ด

Memacs (2012, Karl Voit)

โ†’ Memex์˜ ์‹คํ˜„:

  • Org-mode = ๊ตฌ์กฐํ™”๋œ ํ…์ŠคํŠธ
  • Git = ๋ฒ„์ „ ๊ด€๋ฆฌ
  • Emacs = ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ™˜๊ฒฝ
  • ํƒ€์ž„์Šคํƒฌํ”„ = ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ํ†ตํ•ฉ

AI ์‹œ๋Œ€ (2025, This Project)

โ†’ 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  โ”‚  ์ˆ˜๋ฉด-์ƒ์‚ฐ์„ฑ    โ”‚
โ”‚                 โ”‚  ์ƒ๊ด€๊ด€๊ณ„       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Memacs ๋ชจ๋“ˆ (๊ธฐ์กด + ์‹ ๊ทœ)

๊ธฐ์กด ๋ชจ๋“ˆ (novoid/Memacs):

  • memacs_git.py: Git commits
  • memacs_photos.py: Photos with EXIF
  • memacs_ical.py: Calendar events
  • memacs_sms.py: SMS messages
  • memacs_rss.py: RSS feeds
  • memacs_firefox.py: Browser history
  • memacs_twitter.py: Tweets
  • memacs_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.org
  • memacs_zotero.py: Bibliography and reading history

โ€”

๐Ÿ”ฅ ์™œ ์ด๊ฒƒ์ด ํ˜๋ช…์ ์ธ๊ฐ€?

๊ธฐ์กด ์‹œ์Šคํ…œ๋“ค์˜ ํ•œ๊ณ„

Notion, Obsidian, Roam Research:

  • โŒ ๋ฐ์ดํ„ฐ: ํด๋ผ์šฐ๋“œ ๋˜๋Š” ํ์‡„ ํฌ๋งท
  • โŒ AI ์ ‘๊ทผ: API ๋น„์šฉ ๋˜๋Š” ๋ถˆ๊ฐ€๋Šฅ
  • โŒ ํ†ต์ œ: ์ œํ•œ์ 

Google Calendar, Todoist, etc:

  • โŒ ๋ฐ์ดํ„ฐ: ๋ฒค๋” ๋ฝ์ธ
  • โŒ AI ์ ‘๊ทผ: OAuth + API ์š”๊ธˆ
  • โŒ ํ†ต์ œ: ๋ถˆํˆฌ๋ช…

Self-tracking ์•ฑ๋“ค:

  • โŒ ๋ฐ์ดํ„ฐ: ์•ฑ๋งˆ๋‹ค ๊ณ ๋ฆฝ๋จ
  • โŒ ํ†ตํ•ฉ: ์ˆ˜๋™ export/import
  • โŒ AI ์ ‘๊ทผ: ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅ

Memacs์˜ ํ˜๋ช…

ํˆฌ๋ช…์„ฑ:
  - ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ํ…์ŠคํŠธ ํŒŒ์ผ
  - Git์œผ๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌ
  - ์ˆจ๊น€ ์—†๋Š” Raw ๋ฐ์ดํ„ฐ
  - Org-mode = ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•์‹

ํ†ต์ œ์„ฑ:
  - ์™„์ „ํ•œ ์†Œ์œ ๊ถŒ
  - ์™ธ๋ถ€ ์„œ๋น„์Šค ๋ถˆํ•„์š”
  - ์ด์‹์„ฑ 100%
  - self-hosting ๊ฐ€๋Šฅ

AI_์ ‘๊ทผ์„ฑ:
  - API ๋น„์šฉ 0์›
  - ๋ฌด์ œํ•œ ์ปจํ…์ŠคํŠธ
  - ํ‘œ์ค€ํ™”๋œ ํ˜•์‹ (Org-mode)
  - Life-Context Agent๊ฐ€ ์ง์ ‘ ์ฝ์Œ

ํ†ตํ•ฉ์„ฑ:
  - ๋‹จ์ผ ํ˜•์‹ (Org-mode)
  - ์‹œ๊ฐ„์ถ• ๊ธฐ๋ฐ˜
  - ์—ฐ๊ด€์„ฑ (Tags, Properties)
  - ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์†Œ์Šค ํ†ตํ•ฉ

โ€”

๐ŸŽจ ๊ตฌ์ฒด์  ์˜ˆ์‹œ

Org ํŒŒ์ผ ํ˜•์‹

* 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:

์ธ๊ฐ„์ด ๋ณด๋Š” ๊ฒƒ (Org-agenda)

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 โญโญ ํšŒ๋ณต!

AI๊ฐ€ ๋ณด๋Š” ๊ฒƒ (Life-Context Agent)

// 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 "์ˆ˜๋ฉด ๋ถ€์กฑ ๊ฐ์ง€. ํ”„๋กœ์ ํŠธ ์ผ์ • ์กฐ์ • ๊ถŒ์žฅ";
}

โ€”

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

1. ์„ค์น˜

# 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

2. ์‹ ๊ทœ ๋ชจ๋“ˆ ํ…Œ์ŠคํŠธ (๊ฐœ๋ฐœ ์ค‘)

# 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

3. Org-agenda ์„ค์ •

;; ~/.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")))

4. ์ผ์ผ ์—…๋ฐ์ดํŠธ (Cron)

# ~/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 ๋ฒ„์ „ ๊ด€๋ฆฌ

โ€”

๐ŸŽฏ ๋กœ๋“œ๋งต

Phase 1: ์‹ ๊ทœ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ (2025 Q4)

  • [ ] memacs_atimelogger.py
  • [ ] memacs_samsung_health.py
  • [ ] memacs_diary_clocks.py
  • [ ] memacs_zotero.py

Phase 2: Life-Context Agent ์—ฐ๋™ (2025 Q4)

  • [ ] Org ํŒŒ์ผ ํŒŒ์„œ ๊ตฌํ˜„
  • [ ] ์ˆ˜๋ฉด-์ƒ์‚ฐ์„ฑ ํŒจํ„ด ๋ถ„์„
  • [ ] ์‹œ๊ฐ„ ํ• ๋‹น ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • [ ] Meta Agent ํ†ตํ•ฉ

Phase 3: ์ƒํƒœ๊ณ„ ํ†ตํ•ฉ (2026 Q1)

  • [ ] meta-config A2A ํ”„๋กœํ† ์ฝœ
  • [ ] Family-Config Domain Agent
  • [ ] ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ (inotify)
  • [ ] Org-agenda custom views

Phase 4: ์ปค๋ฎค๋‹ˆํ‹ฐ (2026 Q2+)

  • [ ] ์‹ ๊ทœ ๋ชจ๋“ˆ ๋ฌธ์„œํ™”
  • [ ] ์‚ฌ์šฉ ๊ฐ€์ด๋“œ (ํ•œ๊ธ€/์˜๋ฌธ)
  • [ ] upstream PR (novoid/Memacs)
  • [ ] ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

โ€”

๐Ÿ”— ๊ด€๋ จ ๋งํฌ

์›๋ณธ ํ”„๋กœ์ ํŠธ

-config ์ƒํƒœ๊ณ„

  • meta-config - ๊ณ„์ธต์  ์—์ด์ „ํŠธ ์•„ํ‚คํ…์ฒ˜
  • claude-config - AI ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ
  • self-tracking-data - 3-5๋…„ ์‚ถ์˜ ํŒจํ„ด

์™ธ๋ถ€ ์ฐธ์กฐ

์ฒ ํ•™์  ๋ฐฐ๊ฒฝ

โ€”

๐Ÿ“ ๋ผ์ด์„ ์Šค

  • Original Memacs: GPLv3 (novoid/Memacs)
  • This fork: GPLv3
  • ์‹ ๊ทœ ๋ชจ๋“ˆ: GPLv3

โ€”

๐Ÿ‘ค ์ €์ž

**Junghan Kim** (junghanacs)

โ€”

๐Ÿ™ ๊ฐ์‚ฌ

  • **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!

See Also

About

Modernized Memacs modules for life-context tracking. Extended with new modules (atimelogger, samsung_health) for comprehensive digital life visualization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.6%
  • Shell 1.1%
  • Makefile 0.3%