このサイトはWebfile便で作成しました利用はこちら
HHIROTO Zettelkasten

Git-backed Personal Knowledge OS

HirotoZettelkasten.

原文は dagnetz に残し、判断は llm-wiki に重ね、手順は Skill に外付けする。検索エンジンではなく、壊さない知識OS。

5,264dagnetz Markdown
5,234LifeLogs 音声台帳
170llm-wiki ページ / 11ジャンル
5,034Wikiが参照するソース

01 — INTENT

原文は残す。判断は重ねる。

AIは確定した過去ノートを書き換えない。動いてよいのは、今日のノート、Wiki、日記、公開HTML、Skill だけ。

0

フォルダ分類しない

テーマ別ディレクトリを増やさない。置く場所は日付。意味は prefix とタグ。

1

翌日は読み取り専用

訂正は今日の新規ノートへ加算し、元ノートへリンクする。

3

層を混ぜない

RAW / Wiki / Schema。日記は eternal-daily。Skill は手順。Issue は実行。

WHY — なぜこの二層か

思考は不可逆。
知識はコンパイルする。

フォルダ分けしたObsidianでも、質問のたびにRAGしても足りない。dagnetzは「思考の変化」を残す川。llm-wikiは「つなぎ直した知識」を育てる湖。二つは役割が違うから、分けて持つ。

why two layers exist REJECT A overwrite the past edit yesterday = lose the delta no alter-ego timeline CHOOSE A dagnetz DAG + Netz time is one-way new thought = new note REJECT B RAG every question no accumulation re-discover 5 docs each time CHOOSE B llm-wiki compile compile once, keep current LLM does bookkeeping

なぜ 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 はここを読んでも書かない。

dagnetz = date folder + prefix + immutability No topic folders. Next day becomes read-only. Corrections are additive notes. INYouTube / Web INLINE memo INVoice / logs INHuman note TODAY ONLYYYYY / MM / DDone directoryno taxonomy 📙 literature 📓 daily 📗 / 📘 / ✅ 💿 / 🖼️ / ⚙️ NEXT DAYimmutableread-onlyfix = new note path: dagnetz/2026/08/19/📙title.md wikilink is filename-based. Date folders are storage, not navigation.

📙 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 のたびに既存 📕 へ統合する。三層を混ぜると、原文が消え、カタログが腐る。

llm-wiki three layers ingest compiles upward. query reads downward. dagnetz stays immutable. LAYER 1 / RAW dagnetz immutable sources 📙 📓 📗 ✅ 💿 read only for Wiki 5,264 md LAYER 2 / WIKI 📕 pages 1 concept = 1 page 11 genres cross-links required 170 pages LAYER 3 / SCHEMA index / log index.md catalog sources.md inventory log.md actions taxonomy + lint ingest: skip empty daily logs → update 📕 → refresh index/sources/log once query: index → genre index → 📕 pages → cite [[📕name]]. File only costly answers.

ingest

ソースを読み、ジャンル判定し、新規/更新/分割を決める。dagnetz は変更しない。

query

全体index → ジャンルindex → ページ。回答に [[📕ページ名]] を残す。

lint

孤立、矛盾、陳腐化、リンク不足。修正は許可後。カタログと本文をずらさない。

04 — SKILL 管理

手順は、頭の外に置く。

Skill はプロンプト集ではない。必要な時だけ読む薄い入口と、原文のまま残す厚い辞書。お願い層であり、破壊的操作はハーネス側で止める。

Skill = thin door + thick references Load on trigger. Do not dump every skill. Patch when the procedure drifts. 1 TRIGGERuser phraseliterature / ingest 2 LOADskill_viewSKILL.md only 3 DEEPENreferences/on demand 4 ACTscripts + gitowned files only CANON SKILLSdagnetz-literaturemetaphor-llm-wikieternal-daily-diary / STT RULEthin entry, thick sourceno wild installask layer ≠ force layer IMPROVEskill_manage patchMemory keeps prefsCron reuses the skill

SKILL.md

いつ使うか、手順、禁止、完了条件だけ。毎回全部読ませない。

~/.hermes/skills/<name>/SKILL.md

references / scripts

根拠文書は要約せず原文。迷った1ファイルだけ読む。実行は scripts。

更新契約

手順が古くなったらその場で patch。Memory に作業ログを溜めない。反復は Cron。

野良Skill禁止

外部Skillは読んで要件だけ抜き、自分の権限境界で再実装する。

05 — VOICE

話し言葉を、一日の台帳に。

WAV はクラウドSTTに出さない。1ファイル1回だけローカル Whisper small。全文はアーカイブ、要約だけが日記へ戻る。

01

発見

F:\RECORD\*.WAV。録音中15分以内は触らない。

02

前処理

ffmpeg で denoise / 無音除去 / 16kHz mono。

03

STT 1回

faster-whisper small int8。txt があれば再実行しない。

04

保全

全文を書いてから WAV を E:\2026\日付 へ移動。

05

蒸留

dagnetz/daily 台帳と eternal 約200字。全文は出さない。

夜間は Hermes cron lifelog-record-stt-daily(01:00 JST)。朝の GHA は別系統で、古い LifeLogs/ から雑誌調サマリーを書く。

06 — GITHUB ACTIONS

朝に、機械が川へ流す。

5本。Secret はランタイム注入のみ。時刻は cron 実体(UTC)から JST 換算。

WorkflowJST入力出力
Daily Memo Import05:00前日JSTの LINE/URL📓YYYYMMDD_line_memo.md
Daily Gemini Log Process05:30Gemini 作業ログdagnetz 知識ノート
Daily LifeLog Summary06:00LifeLogs 前日分雑誌調サマリー
Daily Codex Log Process06:30Codex 作業ログdagnetz 知識ノート
Copy note to hiroto手動指定 blob URL別リポジトリの共有コピー

LINEメモ収集の詳細図

07 — 連携

登録と ingest は、入口が違う。

Hermes は1件を正確に置く。GHA は定時で川を増やす。Wiki は「統合して」のときだけ蒸留する。

A. Hermes 文献登録

  1. 「dagnetz literature YouTube / Web <URL>」
  2. git pull --ff-only
  3. 字幕または本文を読む
  4. 当日 📙タイトル.md
  5. 対象ファイルだけ commit / 40桁SHA

B. 日記・録音

  1. 日記は 1000-eternal-daily/📓MMDD.md
  2. 画像は Attachments-📓MMDD
  3. 録音は 01:00 cron または明示実行
  4. 全文は E:、要約だけ日記
  5. dagnetz 本文に日記を書かない

C. llm-wiki ingest

  1. 「llm-wiki ingest <path>」
  2. 空の日次ログはスキップ
  3. ジャンル判定 → 既存📕
  4. 横断知見 / 未解決の問いを更新
  5. index / sources / log を一度だけ更新

D. Skill 経由の実行

  1. 依頼文で該当 Skill を特定
  2. skill_view で入口を読む
  3. 必要なら references を1件だけ
  4. scripts で生成・検査・公開
  5. 手順が古ければその場で 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       # 中身は非掲載