Obsidian di sini dipakai sebagai second brain Hermes: persistent memory yang mengikuti pola Karpathy LLM Wiki. Raw source tetap dipisahkan dari halaman konsep dan entity; Hermes merangkum, menghubungkan, memelihara index, lalu menyimpan hasil yang sudah diverifikasi ke vault. Mac mini memegang vault utama; VPS menarik salinan.
Operasinya berjalan lewat dua ritme. Cron Obsidian Hermes Session Capture berjalan harian untuk merangkum sesi penting, keputusan, project progress, dan blocker ke daily note. Cron Obsidian LLM Wiki Weekly Maintenance berjalan mingguan: membaca schema, index, dan log, lalu memeriksa link, orphan page, source drift, stale content, dan konsistensi vault.
1. Tetapkan Mac mini sebagai sumber utama
Gunakan satu path canonical di Mac mini. Hermes membaca dan menulis vault ini melalui OBSIDIAN_VAULT_PATH. Jangan membuat dua sumber utama karena konflik file lebih sulit dilacak.
Path vault canonical · bashexport OBSIDIAN_VAULT_PATH=/path/to/obsidian-vault test -d "$OBSIDIAN_VAULT_PATH" && printf 'vault ok\n'2. Pisahkan isi vault dari konfigurasi Obsidian
Simpan project, context, decisions, daily notes, dan resources di vault. Jangan menyinkronkan workspace UI sebagai bagian dari data pengetahuan.
Audit struktur vault · bashfind "$OBSIDIAN_VAULT_PATH" -maxdepth 2 -type d | sort | head -303. Jadikan Hermes penulis dengan provenance
Setiap catatan hasil sesi harus menyebut tanggal, sumber session/profile, keputusan, dan status verifikasi. Jangan menulis transcript mentah, secret, token, atau klaim sync sebelum read-back.
Cek provenance · bashgrep -RIl 'READBACK_OK\|provenance' "$OBSIDIAN_VAULT_PATH/400 Daily" | tail -54. Biarkan VPS menarik salinan dari Mac mini
Model operasi Mac-primary memakai pull terjadwal di VPS. Jangan menambah cron Mac yang melakukan push ke VPS; satu arah memperjelas ownership dan mengurangi konflik.
Pull vault di VPS · bashssh <vps-host> 'OBSIDIAN_VAULT_PATH=~/obsidian-vault <sync-script>'5. Tambahkan lock dan timeout
Sync harus berhenti bila job lain masih berjalan dan gagal bila proses terlalu lama. Lock mencegah dua copy operation saling menimpa.
Jalankan wrapper aman · bashtest -f <sync-wrapper> && python3 <sync-wrapper>6. Verifikasi setelah sync
Baca kembali file yang baru dibuat di target. Laporkan blocker bila source path salah atau target tidak tersedia; jangan mengganti path diam-diam.
Read-back target · bashssh <vps-host> 'test -d ~/obsidian-vault && find ~/obsidian-vault/400\ Daily -type f -mtime -1 | tail -5'7. Gunakan prompt daily session capture
Daily job hanya menangkap hasil bernilai dari sesi terbaru. Ia tidak menyalin transcript mentah dan tidak mengarang status. Simpan note dengan provenance, keputusan, blocker, dan next action; lakukan read-back sebelum menyatakan selesai.
Prompt daily capture · textJalankan daily session capture. Baca sesi terbaru dan simpan hanya keputusan, perubahan project, sumber penting, blocker, dan next action ke daily note. Tambahkan tanggal, session/profile provenance, confidence bila klaim lemah, wikilink terkait, dan READBACK_OK setelah file dibaca kembali. Jangan simpan transcript mentah atau secret. Jika tidak ada item bernilai, laporkan NO_OP.8. Gunakan prompt weekly wiki maintenance
Weekly job memelihara knowledge base, bukan membuat dump baru. Orientasi selalu mulai dari schema, index, dan log, lalu audit link dan source drift sebelum update.
Prompt weekly maintenance · textJalankan weekly LLM Wiki maintenance. Baca SCHEMA.md, index.md, dan 20 entri terakhir log.md terlebih dahulu. Audit duplicate page, broken wikilink, orphan page, missing index entry, source drift, stale content, contradiction, page size, dan tag di luar taxonomy. Update hanya dengan bukti, raw source tetap immutable, update index/log, jalankan lint, sync aman, read-back, lalu laporkan file, diff, PASS/FAIL, dan blocker.9. Bangun folder utama dan index section
Gunakan struktur actual, bukan folder wiki generik. Setiap section punya index sendiri agar Dataview dan agent punya entry point stabil.
Struktur vault actual · bashmkdir -p "100 Projects" "200 Context" "300 Decisions" "400 Daily/templates" "500 Resources" touch "000 Index.md" "100 Projects/000 Projects Index.md" "200 Context/000 Context Index.md" "300 Decisions/000 Decisions Index.md" "400 Daily/000 Daily Index.md" "500 Resources/000 Resources Index.md"10. Buat MOC Hermes dan domain context
Gunakan 200 Context/210 hermes-agent/index.md sebagai hub operasional. Hubungkan cron map, session capture, weekly maintenance, sync system, dan note SOP terkait.
MOC Hermes · bashfind "200 Context/210 hermes-agent" -maxdepth 1 -type f -name "*.md" | sort11. Pasang template dan frontmatter
Template menjaga note tetap konsisten. Minimum metadata actual: type, status, date atau last-updated, dan tags.
Template dan metadata · bashfind "400 Daily/templates" -maxdepth 1 -type f -name "*.md" | sort12. Terapkan aturan capture harian
Session Capture bukan transcript backup. Ia membaca scope yang ditentukan, deduplicate, menempatkan hasil ke Daily/Projects/Context/Decisions/Resources, lalu sync dan read-back.
Prompt daily scope · textJalankan daily session capture secara curated. Baca sumber sesi yang sudah dikonfigurasi pengguna. Skip noise, sesi turunan, tool output, chit-chat, dan retry kecil. Simpan hanya keputusan, progress, root cause, SOP, perubahan config non-secret, blocker, dan next step. Deduplicate sebelum append. Jika tidak ada perubahan bermakna, output tepat [SILENT]. Setelah edit, update metadata, sync, baca kembali file, dan laporkan maksimal 6 bullet.13. Jalankan weekly maintenance actual
Weekly job memelihara hygiene vault, MOC, index, dan wikilink. Raw source immutable; file JSON di raw ditulis sebagai backtick path, bukan wikilink.
Prompt weekly audit · textJalankan weekly LLM Wiki maintenance. Baca SCHEMA atau convention note, index utama, MOC Hermes, dan 20 entri terakhir log. Audit note 7 hari terakhir, broken wikilink, orphan, missing index entry, duplicate, source drift, stale content, contradiction, page size, tag taxonomy, dan escaped table pipe false-positive. Patch hanya dengan bukti, update MOC/index dan last-updated, append log, jangan sentuh raw source, secret, atau executable cron. Sync dan read-back; output [SILENT] bila tidak ada perubahan.14. Verifikasi parity Mac primary dan VPS
Mac mini tetap source of truth. VPS hanya pull gateway. Verifikasi manifest/count setelah sync tanpa menyamakan konfigurasi .obsidian yang path-specific.
Prompt parity check · textVerifikasi parity vault Mac primary dan VPS secara read-only. Pastikan content notes, index, MOC, template, dan metadata terbaru terbaca di target; kecualikan .obsidian workspace state dan .trash. Bandingkan manifest atau checksum bila tersedia. Jangan push balik dari VPS, jangan menghapus target, dan laporkan READBACK_OK hanya bila hasil bisa dibaca kembali.
Batas aman: vault bukan database runtime, VPS bukan sumber kebenaran, dan cron tidak boleh menghapus .obsidian tanpa aturan eksplisit. Mulai dari satu file uji, jalankan sync manual, baca kembali hasilnya, baru jadwalkan.
Pola Karpathy LLM Wiki diterapkan di atas struktur vault operasional: 000 Index.md sebagai dashboard, 100 Projects/ untuk project, 200 Context/ untuk SOP dan konteks reusable, 300 Decisions/ untuk keputusan final, 400 Daily/ untuk capture harian, dan 500 Resources/ untuk referensi. Raw source tetap immutable; synthesis masuk ke atomic note dan MOC dengan explicit wikilink.
Daily capture membaca sumber sesi yang dikonfigurasi pengguna. Ia memfilter noise, sesi turunan, transcript mentah, percakapan tanpa outcome, dan retry kecil. Ia hanya menyimpan keputusan, progress, root cause, SOP reusable, config non-secret, blocker, dan next action; jika tidak ada outcome, output [SILENT].
Failure policy: bila Mac mini atau jaringan gagal, VPS tidak menjadi sumber kebenaran dan job berhenti tanpa menghapus vault. Bila write gagal, pertahankan file lama, simpan backup, laporkan blocker, lalu lakukan read-back setelah retry. Rollback berarti pulihkan backup terakhir yang tervalidasi, bukan menimpa vault dengan salinan parsial. Weekly maintenance tidak mengubah raw source, secret, atau executable cron.
Sesuaikan nama host, path, dan script dengan instalasi sendiri. Dokumentasi Hermes Agent: https://hermes-agent.nousresearch.com/docs
