Git-backed Personal Knowledge OS
HirotoZettelkasten.
原文は dagnetz に残し、判断は llm-wiki に重ね、手順は Skill に外付けする。検索エンジンではなく、壊さない知識OS。
01 — INTENT
原文は残す。判断は重ねる。
AIは確定した過去ノートを書き換えない。動いてよいのは、今日のノート、Wiki、日記、公開HTML、Skill だけ。
フォルダ分類しない
テーマ別ディレクトリを増やさない。置く場所は日付。意味は prefix とタグ。
翌日は読み取り専用
訂正は今日の新規ノートへ加算し、元ノートへリンクする。
層を混ぜない
RAW / Wiki / Schema。日記は eternal-daily。Skill は手順。Issue は実行。
WHY — なぜこの二層か
思考は不可逆。
知識はコンパイルする。
フォルダ分けしたObsidianでも、質問のたびにRAGしても足りない。dagnetzは「思考の変化」を残す川。llm-wikiは「つなぎ直した知識」を育てる湖。二つは役割が違うから、分けて持つ。
なぜ dagnetz か
DAG(有向非巡回)+ Netz(網)。時間は戻らない。過去ノートを直すと、過去の自分と今の差分が消える。だから日付ディレクトリに積み、分類フォルダを作らず、リンクと prefix で再発見する。
出典: 📙Dagnetz式(2025-11-24) / ⚙️編集制限・分類禁止
なぜ上書きしないか
目指すのは完成知識の保管ではない。変化する思考の保存。アルターエゴを作るなら、訂正履歴そのものが素材になる。日記と知識は混ぜない。
出典: 📙Dagnetz式 / 📙原初のZettelkasten / 📕Dagnetzの不可逆ノート運用
なぜ llm-wiki か
RAGは質問のたびに断片を拾い直す。蓄積しない。Karpathyの型は、LLMを応答器ではなく知識コンパイラにする。人間はソース選定と問い。LLMは要約・横断リンク・矛盾記録・index保守。
出典: 📙llm-wiki / 📙Karpathy LLM Knowledge Base / 📗llm-wiki導入
なぜ二つ要るか
dagnetzは正本。Wikiは派生。導入メモは「Dagnetz式を尊重し /raw として扱う」。Wikiから過去ノートへ書き戻さない。川(履歴)と湖(統合)を同じ箱に入れると、原文もカタログも壊れる。
出典: 📗llm-wiki導入(2026-05-02) / 📕LLM Wiki
02 — DAGNETZ
分類しない時系列が、原本。
すべての新規ノートは dagnetz/YYYY/MM/DD/。内容で箱を切らない。翌日以降は immutable RAW。llm-wiki はここを読んでも書かない。
📙 literature
YouTube / Web / X。主張・根拠・逆説を日本語で再構成。Hermes が当日ディレクトリへ書く。
📓 daily
line_memo / codex-log / dashboard。機械生成が多く、Wiki化は概念が残るときだけ。
✅ TDL
ローカルノートと GitHub Issue。予約番号などの個人情報は Issue に置かない。
⚙️ 契約
編集制限・prefix・分類禁止。エージェントは AGENTS.md と Skill で同じ契約を読む。
03 — LLM-WIKI 三層
川を、複利の湖にする。
RAGのように毎回原文を探さない。ingest のたびに既存 📕 へ統合する。三層を混ぜると、原文が消え、カタログが腐る。
ingest
ソースを読み、ジャンル判定し、新規/更新/分割を決める。dagnetz は変更しない。
query
全体index → ジャンルindex → ページ。回答に [[📕ページ名]] を残す。
lint
孤立、矛盾、陳腐化、リンク不足。修正は許可後。カタログと本文をずらさない。
04 — SKILL 管理
手順は、頭の外に置く。
Skill はプロンプト集ではない。必要な時だけ読む薄い入口と、原文のまま残す厚い辞書。お願い層であり、破壊的操作はハーネス側で止める。
SKILL.md
いつ使うか、手順、禁止、完了条件だけ。毎回全部読ませない。
~/.hermes/skills/<name>/SKILL.mdreferences / scripts
根拠文書は要約せず原文。迷った1ファイルだけ読む。実行は scripts。
更新契約
手順が古くなったらその場で patch。Memory に作業ログを溜めない。反復は Cron。
野良Skill禁止
外部Skillは読んで要件だけ抜き、自分の権限境界で再実装する。
05 — VOICE
話し言葉を、一日の台帳に。
WAV はクラウドSTTに出さない。1ファイル1回だけローカル Whisper small。全文はアーカイブ、要約だけが日記へ戻る。
発見
F:\RECORD\*.WAV。録音中15分以内は触らない。
前処理
ffmpeg で denoise / 無音除去 / 16kHz mono。
STT 1回
faster-whisper small int8。txt があれば再実行しない。
保全
全文を書いてから WAV を E:\2026\日付 へ移動。
蒸留
dagnetz/daily 台帳と eternal 約200字。全文は出さない。
夜間は Hermes cron lifelog-record-stt-daily(01:00 JST)。朝の GHA は別系統で、古い LifeLogs/ から雑誌調サマリーを書く。
06 — GITHUB ACTIONS
朝に、機械が川へ流す。
5本。Secret はランタイム注入のみ。時刻は cron 実体(UTC)から JST 換算。
| Workflow | JST | 入力 | 出力 |
|---|---|---|---|
| Daily Memo Import | 05:00 | 前日JSTの LINE/URL | 📓YYYYMMDD_line_memo.md |
| Daily Gemini Log Process | 05:30 | Gemini 作業ログ | dagnetz 知識ノート |
| Daily LifeLog Summary | 06:00 | LifeLogs 前日分 | 雑誌調サマリー |
| Daily Codex Log Process | 06:30 | Codex 作業ログ | dagnetz 知識ノート |
| Copy note to hiroto | 手動 | 指定 blob URL | 別リポジトリの共有コピー |
07 — 連携
登録と ingest は、入口が違う。
Hermes は1件を正確に置く。GHA は定時で川を増やす。Wiki は「統合して」のときだけ蒸留する。
A. Hermes 文献登録
- 「dagnetz literature YouTube / Web <URL>」
git pull --ff-only- 字幕または本文を読む
- 当日
📙タイトル.md - 対象ファイルだけ commit / 40桁SHA
B. 日記・録音
- 日記は
1000-eternal-daily/📓MMDD.md - 画像は Attachments-📓MMDD
- 録音は 01:00 cron または明示実行
- 全文は E:、要約だけ日記
- dagnetz 本文に日記を書かない
C. llm-wiki ingest
- 「llm-wiki ingest <path>」
- 空の日次ログはスキップ
- ジャンル判定 → 既存📕
- 横断知見 / 未解決の問いを更新
- index / sources / log を一度だけ更新
D. Skill 経由の実行
- 依頼文で該当 Skill を特定
skill_viewで入口を読む- 必要なら references を1件だけ
- scripts で生成・検査・公開
- 手順が古ければその場で patch
08 — BOUNDARIES
賢さより先に、壊さない。
Immutable RAW
確定 dagnetz は上書き禁止。Wiki と今日のノートだけが動く。
Compile ≠ capture
line_memo を機械的にWiki化しない。概念が残るソースだけ。
One WAV, one STT
再実行は force だけ。MOVE は全文確認後。
Secret isolation
鍵は Secrets / 環境変数。公開HTMLに値を書かない。
Skill はお願い層
手順は Skill、逸脱停止は権限・hook・script。
Commit as receipt
成果物は40桁SHA。短縮や推測リンクは禁止。
DIRS — 構造だけ
AI関連ワークスペース。
聞かれたのはディレクトリ構造だけ。個人ファイル名・認証は出さない。実測 2026-08-20。
zettelkasten/ ├── dagnetz/ │ ├── 2025/ │ ├── 2026/01 … 08/ │ │ └── DD/ 📙 📗 📓 ✅ 🌐 … │ └── daily/ ├── llm-wiki/ │ ├── index.md │ └── <genre>/ │ ├── 📕*.md │ ├── index.md │ ├── sources.md │ └── log.md │ genres: │ ai-agent-workflow │ ai-llm-research │ dev-environment-tools │ information-technology │ learning-notes │ personal-lifelog │ pkm-zettelkasten │ product-apps │ story-media │ web-publishing-content │ work-business ├── 1000-eternal-daily/ │ ├── 📓MMDD.md │ └── Attachments-box/ ├── LifeLogs/ ├── scripts/ ├── .github/workflows/ │ ├── daily_memo_import.yml │ ├── daily_gemini_log_process.yml │ ├── daily_lifelog_summary.yml │ ├── daily_codex_log_process.yml │ └── copy-to-hiroto.yml ├── metaphor_home/ │ ├── articles.json │ └── tanka.json └── skills/ # vault側の薄い写し
~/.hermes/ # エージェント実行側 ├── skills/ │ ├── dagnetz-literature/ │ ├── metaphor-llm-wiki/ │ ├── eternal-daily-diary/ │ ├── metaphor-home-manager/ │ ├── media/ │ ├── hyperframes*/ │ ├── github/ │ ├── web-publishing/ │ └── … ├── workspace/ │ ├── lifelog-stt/ │ ├── loops/ │ ├── videos/ │ └── weekly-report/ ├── cron/ ├── memories/ ├── scripts/ └── sessions/
~/.openclaw/ # OpenClaw 本体 ├── workspace/ │ ├── zettelkasten/ # 左の木 │ ├── develop/ │ ├── skills/ │ ├── cron/ │ ├── docs/ │ ├── AGENTS.md │ └── SOUL.md ├── skills/ │ ├── hyperframes*/ │ └── media-use/ ├── agents/ ├── cron/ ├── memory/ ├── logs/ ├── media/ └── openclaw.json # 中身は非掲載