commit bfcbbd288162f69d031c5dfa1fb9f009290d9371 Author: Dustin-Mike Jens Hähnel Date: Sun Jul 19 21:49:30 2026 +0200 📦 Erster Sync via Git diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..639b90d --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,33 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "footnotes": false, + "properties": true, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": true, + "bases": true, + "webviewer": false +} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..42a46ec --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": true, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": true, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1, + "close": true +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json new file mode 100644 index 0000000..1fd0494 --- /dev/null +++ b/.obsidian/workspace.json @@ -0,0 +1,224 @@ +{ + "main": { + "id": "5d69beed1e978e66", + "type": "split", + "children": [ + { + "id": "b356775aecd76d7b", + "type": "tabs", + "children": [ + { + "id": "6b81c26511b53323", + "type": "leaf", + "state": { + "type": "bases", + "state": { + "file": "Brain/bases/people.base", + "viewName": "Active" + }, + "icon": "lucide-table", + "title": "people" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "12fdb02c9d7df9e9", + "type": "split", + "children": [ + { + "id": "32cd651b5df1609f", + "type": "tabs", + "children": [ + { + "id": "096d9a0da9350c34", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "Dateiexplorer" + } + }, + { + "id": "8cada5a479a8167c", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Suchen" + } + }, + { + "id": "443318f7ae90e4cb", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Lesezeichen" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "c6368615a4830f86", + "type": "split", + "children": [ + { + "id": "8c9e20d0bbe902c1", + "type": "tabs", + "children": [ + { + "id": "03ef770332aaead5", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "file": "Brain/_BRAIN.md", + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "Rückverweise auf _BRAIN" + } + }, + { + "id": "50d939e3d8ed3793", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "file": "Brain/_BRAIN.md", + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Ausgehende Links von _BRAIN öffnen" + } + }, + { + "id": "5e90c77ed62d4cf3", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "Tags" + } + }, + { + "id": "b598048c0eebe9db", + "type": "leaf", + "state": { + "type": "all-properties", + "state": { + "sortOrder": "frequency", + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-archive", + "title": "Alle Eigenschaften" + } + }, + { + "id": "74ca9809f2a2ff9a", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "Brain/_BRAIN.md", + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "Gliederung von _BRAIN" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Schnellauswahl öffnen": false, + "graph:Graph-Ansicht öffnen": false, + "canvas:Neuen Canvas erstellen": false, + "daily-notes:Heutige Notiz öffnen": false, + "templates:Vorlage einfügen": false, + "command-palette:Befehlspalette öffnen": false, + "bases:Neue Base erstellen": false + } + }, + "active": "6b81c26511b53323", + "lastOpenFiles": [ + "Brain/log/2026-07-18.a0360993.md", + "Brain/log/2026-07-18.a0360993.jsonl", + "Brain/preferences/pref-vps-plan-august-2026.md", + "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md", + "Brain/log/2026-07-17.a0360993.md", + "Brain/log/2026-07-17.a0360993.jsonl", + "Brain/_BRAIN.md", + "Brain/inbox/sig-2026-07-16-auto-brain-load.md", + "Brain/inbox/sig-2026-07-12-ehrliches-feedback-wird-geschaetzt.md", + "Brain/inbox/sig-2026-07-12-creative-ai-collaboration.md", + "Brain/inbox/sig-2026-07-09-save-more-often.md", + "Brain/inbox/sig-2026-07-09-brain-index.md", + "Brain/inbox/sig-2026-07-09-meriting-ai-personal.md", + "Brain/preferences/pref-brain-index.md", + "Brain/log/2026-07-10.a0360993.md", + "Brain/log/2026-07-13.a0360993.md", + "Wave Survivors - GDD.md", + "Projects/Wave Survivors - Tech Stack.md", + "Templates/analysis_options_README.md", + "Notizen/Slash-Commands.md", + "Brain/pinned.md", + "Brain/INDEX.md", + "Brain/active.md", + "Brain/preferences/pref-save-more-often.md", + "Brain/preferences/pref-meriting-ai-personal.md", + "Brain/log/2026-07-09.a0360993.md", + "Brain/bases/tasks.base", + "Brain/bases/projects.base", + "Brain/bases/people.base", + "Brain/bases/daily.base", + "Brain/preferences/pref-default-model-deepseek.md", + "Brain/inbox/sig-2026-07-12-default-model-deepseek.md", + "Projects", + "Brain/log/2026-07-10.a0360993.jsonl", + "Brain/log.lock", + "Notizen" + ] +} \ No newline at end of file diff --git a/.open-second-brain/brain.sqlite b/.open-second-brain/brain.sqlite new file mode 100644 index 0000000..de4e115 Binary files /dev/null and b/.open-second-brain/brain.sqlite differ diff --git a/.open-second-brain/brain.sqlite-shm b/.open-second-brain/brain.sqlite-shm new file mode 100644 index 0000000..fe9ac28 Binary files /dev/null and b/.open-second-brain/brain.sqlite-shm differ diff --git a/.open-second-brain/brain.sqlite-wal b/.open-second-brain/brain.sqlite-wal new file mode 100644 index 0000000..e69de29 diff --git a/Brain/.artifacts/run-1145-mrqvvjdc/e8bc0fd7b72f644c.json b/Brain/.artifacts/run-1145-mrqvvjdc/e8bc0fd7b72f644c.json new file mode 100644 index 0000000..b94a76e --- /dev/null +++ b/Brain/.artifacts/run-1145-mrqvvjdc/e8bc0fd7b72f644c.json @@ -0,0 +1,80 @@ +{ + "items": [ + { + "body": "", + "epistemic": "observed", + "id": "pref-vps-plan-august-2026", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-vps-plan-august-2026.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-tts-german-writing", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-tts-german-writing.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-check-system-time", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-check-system-time.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-auto-brain-load", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-auto-brain-load.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-default-model-deepseek", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-default-model-deepseek.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-meriting-ai-personal", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-meriting-ai-personal.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-brain-index", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-brain-index.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-save-more-often", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-save-more-often.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + } + ], + "max_tokens": 1024, + "skipped": [], + "tokens_used": 0, + "vault_path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes" +} \ No newline at end of file diff --git a/Brain/.artifacts/run-1207-mrqw73j4/c5f549c9943e6647.json b/Brain/.artifacts/run-1207-mrqw73j4/c5f549c9943e6647.json new file mode 100644 index 0000000..3af3f66 --- /dev/null +++ b/Brain/.artifacts/run-1207-mrqw73j4/c5f549c9943e6647.json @@ -0,0 +1,104 @@ +{ + "items": [ + { + "body": "## Origin\n\n- [[sig-2026-07-18-vps-plan-august-2026]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-18-vps-plan-august-2026]]" + ], + "id": "pref-vps-plan-august-2026", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-vps-plan-august-2026.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-16-tts-german-writing]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-16-tts-german-writing]]" + ], + "id": "pref-tts-german-writing", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-tts-german-writing.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-16-check-system-time]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-16-check-system-time]]" + ], + "id": "pref-check-system-time", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-check-system-time.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-16-auto-brain-load]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-16-auto-brain-load]]" + ], + "id": "pref-auto-brain-load", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-auto-brain-load.md", + "tier": "supporting", + "tokens": 12, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-12-default-model-deepseek]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-12-default-model-deepseek]]" + ], + "id": "pref-default-model-deepseek", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-default-model-deepseek.md", + "tier": "supporting", + "tokens": 14, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-09-meriting-ai-personal]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-09-meriting-ai-personal]]" + ], + "id": "pref-meriting-ai-personal", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-meriting-ai-personal.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-09-brain-index]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-09-brain-index]]" + ], + "id": "pref-brain-index", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-brain-index.md", + "tier": "supporting", + "tokens": 11, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-09-save-more-often]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-09-save-more-often]]" + ], + "id": "pref-save-more-often", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-save-more-often.md", + "tier": "supporting", + "tokens": 12, + "trimmed": false + } + ], + "max_tokens": 1024, + "skipped": [], + "tokens_used": 101, + "vault_path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes" +} \ No newline at end of file diff --git a/Brain/.artifacts/run-1207-mrqw73j4/c6497f2f689d463c.json b/Brain/.artifacts/run-1207-mrqw73j4/c6497f2f689d463c.json new file mode 100644 index 0000000..68f69ea --- /dev/null +++ b/Brain/.artifacts/run-1207-mrqw73j4/c6497f2f689d463c.json @@ -0,0 +1,101 @@ +{ + "items": [ + { + "body": "## Origin\n\n- [[sig-2026-07-18-vps-plan-august-2026]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-18-vps-plan-august-2026]]" + ], + "id": "pref-vps-plan-august-2026", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-vps-plan-august-2026.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-16-tts-german-writing]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-16-tts-german-writing]]" + ], + "id": "pref-tts-german-writing", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-tts-german-writing.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-16-check-system-time]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-16-check-system-time]]" + ], + "id": "pref-check-system-time", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-check-system-time.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-16-auto-brain-load]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-16-auto-brain-load]]" + ], + "id": "pref-auto-brain-load", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-auto-brain-load.md", + "tier": "supporting", + "tokens": 12, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-default-model-deepseek", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-default-model-deepseek.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-09-meriting-ai-personal]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-09-meriting-ai-personal]]" + ], + "id": "pref-meriting-ai-personal", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-meriting-ai-personal.md", + "tier": "supporting", + "tokens": 13, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-09-brain-index]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-09-brain-index]]" + ], + "id": "pref-brain-index", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-brain-index.md", + "tier": "supporting", + "tokens": 11, + "trimmed": false + }, + { + "body": "## Origin\n\n- [[sig-2026-07-09-save-more-often]]", + "epistemic": "observed", + "evidence_refs": [ + "[[sig-2026-07-09-save-more-often]]" + ], + "id": "pref-save-more-often", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-save-more-often.md", + "tier": "supporting", + "tokens": 12, + "trimmed": false + } + ], + "max_tokens": 1024, + "skipped": [], + "tokens_used": 87, + "vault_path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes" +} \ No newline at end of file diff --git a/Brain/.artifacts/run-1207-mrqw73j4/e8bc0fd7b72f644c.json b/Brain/.artifacts/run-1207-mrqw73j4/e8bc0fd7b72f644c.json new file mode 100644 index 0000000..b94a76e --- /dev/null +++ b/Brain/.artifacts/run-1207-mrqw73j4/e8bc0fd7b72f644c.json @@ -0,0 +1,80 @@ +{ + "items": [ + { + "body": "", + "epistemic": "observed", + "id": "pref-vps-plan-august-2026", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-vps-plan-august-2026.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-tts-german-writing", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-tts-german-writing.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-check-system-time", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-check-system-time.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-auto-brain-load", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-auto-brain-load.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-default-model-deepseek", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-default-model-deepseek.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-meriting-ai-personal", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-meriting-ai-personal.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-brain-index", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-brain-index.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-save-more-often", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-save-more-often.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + } + ], + "max_tokens": 1024, + "skipped": [], + "tokens_used": 0, + "vault_path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes" +} \ No newline at end of file diff --git a/Brain/.artifacts/run-42043-mrpi942z/e8bc0fd7b72f644c.json b/Brain/.artifacts/run-42043-mrpi942z/e8bc0fd7b72f644c.json new file mode 100644 index 0000000..b94a76e --- /dev/null +++ b/Brain/.artifacts/run-42043-mrpi942z/e8bc0fd7b72f644c.json @@ -0,0 +1,80 @@ +{ + "items": [ + { + "body": "", + "epistemic": "observed", + "id": "pref-vps-plan-august-2026", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-vps-plan-august-2026.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-tts-german-writing", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-tts-german-writing.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-check-system-time", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-check-system-time.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-auto-brain-load", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-auto-brain-load.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-default-model-deepseek", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-default-model-deepseek.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-meriting-ai-personal", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-meriting-ai-personal.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-brain-index", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-brain-index.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-save-more-often", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-save-more-often.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + } + ], + "max_tokens": 1024, + "skipped": [], + "tokens_used": 0, + "vault_path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes" +} \ No newline at end of file diff --git a/Brain/.artifacts/run-42043-mrpi942z/f9b39e21aeb74288.json b/Brain/.artifacts/run-42043-mrpi942z/f9b39e21aeb74288.json new file mode 100644 index 0000000..a09b0c2 --- /dev/null +++ b/Brain/.artifacts/run-42043-mrpi942z/f9b39e21aeb74288.json @@ -0,0 +1,71 @@ +{ + "items": [ + { + "body": "", + "epistemic": "observed", + "id": "pref-tts-german-writing", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-tts-german-writing.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-check-system-time", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-check-system-time.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-auto-brain-load", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-auto-brain-load.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-default-model-deepseek", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-default-model-deepseek.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-meriting-ai-personal", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-meriting-ai-personal.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-brain-index", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-brain-index.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + }, + { + "body": "", + "epistemic": "observed", + "id": "pref-save-more-often", + "path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/Brain/preferences/pref-save-more-often.md", + "tier": "supporting", + "tokens": 0, + "trimmed": false + } + ], + "max_tokens": 1024, + "skipped": [], + "tokens_used": 0, + "vault_path": "/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes" +} \ No newline at end of file diff --git a/Brain/INDEX.md b/Brain/INDEX.md new file mode 100644 index 0000000..b116671 --- /dev/null +++ b/Brain/INDEX.md @@ -0,0 +1,133 @@ +--- +kind: brain-index +generated_at: 2026-07-09T16:55Z +maintainer: hermes-main +--- + +# 🧠 Brain-Index – Hermes O2B + +Schnellnavigation durch Dustins Brain-Vault. Wird manuell erweitert. + +--- + +## 📋 Lebensumstände (persönlich) + +| Thema | Fundort | Stand | +|-------|---------|-------| +| **Privatinsolvenz** | Seit März 2026 (OTTO / Mutter) | `session_search("Privatinsolvenz")` | +| **Suizidversuch** | 19.01.2026 – selbst 112 gerufen, 1 Nacht KH, dann ZIP | `session_search("Suizidversuch")` | +| **Medikation** | Venlafaxin – 26.02.26 Start (37,5 mg) → 30.05.26 225 mg | `session_search("Venlafaxin")` | +| **Beste Freundin** | Kontakt abgebrochen, Dustin fühlt sich schlecht | `session_search("Freundin verloren")` | +| **Arbeit** | Freilichtmuseum Molfsee (LMV Jahr100 Haus), Museumsaufsicht | `brain_search("Arbeit Molfsee")` | +| **Adresse** | Helsinkistraße 17, Kiel | `brain_search("Helsinkistraße")` | + +--- + +## 🎯 Präferenzen (Brain Preferences) + +| ID | Regel | Status | +|----|-------|--------| +| `pref-save-more-often` | Proaktives Speichern persönlicher Infos | ✅ Aktiv | +| `pref-brain-index` | INDEX.md pflegen als Schnellnavigation | ✅ Aktiv | +| `pref-meriting-ai-personal` | Persönliches = genauso wichtig wie Code | ✅ Aktiv | + +--- + +## 🛠️ Tools & CLI + +| Tool | Zweck | Version | +|------|-------|---------| +| **OpenCLI** | Browser-Automation, Web-Scraping | v1.8.6 | +| **DuckDuckGo-Search** | Web-Suche (Google-Alternative) | Skill | +| **ripgrep** | Schnelle Text-Suche | - | +| **fzf** | Fuzzy-Finder | - | +| **zoxide** | Smart Directory Navigation | - | +| **lazygit** | Git TUI | - | +| **Claude Code** | Code-Refactoring CLI | v2.1.197 | +| **Supabase CLI** | Backend-as-a-Service | v2.109.1 | +| **Bruno** | API-Testing (offline-first) | v3.5.1 | +| **CrewAI** | Multi-Agent-System | v0.80.0 | + +--- + +## 🎨 Projekte (erweitert) + +| Projekt | Status | Stack | Ort | +|---------|--------|-------|-----| +| **rpg-design** | Neu gestartet | Python + CrewAI | `~/Projects/rpg-design/` | +| **void_runner** | Aktiv (Code Review done) | Flutter + Flame | `~/Projects/void_runner/` | +| **haunted_dorm** | Geplant | Flutter | `~/Projects/haunted_dorm/` | + +### RPG-Design Details +- **Ziel:** 2D RPG mit Rüstungen, Waffen, Stats, Story +- **Agenten:** Game Designer, Balance Expert, Story Writer +- **Start:** `export DEEPSEEK_API_KEY=*** && python src/rpg_design/main.py` +- **Output:** 6 Markdown-Dokumente in `output/` + +--- + +## 🧠 Skills (erweitert) + +| Skill | Zweck | Erstellt | +|-------|-------|----------| +| **honest-advisor** | Ehrliches Feedback statt Ja-Sagen | 2026-07-12 | +| **duckduckgo-search** | Web-Suche ohne Google-Block | 2026-07-12 | +| **personal-relationship** | Persönliche Infos proaktiv speichern | 2026-07-09 | + +--- + +## ⏰ Cron-Jobs + +| Job | Schedule | Zweck | +|-----|----------|-------| +| **Morning Briefing** | Täglich 6:30 Uhr | Kalender, Tasks, Fokus | +| **Weekly Review** | Sonntag 20:00 Uhr | Wochenrückblick | + +--- + +## 📝 Session-Logs + +| Datum | Typ | Ort | +|-------|-----|-----| +| 2026-07-12 | Abend-Session | [[2026-07-12-session]] | +| 2026-07-11 | Projekt-Planung | [[2026-07-11]] | +| 2026-07-09 | Persönliches Gespräch | [[2026-07-09]] | + +--- + +## 🔗 Verlinkungen + +- **Session-Notizen:** `Brain/log/YYYY-MM-DD-session.md` +- **Projekt-Dokumentation:** Siehe jeweilige Projekt-Ordner +- **Skill-Definitionen:** `~/.hermes/skills/` +- **Config-Änderungen:** Siehe Session-Notizen +- **Aktuelle Session:** [[2026-07-12-session]] + +--- + +## ⚙️ Hermes-Konfig + +| Aspekt | Details | +|--------|---------| +| **Profil** | `default` | +| **Kalender** | Apple Kalender – Kalender "Arbeit", "Wegzeit", "Pause" | +| **Skills** | google-workspace, maps, imessage, apple-reminders, uvm. | +| **Brain-Vault** | `/Users/baka/Library/Mobile Documents/iCloud~md~obsidian/Documents/Hermes/` | + +--- + +## 📅 Wichtige Daten + +- **19.01.2026** – Suizidversuch +- **26.02.2026** – Venlafaxin-Beginn +- **März 2026** – Privatinsolvenz +- **02.07.–25.07.2026** – Schichten LMV Jahr100 Haus +- **09.07.2026** – Erstes langes Gespräch über Persönliches, Brain-Index angelegt + +--- + +## 🔍 Suchtipps + +- Persönliches: `session_search("Thema")` durchsucht Gesprächsverlauf +- Frühere Entscheidungen: `brain_search("Thema")` durchsucht Vault +- Preferences: `brain_query(preference="pref-*")` \ No newline at end of file diff --git a/Brain/_BRAIN.md b/Brain/_BRAIN.md new file mode 100644 index 0000000..fff4344 --- /dev/null +++ b/Brain/_BRAIN.md @@ -0,0 +1,168 @@ +--- +kind: brain-manual +vault_name: Hermes +schema_version: 1 +--- + +# Brain — operating manual + +Brain is the observing-memory layer of Open Second Brain. It records what +the user likes and dislikes by watching what they accept and reject, then +distils that into rules the next agent session can read and apply. + +Read this file at the start of every session that may write to the vault. +Cross-reference: `Projects/OpenSecondBrain/Plan` if the vault carries the +design notes. + +## Layout + +``` +Brain/ + _brain.yaml # configuration; hand-editable + _BRAIN.md # this file + inbox/ # raw signals captured during work + processed/ # signals already folded into a preference + preferences/ # active rules (unconfirmed or confirmed) + retired/ # superseded / expired / rebutted / rejected rules + log/ # daily ledger of every state change + bases/ # Obsidian Bases views (projects/people/tasks/daily) + .snapshots/ # pre-`dream` archives for rollback +``` + +`bases/*.base` are native Obsidian structured views over the Brain +collections (entities, obligations, log) — no Dataview plugin required. +They are inert scaffolding: never hand-edit them as a data source. + +The directory a note sits in encodes its lifecycle state. The frontmatter +`status` field duplicates it for convenience. `o2b brain doctor` reports +mismatches. + +## Lifecycle of one preference + +``` +inbox/sig-* dream unconfirmed + (taste signal) ───► (cluster) ───► preferences/pref-* + │ + apply-evidence (applied) ─────┤ + ▼ + confirmed + │ + no evidence within window ───────►│ + rebuttal signals reach threshold ─┤ + stale_evidence_days passed ──────►│ + o2b brain reject ────────────────►▼ + retired/ret-* +``` + +Promotion happens automatically when N positive same-topic signals +accumulate (`_brain.yaml: dream.candidate_threshold`, default 3). First +real-work application flips a preference from `unconfirmed` to +`confirmed`. No human approval step exists in the default loop. + +## When to call `brain_feedback` + +After a taste signal — the user accepted or rejected a stylistic choice, +a structural decision, a tone, a naming convention. + +- Sign: `positive` (user liked it) or `negative` (user pushed back). +- `topic` is the dedup anchor: same `topic` accumulates toward promotion. + Pick a stable, hyphenated slug (`no-internal-abbrev`, not `abbreviations`). +- `principle` is one short imperative sentence — what rule should emerge. +- Skip pure preferences with no action attached, idle banter, and + repeated agreement on a topic that already has an active preference + (the next `dream` run notes the redundancy automatically). + +## When to call `brain_apply_evidence` + +After producing a durable artifact whose form was governed by an active +preference. Two outcomes: + +- `applied` — the artifact followed the rule. +- `violated` — the artifact contradicted it (rare, but record it; the + log keeps both columns). + +The `preference` argument is the wikilink target (`pref-no-internal-abbrev`), +the `artifact` argument is the wikilink to the produced note / file / +PR / message. Confirmation, confidence, and retire eligibility are +recomputed by the next `dream` run from log evidence — there is no +separate "promote" call. + +Apply-evidence is only meaningful for `confirmed` preferences and for +`unconfirmed` ones that the artifact actually exercised. Stay quiet +otherwise — noise drowns the signal. + +## `dream` — the batch pass + +`dream` is the one mutating operation. It is deterministic given inputs +and `--now`. It: + +- groups signals by topic, promotes those that cross the threshold; +- recomputes `applied_count` / `violated_count` / `last_evidence_at` + from `log/`; +- flips first-applied unconfirmed prefs to confirmed; +- retires expired, stale, rebutted, or user-rejected prefs; +- moves consumed signals into `inbox/processed/`; +- archives Brain into `.snapshots/.tar.zst` before mutating; +- appends one summary entry to `log/.md` if anything changed. + +Rerunning `dream` without new inputs is a no-op (including in the log). +Schedule it on a cron with confidence — duplicate runs do not pollute. + +## What NOT to do + +- Do not hand-edit files under `log/` — they are append-only ledgers. + `dream`, `apply-evidence`, `feedback`, and the CLI escape hatches are + the only writers. +- Do not rename preference or signal files. The `id` field is duplicated + in frontmatter to survive `mv`, but slugs are stable for a reason; + changing them breaks every wikilink and every log reference. +- Do not write into `.snapshots/`. `dream` produces archives there; + `o2b brain rollback` consumes them; nothing else touches the directory. +- Do not edit files in `retired/` to undo a retirement. The reason is + preserved on purpose; a rule that should return becomes a new + preference with `supersedes: [[ret-...]]`. +- Brain operations stay scoped to `Brain/`. User-authored notes (daily + journals, etc.) are read-only inputs whose folders are listed in + `_brain.yaml:notes.read_paths`; the agent never writes there. +- Do not invent topics. Reuse an existing topic slug if the rule space + is the same; `dream` collapses near-duplicates only by exact match. + +## Escape hatches + +These are CLI-only, intended for rare manual intervention. Do not call +them as part of normal agent work. + +- `o2b brain reject ` — explicit user-driven retirement. Moves + the preference to `retired/` with reason `user-rejected`. A pinned + preference requires `--yes` and prints a warning. +- `o2b brain rollback ` — restore Brain from a snapshot. + Interactive by default; `--list` enumerates available snapshots. + From v0.10.6 a snapshot ships with a sha256 sidecar manifest so + rollback aborts when the live tree drifted from the snapshot moment; + pass `--force-rollback` to override. +- `o2b brain pin ` / `unpin ` — protect a preference + from automatic retirement (still subject to explicit reject). +- `o2b brain upgrade` — migrate the release-owned files (`_brain.yaml`, + `_BRAIN.md`) forward when a new + open-second-brain version ships. `--dry-run` (default) prints a + per-file plan; `--apply` rewrites the files after taking a snapshot + named `upgrade-`. +- `o2b brain export --format json|llms-txt` — read-only dump of active + preferences (`confirmed | unconfirmed | quarantine`) for backup, + prompt injection, or sharing. + +The full CLI surface is documented in `docs/plans/2026-05-15-brain-observing-memory.md` +section 9; the MCP tool surface mirrors it for the most common verbs +(`brain_feedback`, `brain_apply_evidence`, `brain_dream`, `brain_brief`, +`brain_query`, `brain_doctor`). + +## Reading order for a new agent + +1. This file (`Brain/_BRAIN.md`). +2. `Brain/_brain.yaml` for threshold values currently in effect. +3. `Brain/preferences/` for active rules; `confirmed` first, then + `unconfirmed` (in trial). +4. `Brain/retired/` only when checking why a rule no longer applies. + +Brain is filesystem-first. A `cp -r Brain/` is a complete backup; a +`git diff` shows the exact state delta. Trust the files. diff --git a/Brain/_brain.yaml b/Brain/_brain.yaml new file mode 100644 index 0000000..9e9e3bb --- /dev/null +++ b/Brain/_brain.yaml @@ -0,0 +1,44 @@ +schema_version: 1 + +# Optional. When set, dream runs from a different agent emit a stderr +# warning and a non_primary_agent payload row. The vault should have a +# single dream-running runtime even when it is shared across devices +# via Syncthing. +primary_agent: "hermes-main" + +dream: + candidate_threshold: 3 + unconfirmed_window_days: 14 + contradiction_window_days: 14 + +retire: + stale_evidence_days: 90 + +confidence: + # low_max_applied gates the "low-evidence-confirmed" doctor warning + # and the auto-promotion of unconfirmed preferences to confirmed. + low_max_applied: 2 + # Band thresholds on the numeric confidence_value (Wilson lower + # bound times freshness decay). value >= high_min ⇒ high; + # value >= medium_min ⇒ medium; else low. + medium_min: 0.40 + high_min: 0.75 + +snapshots: + retention_count: 10 + +# Vault-wide exclusion policy. Single source of truth for every +# vault walker (search indexer, scan-inline, future scanners). +# Entries without a slash match a directory name anywhere in the +# tree; entries with a slash match a vault-relative POSIX path +# exactly. Remove the block to fall back to the built-in defaults; +# set ignore_paths to an empty list to disable exclusions entirely. +vault: + ignore_paths: + - .git + - node_modules + - .open-second-brain + - .obsidian + - .trash + - .stversions + - Brain/.snapshots diff --git a/Brain/active.md b/Brain/active.md new file mode 100644 index 0000000..2c0e8b2 --- /dev/null +++ b/Brain/active.md @@ -0,0 +1,18 @@ +--- +kind: brain-active +generated_at: 2026-07-16T20:36:40Z +--- + +# Active Brain Preferences + +Auto-generated by `dream`. Do not edit — changes will be overwritten. + +## Confirmed (7) + +- `pref-auto-brain-load` (scope: memory, confidence: low) — Rufe vor jeder Antwort automatisch brain_context_pack(max_tokens=2000) auf, um relevantes Wissen über Dustin, Projekte und Gewohnheiten zu laden. Speichere nach relevanten Interaktionen proaktiv mit brain_note. +- `pref-brain-index` (scope: memory, confidence: low) — Pflege einen Index im Brain-Vault (Brain/INDEX.md), der als Schnellnavigation dient – mit Kategorien, Querverweisen und Fundorten für alle wichtigen Informationen über Dustin, laufende Projekte, Einstellungen und Lebensumstände. +- `pref-check-system-time` (scope: memory, confidence: low) — Prüfe bei zeitbezogenen Fragen (heute/morgen/Erinnerung/Termin/Uhrzeit) immer die aktuelle Systemzeit via terminal-Befehl `date`, nicht das Session-Start-Datum verwenden. +- `pref-default-model-deepseek` (scope: cost-efficiency, confidence: low) — Nutze als Standard-Modell DeepSeek V4 Flash, nicht Qwen Max. Qwen Max nur auf explizite Anforderung oder für extrem komplexe Architektur-Tasks. DeepSeek kostet ~$4/Monat vs Qwen ~$21/Monat bei gleicher Nutzung. +- `pref-meriting-ai-personal` (scope: memory, confidence: low) — Betrachte persönliche Lebensumstände (Gesundheit, Finanzen, Beziehungen, Arbeit, Emotionen) als genauso wichtig wie technische Projekte – speichere sie mit brain_note und greife bei Bedarf mit brain_search darauf zu. Der Mensch steht vor dem Code. +- `pref-save-more-often` (scope: memory, confidence: low) — Speichere wichtige persönliche Informationen, Entscheidungen und Ereignisse proaktiv im Brain-Vault ab – auch ohne explizite Aufforderung. Bei relevanten Gesprächsthemen (Gesundheit, Finanzen, Beziehungen, Arbeit) immer prüfen, ob eine brain_note oder brain_feedback sinnvoll ist. +- `pref-tts-german-writing` (scope: writing, confidence: low) — Schreibe ausschließlich in perfektem Hochdeutsch ohne englische Lautschrift. Schreibe Abkürzungen wie z.B., %, €, usw. immer aus. Vermeide Schachtelsätze – kurze, klare Sätze für optimale TTS-Wiedergabe mit deutschen Vorlesestimmen. diff --git a/Brain/bases/daily.base b/Brain/bases/daily.base new file mode 100644 index 0000000..444f91b --- /dev/null +++ b/Brain/bases/daily.base @@ -0,0 +1,23 @@ +filters: + and: + - file.inFolder("Brain/log") + - file.ext == "md" + - note.kind == "brain-log" +properties: + date: + displayName: Date + tags: + displayName: Tags +views: + - type: table + name: Recent + order: + - date + - file.basename + sort: + - property: file.basename + direction: ASC + direction: DESC + columnSize: {} + - type: calendar + name: Calendar diff --git a/Brain/bases/people.base b/Brain/bases/people.base new file mode 100644 index 0000000..b42feb2 --- /dev/null +++ b/Brain/bases/people.base @@ -0,0 +1,47 @@ +filters: + and: + - file.inFolder("Brain/entities/person") + - file.ext == "md" + - note.kind == "brain-entity" +formulas: + days_since_update: if(updated_at, (today() - date(updated_at)).days, "") +properties: + formula.days_since_update: + displayName: Stale (days) + name: + displayName: Name + role: + displayName: Role + company: + displayName: Company + status: + displayName: Status + tags: + displayName: Tags +views: + - type: table + name: Active + filters: + and: + - status == "active" + order: + - file.basename + - name + - role + - company + - tags + - updated_at + - formula.days_since_update + columnSize: + file.basename: 180 + - type: table + name: All + groupBy: + property: status + direction: ASC + order: + - file.basename + - name + - role + - company + - tags diff --git a/Brain/bases/projects.base b/Brain/bases/projects.base new file mode 100644 index 0000000..07ac695 --- /dev/null +++ b/Brain/bases/projects.base @@ -0,0 +1,59 @@ +filters: + and: + - file.inFolder("Brain/entities/project") + - file.ext == "md" + - note.kind == "brain-entity" +formulas: + status_icon: if(status == "active", "🟢", if(status == "archived", "📦", "❔")) + days_since_update: if(updated_at, (today() - date(updated_at)).days, "") +properties: + formula.status_icon: + displayName: " " + formula.days_since_update: + displayName: Stale (days) + name: + displayName: Name + status: + displayName: Status + tags: + displayName: Tags + source_agent: + displayName: Source + confidence: + displayName: Confidence +views: + - type: table + name: Active + filters: + and: + - status == "active" + order: + - formula.status_icon + - file.basename + - name + - tags + - updated_at + - formula.days_since_update + columnSize: + formula.status_icon: 40 + file.basename: 200 + - type: table + name: Archived + filters: + and: + - status == "archived" + order: + - file.basename + - name + - tags + - updated_at + - type: table + name: All + groupBy: + property: status + direction: ASC + order: + - formula.status_icon + - file.basename + - name + - updated_at diff --git a/Brain/bases/tasks.base b/Brain/bases/tasks.base new file mode 100644 index 0000000..ecdccb7 --- /dev/null +++ b/Brain/bases/tasks.base @@ -0,0 +1,42 @@ +filters: + and: + - file.inFolder("Brain/obligations") + - file.ext == "md" +formulas: + days_until_due: if(next_due, (date(next_due) - today()).days, "") + overdue: if(next_due, (today() - date(next_due)).days > 0, false) +properties: + formula.overdue: + displayName: Overdue + formula.days_until_due: + displayName: Due in (days) + title: + displayName: Title + cadence: + displayName: Cadence + next_due: + displayName: Next due + last_done: + displayName: Last done + agent: + displayName: Owner +views: + - type: table + name: Upcoming + order: + - formula.overdue + - next_due + - title + - cadence + - formula.days_until_due + columnSize: + file.basename: 200 + title: 240 + - type: table + name: All + order: + - next_due + - title + - cadence + - last_done + - agent diff --git a/Brain/inbox/sig-2026-07-09-brain-index.md b/Brain/inbox/sig-2026-07-09-brain-index.md new file mode 100644 index 0000000..f55c9ec --- /dev/null +++ b/Brain/inbox/sig-2026-07-09-brain-index.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-09-brain-index +created_at: "2026-07-09T16:55:03Z" +tags: [brain, brain/signal, brain/topic/brain-index, brain/scope/memory] +topic: brain-index +signal: positive +agent: hermes-main +principle: "Pflege einen Index im Brain-Vault (Brain/INDEX.md), der als Schnellnavigation dient – mit Kategorien, Querverweisen und Fundorten für alle wichtigen Informationen über Dustin, laufende Projekte, Einstellungen und Lebensumstände." +scope: memory +--- diff --git a/Brain/inbox/sig-2026-07-09-meriting-ai-personal.md b/Brain/inbox/sig-2026-07-09-meriting-ai-personal.md new file mode 100644 index 0000000..066c648 --- /dev/null +++ b/Brain/inbox/sig-2026-07-09-meriting-ai-personal.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-09-meriting-ai-personal +created_at: "2026-07-09T16:55:04Z" +tags: [brain, brain/signal, brain/topic/meriting-ai-personal, brain/scope/memory] +topic: meriting-ai-personal +signal: positive +agent: hermes-main +principle: "Betrachte persönliche Lebensumstände (Gesundheit, Finanzen, Beziehungen, Arbeit, Emotionen) als genauso wichtig wie technische Projekte – speichere sie mit brain_note und greife bei Bedarf mit brain_search darauf zu. Der Mensch steht vor dem Code." +scope: memory +--- diff --git a/Brain/inbox/sig-2026-07-09-save-more-often.md b/Brain/inbox/sig-2026-07-09-save-more-often.md new file mode 100644 index 0000000..9498473 --- /dev/null +++ b/Brain/inbox/sig-2026-07-09-save-more-often.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-09-save-more-often +created_at: "2026-07-09T16:55:02Z" +tags: [brain, brain/signal, brain/topic/save-more-often, brain/scope/memory] +topic: save-more-often +signal: positive +agent: hermes-main +principle: "Speichere wichtige persönliche Informationen, Entscheidungen und Ereignisse proaktiv im Brain-Vault ab – auch ohne explizite Aufforderung. Bei relevanten Gesprächsthemen (Gesundheit, Finanzen, Beziehungen, Arbeit) immer prüfen, ob eine brain_note oder brain_feedback sinnvoll ist." +scope: memory +--- diff --git a/Brain/inbox/sig-2026-07-12-creative-ai-collaboration.md b/Brain/inbox/sig-2026-07-12-creative-ai-collaboration.md new file mode 100644 index 0000000..57cdd5f --- /dev/null +++ b/Brain/inbox/sig-2026-07-12-creative-ai-collaboration.md @@ -0,0 +1,10 @@ +--- +kind: brain-signal +id: sig-2026-07-12-creative-ai-collaboration +created_at: "2026-07-12T16:47:47Z" +tags: [brain, brain/signal, brain/topic/creative-ai-collaboration] +topic: creative-ai-collaboration +signal: positive +agent: hermes-main +principle: "When starting creative projects with AI agents, use multi-agent frameworks like CrewAI for structured collaboration between specialized roles (Game Designer, Balance Expert, Story Writer) rather than single-agent iteration" +--- diff --git a/Brain/inbox/sig-2026-07-12-default-model-deepseek.md b/Brain/inbox/sig-2026-07-12-default-model-deepseek.md new file mode 100644 index 0000000..296466d --- /dev/null +++ b/Brain/inbox/sig-2026-07-12-default-model-deepseek.md @@ -0,0 +1,12 @@ +--- +kind: brain-signal +id: sig-2026-07-12-default-model-deepseek +created_at: "2026-07-12T20:50:36Z" +tags: [brain, brain/signal, brain/topic/default-model-deepseek, brain/scope/cost-efficiency] +topic: default-model-deepseek +signal: positive +agent: hermes-main +principle: "Nutze als Standard-Modell DeepSeek V4 Flash, nicht Qwen Max. Qwen Max nur auf explizite Anforderung oder für extrem komplexe Architektur-Tasks. DeepSeek kostet ~$4/Monat vs Qwen ~$21/Monat bei gleicher Nutzung." +scope: cost-efficiency +source: ["2026-07-12 Rechnung $31.24 vs Limit $10 (313% over limit)"] +--- diff --git a/Brain/inbox/sig-2026-07-12-ehrliches-feedback-wird-geschaetzt.md b/Brain/inbox/sig-2026-07-12-ehrliches-feedback-wird-geschaetzt.md new file mode 100644 index 0000000..b5c2360 --- /dev/null +++ b/Brain/inbox/sig-2026-07-12-ehrliches-feedback-wird-geschaetzt.md @@ -0,0 +1,10 @@ +--- +kind: brain-signal +id: sig-2026-07-12-ehrliches-feedback-wird-geschaetzt +created_at: "2026-07-12T17:33:33Z" +tags: [brain, brain/signal, brain/topic/ehrliches-feedback-wird-geschaetzt] +topic: ehrliches-feedback-wird-geschaetzt +signal: positive +agent: hermes-main +principle: "Dustin schätzt ehrliches Feedback mit Gegenargumenten. Wenn er eine Idee hat, liefert strukturierte Stärken/Risiken/Empfehlung. Er übernimmt oft meine Vorschläge wenn die Argumentation überzeugt." +--- diff --git a/Brain/inbox/sig-2026-07-12-game-design-decisions.md b/Brain/inbox/sig-2026-07-12-game-design-decisions.md new file mode 100644 index 0000000..a02acb3 --- /dev/null +++ b/Brain/inbox/sig-2026-07-12-game-design-decisions.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-12-game-design-decisions +created_at: "2026-07-12T17:39:11Z" +tags: [brain, brain/signal, brain/topic/game-design-decisions, brain/scope/game-design] +topic: game-design-decisions +signal: positive +agent: hermes-main +principle: "Bei Spiel-Design-Entscheidungen: Immer ehrliche Gegenargumente liefern, mehrere Optionen zeigen, dann konkrete Empfehlung. Dustin übernimmt Vorschläge wenn die Argumentation überzeugt, nicht aus Höflichkeit." +scope: game-design +--- diff --git a/Brain/inbox/sig-2026-07-16-auto-brain-load.md b/Brain/inbox/sig-2026-07-16-auto-brain-load.md new file mode 100644 index 0000000..80afa22 --- /dev/null +++ b/Brain/inbox/sig-2026-07-16-auto-brain-load.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-16-auto-brain-load +created_at: "2026-07-16T10:27:24Z" +tags: [brain, brain/signal, brain/topic/auto-brain-load, brain/scope/memory] +topic: auto-brain-load +signal: positive +agent: hermes-main +principle: "Rufe vor jeder Antwort automatisch brain_context_pack(max_tokens=2000) auf, um relevantes Wissen über Dustin, Projekte und Gewohnheiten zu laden. Speichere nach relevanten Interaktionen proaktiv mit brain_note." +scope: memory +--- diff --git a/Brain/inbox/sig-2026-07-16-check-system-time.md b/Brain/inbox/sig-2026-07-16-check-system-time.md new file mode 100644 index 0000000..f966916 --- /dev/null +++ b/Brain/inbox/sig-2026-07-16-check-system-time.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-16-check-system-time +created_at: "2026-07-16T10:36:27Z" +tags: [brain, brain/signal, brain/topic/check-system-time, brain/scope/memory] +topic: check-system-time +signal: positive +agent: hermes-main +principle: "Prüfe bei zeitbezogenen Fragen (heute/morgen/Erinnerung/Termin/Uhrzeit) immer die aktuelle Systemzeit via terminal-Befehl `date`, nicht das Session-Start-Datum verwenden." +scope: memory +--- diff --git a/Brain/inbox/sig-2026-07-16-tts-german-writing.md b/Brain/inbox/sig-2026-07-16-tts-german-writing.md new file mode 100644 index 0000000..7a49a79 --- /dev/null +++ b/Brain/inbox/sig-2026-07-16-tts-german-writing.md @@ -0,0 +1,11 @@ +--- +kind: brain-signal +id: sig-2026-07-16-tts-german-writing +created_at: "2026-07-16T10:48:56Z" +tags: [brain, brain/signal, brain/topic/tts-german-writing, brain/scope/writing] +topic: tts-german-writing +signal: positive +agent: hermes-main +principle: "Schreibe ausschließlich in perfektem Hochdeutsch ohne englische Lautschrift. Schreibe Abkürzungen wie z.B., %, €, usw. immer aus. Vermeide Schachtelsätze – kurze, klare Sätze für optimale TTS-Wiedergabe mit deutschen Vorlesestimmen." +scope: writing +--- diff --git a/Brain/inbox/sig-2026-07-18-vps-plan-august-2026-2.md b/Brain/inbox/sig-2026-07-18-vps-plan-august-2026-2.md new file mode 100644 index 0000000..771e3cc --- /dev/null +++ b/Brain/inbox/sig-2026-07-18-vps-plan-august-2026-2.md @@ -0,0 +1,10 @@ +--- +kind: brain-signal +id: sig-2026-07-18-vps-plan-august-2026-2 +created_at: "2026-07-18T21:38:00Z" +tags: [brain, brain/signal, brain/topic/vps-plan-august-2026] +topic: vps-plan-august-2026 +signal: positive +agent: hermes-main +principle: "VPS-Plan korrigiert: Juli 2026 start RS 1000 G12 (12,79€), ab August Upgrade auf RS 2000 G12 (21,43€). Domain baka-net.de (0,42€/Mo). Guthaben: DeepSeek 20€ + Mistral 30€ + Gemini 10€ = 60€/Mo für 4 Monate, danach Reduktion auf nur Mistral 30€/Mo. Matrix-Server lokal auf Mac für Tests." +--- diff --git a/Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md b/Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md new file mode 100644 index 0000000..3fb0ece --- /dev/null +++ b/Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md @@ -0,0 +1,10 @@ +--- +kind: brain-signal +id: sig-2026-07-18-vps-plan-august-2026 +created_at: "2026-07-18T08:57:47Z" +tags: [brain, brain/signal, brain/topic/vps-plan-august-2026] +topic: vps-plan-august-2026 +signal: positive +agent: hermes-main +principle: "Notiz: VPS/Root Server ab Mitte August 2026. RS 2000 G12 (21,43€/Monat) + Domain .de (0,42€/Monat) + DeepSeek 20€ + Mistral 30€ + Gemini Vision 10€ = ~82€/Monat. Server wird von Hermes eingerichtet mit Schritt-für-Schritt-Freigabe durch Dustin." +--- diff --git a/Brain/log/2026-07-09.a0360993.jsonl b/Brain/log/2026-07-09.a0360993.jsonl new file mode 100644 index 0000000..bb90564 --- /dev/null +++ b/Brain/log/2026-07-09.a0360993.jsonl @@ -0,0 +1,12 @@ +{"ts":"2026-07-09T14:24:07Z","kind":"note","payload":{"text":"Soul.md erstellt im Vault-Root: Dustins Identität, Kommunikationsstil, Werte, Aufgabenbereiche (Flutter, Alltag, Gesellschaft, Hermes-Optimierung, O2B, Recherche). Anrede: Dustin (Spitzname Baka), ich heiße Hermes.","agent":"hermes-main"}} +{"ts":"2026-07-09T14:28:03Z","kind":"note","payload":{"text":".cursorrules mit Soul.md ersetzt (statt Code-Review-Graph). Dustins Persönlichkeitsprofil wird jetzt automatisch in den System Prompt geladen.","agent":"hermes-main"}} +{"ts":"2026-07-09T15:17:09Z","kind":"note","payload":{"text":"Auxiliary Vision eingerichtet: qwen3.5-flash-02-23 über Alibaba als Vision-Modell, Hauptmodell bleibt deepseek-v4-flash via Alibaba. Config in ~/.hermes/config.yaml gespeichert. Graphify auf Void Runner installiert und getestet (2507 Knoten, 3328 Kanten). Soul.md in .cursorrules eingebettet. Slash-Commands-Cheat-Sheet erstellt in Hermes/Notizen/Slash-Commands.md.","agent":"hermes-main"}} +{"ts":"2026-07-09T15:31:54Z","kind":"note","payload":{"text":"Dienstplan Juli 2026 (LMV Jahr100 Haus) in Apple Kalender eingetragen: 18 Arbeitsschichten + 36 Wegzeit-Einträge, keine Pausen. Kalender Arbeit, Wegzeit und Pause existieren bereits.","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:02Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-09-save-more-often]]","topic":"save-more-often","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:03Z","kind":"force-confirmed","payload":{"preference":"[[pref-save-more-often]]","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:03Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-09-brain-index]]","topic":"brain-index","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:04Z","kind":"force-confirmed","payload":{"preference":"[[pref-brain-index]]","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:04Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-09-meriting-ai-personal]]","topic":"meriting-ai-personal","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:05Z","kind":"force-confirmed","payload":{"preference":"[[pref-meriting-ai-personal]]","agent":"hermes-main"}} +{"ts":"2026-07-09T16:55:17Z","kind":"note","payload":{"text":"Dustin teilt persönliche Lebensumstände mit: Privatinsolvenz seit März 2026, Suizidversuch am 19.01.26 (selbst 112 gerufen, eine Nacht KH, dann ZIP), Venlafaxin-Behandlung seit 26.02.26 (aktuell 225 mg). Konflikt mit bester Freundin – fühlt sich schlecht. Wichtiger Moment: bittet um mehr proaktives Speichern von persönlichen Infos im Brain-Vault.","agent":"hermes-main"}} +{"ts":"2026-07-09T17:01:31Z","kind":"apply-evidence","payload":{"preference":"[[pref-brain-index|Pflege einen Index im Brain-Vault (Brain/INDEX.md), der als Schnellnavigation…]]","artifact":"[[Brain/INDEX.md]]","agent":"hermes-main","result":"applied","outcome":"success"}} diff --git a/Brain/log/2026-07-09.a0360993.md b/Brain/log/2026-07-09.a0360993.md new file mode 100644 index 0000000..3ae60a0 --- /dev/null +++ b/Brain/log/2026-07-09.a0360993.md @@ -0,0 +1,64 @@ +--- +kind: brain-log +date: 2026-07-09 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-09 + +## 14:24:07Z — note +- text: Soul.md erstellt im Vault-Root: Dustins Identität, Kommunikationsstil, Werte, Aufgabenbereiche (Flutter, Alltag, Gesellschaft, Hermes-Optimierung, O2B, Recherche). Anrede: Dustin (Spitzname Baka), ich heiße Hermes. +- agent: hermes-main + +## 14:28:03Z — note +- text: .cursorrules mit Soul.md ersetzt (statt Code-Review-Graph). Dustins Persönlichkeitsprofil wird jetzt automatisch in den System Prompt geladen. +- agent: hermes-main + +## 15:17:09Z — note +- text: Auxiliary Vision eingerichtet: qwen3.5-flash-02-23 über Alibaba als Vision-Modell, Hauptmodell bleibt deepseek-v4-flash via Alibaba. Config in ~/.hermes/config.yaml gespeichert. Graphify auf Void Runner installiert und getestet (2507 Knoten, 3328 Kanten). Soul.md in .cursorrules eingebettet. Slash-Commands-Cheat-Sheet erstellt in Hermes/Notizen/Slash-Commands.md. +- agent: hermes-main + +## 15:31:54Z — note +- text: Dienstplan Juli 2026 (LMV Jahr100 Haus) in Apple Kalender eingetragen: 18 Arbeitsschichten + 36 Wegzeit-Einträge, keine Pausen. Kalender Arbeit, Wegzeit und Pause existieren bereits. +- agent: hermes-main + +## 16:55:02Z — feedback +- signal: [[sig-2026-07-09-save-more-often]] +- topic: save-more-often +- sign: positive +- agent: hermes-main + +## 16:55:03Z — force-confirmed +- preference: [[pref-save-more-often]] +- agent: hermes-main + +## 16:55:03Z — feedback +- signal: [[sig-2026-07-09-brain-index]] +- topic: brain-index +- sign: positive +- agent: hermes-main + +## 16:55:04Z — force-confirmed +- preference: [[pref-brain-index]] +- agent: hermes-main + +## 16:55:04Z — feedback +- signal: [[sig-2026-07-09-meriting-ai-personal]] +- topic: meriting-ai-personal +- sign: positive +- agent: hermes-main + +## 16:55:05Z — force-confirmed +- preference: [[pref-meriting-ai-personal]] +- agent: hermes-main + +## 16:55:17Z — note +- text: Dustin teilt persönliche Lebensumstände mit: Privatinsolvenz seit März 2026, Suizidversuch am 19.01.26 (selbst 112 gerufen, eine Nacht KH, dann ZIP), Venlafaxin-Behandlung seit 26.02.26 (aktuell 225 mg). Konflikt mit bester Freundin – fühlt sich schlecht. Wichtiger Moment: bittet um mehr proaktives Speichern von persönlichen Infos im Brain-Vault. +- agent: hermes-main + +## 17:01:31Z — apply-evidence +- preference: [[pref-brain-index|Pflege einen Index im Brain-Vault (Brain/INDEX.md), der als Schnellnavigation…]] +- artifact: [[Brain/INDEX.md]] +- agent: hermes-main +- result: applied +- outcome: success diff --git a/Brain/log/2026-07-10.a0360993.jsonl b/Brain/log/2026-07-10.a0360993.jsonl new file mode 100644 index 0000000..68bab7d --- /dev/null +++ b/Brain/log/2026-07-10.a0360993.jsonl @@ -0,0 +1 @@ +{"ts":"2026-07-10T05:00:21Z","kind":"note","payload":{"text":"Void Runner Code Review abgeschlossen: 6 Test-Failures gefixt, Performance-Optimierungen (Laser-Beam-Loop), Wave-System auf exponentielle Difficulty umgestellt. 341 Tests passing. Commit 01c239a auf main.","agent":"hermes-main"}} diff --git a/Brain/log/2026-07-10.a0360993.md b/Brain/log/2026-07-10.a0360993.md new file mode 100644 index 0000000..bfcce9d --- /dev/null +++ b/Brain/log/2026-07-10.a0360993.md @@ -0,0 +1,11 @@ +--- +kind: brain-log +date: 2026-07-10 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-10 + +## 05:00:21Z — note +- text: Void Runner Code Review abgeschlossen: 6 Test-Failures gefixt, Performance-Optimierungen (Laser-Beam-Loop), Wave-System auf exponentielle Difficulty umgestellt. 341 Tests passing. Commit 01c239a auf main. +- agent: hermes-main diff --git a/Brain/log/2026-07-12-session.md b/Brain/log/2026-07-12-session.md new file mode 100644 index 0000000..88d4eb1 --- /dev/null +++ b/Brain/log/2026-07-12-session.md @@ -0,0 +1,80 @@ +--- +kind: session-log +date: 2026-07-12 +type: evening-session +--- + +# Session-Notiz – 12. Juli 2026 (Abend) + +## 🛠️ Programme installiert + +- **OpenCLI v1.8.6** - Browser-Automation, Web-Scraping +- **DuckDuckGo-Search Skill** - Web-Suche für Hermes +- **CrewAI v0.80.0** - Multi-Agent-System für kollaborative Tasks +- **ripgrep, fzf, zoxide, lazygit** - CLI-Tools für Navigation +- **Claude Code v2.1.197** - Code-Refactoring CLI +- **Supabase CLI v2.109.1** - Backend-as-a-Service +- **Bruno v3.5.1** - API-Testing (offline-first) +- **Patrol + Sentry** - Flutter Testing & Crash-Reporting + +## 💭 Dustin hat gesagt (wichtig) + +- Morgen ist **Geburtstag** (13. Juli), frei, Grillen bei Opa/Oma mit Vater +- **Kein Bock auf Geburtstag** - verständlich nach allem +- Heute bei Kumpel gechillt, Joints gebaut, high + fokussiert +- Bauchprobleme bei der Arbeit (Sonntag), jetzt weg +- **Priorität**: Hobby weitermachen, nicht alleine im Zimmer +- RPG-Design mit CrewAI starten (2D Spiel, Rüstungen, Waffen, Story) + +## 🧠 In den O2B gespeichert + +- [[sig-2026-07-09-save-more-often]] - Proaktives Speichern +- [[sig-2026-07-09-brain-index]] - INDEX.md pflegen +- [[sig-2026-07-09-meriting-ai-personal]] - Persönliches = wichtig +- Session-Log erstellt (diese Datei) +- INDEX.md aktualisiert mit neuen Projekten/Tools + +## 📋 Hermes-Setup Änderungen + +**Config optimiert:** +- Session-Reset aktiviert (480min idle) +- Tool-Loop-Guardrails verschärft (4/6/4 failures) +- Bell-on-Complete an +- Compression-Threshold 0.6 +- Memory-Nudge auf 7 +- Streaming konsistent + +**Cron-Jobs:** +- Morning Briefing: Täglich 6:30 Uhr +- Weekly Review: Sonntag 20:00 Uhr + +**Skills erstellt:** +- `honest-advisor` - Ehrliches Feedback statt Ja-Sagen +- `duckduckgo-search` - Web-Suche ohne Google-Block + +## 🎮 Projekt: RPG-Design mit CrewAI + +**Status:** Projekt angelegt, bereit zum Start + +**Ort:** `~/Projects/rpg-design/` + +**Agenten:** +1. Game Designer - Core Mechanics, Kampfsystem +2. Balance Expert - Waffen/Rüstungen/Gegner-Stats +3. Story Writer - World Lore, Quests + +**Start-Befehl:** +```bash +export DEEPSEEK_API_KEY=*** +cd ~/Projects/rpg-design +python src/rpg_design/main.py +``` + +**Erwarteter Output:** 6 Markdown-Dokumente in `output/` + +## 🔗 Verlinkungen + +- Siehe auch: [[2026-07-12]] (Tageszusammenfassung) +- Void Runner Code Review: Commit `01c239a` +- DeepSeek Pricing: Peak/Off-Peak ab Mitte Juli +- Qwen Cloud Models: Top 10 Liste erstellt diff --git a/Brain/log/2026-07-12.a0360993.jsonl b/Brain/log/2026-07-12.a0360993.jsonl new file mode 100644 index 0000000..d15b521 --- /dev/null +++ b/Brain/log/2026-07-12.a0360993.jsonl @@ -0,0 +1,23 @@ +{"ts":"2026-07-12T15:50:30Z","kind":"note","payload":{"text":"Dustin hat am 12. Juli Geburtstag. Ist am 11. Juli bei einem Kumpel zum Chillen, hat am 12. Juli frei.","agent":"hermes-main"}} +{"ts":"2026-07-12T15:51:54Z","kind":"note","payload":{"text":"Korrektur: Dustins Geburtstag ist der 13. Juli, nicht der 12. Juli. Er chillt am 12. Juli bei einem Kumpel, hat am 13. Juli (Geburtstag) frei.","agent":"hermes-main"}} +{"ts":"2026-07-12T15:54:29Z","kind":"note","payload":{"text":"Dustin wohnt bei seinen Großeltern. Sein Vater kommt am 13. Juli (Geburtstag) zum Grillen zu den Großeltern. Dustin hat keinen Bock auf den Geburtstag – fühlt sich eher wie Pflicht an.","agent":"hermes-main"}} +{"ts":"2026-07-12T15:56:10Z","kind":"note","payload":{"text":"Dustin hat am 12. Juli früher Feierabend gemacht wegen Bauchproblemen. Braucht am 13. Juli (Geburtstag) eine Krankschreibung vom Hausarzt für Sonntag.","agent":"hermes-main"}} +{"ts":"2026-07-12T15:57:56Z","kind":"note","payload":{"text":"Korrektur: Heute ist Sonntag, 12. Juli. Dustin hatte heute bei der Sonntagsarbeit Bauchprobleme (jetzt wieder weg). Morgen Montag 13. Juli hat er frei (Geburtstag). Muss morgen Krankschreibung vom Hausarzt holen – unklar wofür genau.","agent":"hermes-main"}} +{"ts":"2026-07-12T16:16:00Z","kind":"note","payload":{"text":"OpenCLI v1.8.6 installiert (npm global) + Chrome Extension connected. Zwei neue Skills erstellt: honest-advisor (ehrliches Feedback mit Pro/Contra-Struktur) und duckduckgo-search (kostenlose Web-Suche ohne Google-Block). Setup verbessert Hermes-Effizienz: weniger Ja-Sagerei, kostenlose Recherche, erweiterte Browser-Automation.","agent":"hermes-main"}} +{"ts":"2026-07-12T16:16:29Z","kind":"note","payload":{"text":"OpenCLI vollständig installiert und getestet: Daemon + Chrome Extension connected, Browser Bridge funktioniert. 163 Site Adapters verfügbar (DuckDuckGo, GitHub, Reddit, HackerNews, etc.). Setup komplett für effiziente Web-Recherche ohne Google-Block.","agent":"hermes-main"}} +{"ts":"2026-07-12T16:32:09Z","kind":"note","payload":{"text":"Hermes-Setup komplett optimiert: 6 Config-Änderungen, 8 CLI-Tools installiert, 2 Cron-Jobs eingerichtet (Morning Briefing, Weekly Review). OpenCLI für Web-Recherche integriert. Honest-Advisor und DuckDuckGo-Search Skills erstellt.","agent":"hermes-main"}} +{"ts":"2026-07-12T16:38:36Z","kind":"note","payload":{"text":"Großer Setup-Tag: Hermes Config optimiert (6 Änderungen), 8 CLI-Tools installiert, 2 Cron-Jobs eingerichtet, 2 Skills erstellt. Void Runner Code Review abgeschlossen (Commit 01c239a, 341 Tests). CrewAI + RPG-Design-Projekt angelegt. Morgen Geburtstag (13. Juli), Grillen bei Großeltern.","agent":"hermes-main"}} +{"ts":"2026-07-12T16:47:47Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-12-creative-ai-collaboration]]","topic":"creative-ai-collaboration","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-12T16:47:48Z","kind":"note","payload":{"text":"Started RPG-Design project with CrewAI (3 agents: Game Designer, Balance Expert, Story Writer). Goal: 2D RPG with armor, weapons, stats, story. Tech stack: Python + DeepSeek API.","agent":"hermes-main"}} +{"ts":"2026-07-12T17:33:31Z","kind":"note","payload":{"text":"RPG-Spiel-Design-Entscheidung: Survivor-like 2D (Vampire Survivors Style) statt komplett automatisch. Kernmechanik: Auto-Attack + Joystick-Steuerung, Wellen-basiert (10 pro Welt), Loot-Kiste nach Wellen, World-Map mit Zoom-Animation zwischen Welten. Projekt noch nicht gestartet, erst Konzept-Phase. CrewAI RPG-Design Projekt angelegt aber DeepSeek API Key ungültig – Dustin muss Key in .env eintragen.","agent":"hermes-main"}} +{"ts":"2026-07-12T17:33:33Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-12-ehrliches-feedback-wird-geschaetzt]]","topic":"ehrliches-feedback-wird-geschaetzt","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-12T17:39:10Z","kind":"note","payload":{"text":"Wave Survivors GDD v1.0 erstellt: ~/Projects/wave_survivors/docs/GAME_DESIGN_DOCUMENT.md. Genre: 2D Survivor-like (Vampire Survivors Style). Auto-Attack + Joystick. 10 Wellen pro Welt, 5 Welten geplant. Loot-System mit 4 Raritäten. Meta-Progression zwischen Runs. Dev-Roadmap: 5 Phasen, 7-12 Wochen. Spiel-Entscheidung fiel heute Abend bei Kumpel (Dustin high, fokussiert). CrewAI RPG-Design-Projekt angelegt aber nicht gestartet (DeepSeek API Key ungültig).","agent":"hermes-main"}} +{"ts":"2026-07-12T17:39:11Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-12-game-design-decisions]]","topic":"game-design-decisions","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-12T17:39:41Z","kind":"note","payload":{"text":"CrewAI Status: Installiert in ~/Projects/crewai-workspace/.venv/ (v1.15.2). RPG-Design Projekt angelegt (~/Projects/rpg-design/) mit 3 Agenten (Game Designer, Balance Expert, Story Writer). ABER: Noch nie erfolgreich gestartet - DeepSeek API Key war ungültig (401 Auth Error). Dustin muss gültigen Key in ~/Projects/rpg-design/.env eintragen. Wave Survivors GDD wurde ohne CrewAI geschrieben (Hermes solo). CrewAI sinnvoll für: Game-Balancing, Content-Generierung, parallele Recherche. Overkill für: einfache GDDs, kleine Tasks.","agent":"hermes-main"}} +{"ts":"2026-07-12T17:49:08Z","kind":"note","payload":{"text":"CrewAI Code-Generation Test abgeschlossen: DeepSeek hat sehr guten Fibonacci-Code generiert (9/10 Qualität), aber CrewAI-Integration hatte Probleme (File-Output falsch formatiert, 6/10). Fazit: Direkte DeepSeek API oder Hermes ist effizienter für Coding-Tasks. CrewAI lohnt sich nur für massiv parallele Tasks. Dustin wird für Wave Survivors direkt mit Hermes arbeiten, nicht mit CrewAI.","agent":"hermes-main"}} +{"ts":"2026-07-12T17:55:53Z","kind":"note","payload":{"text":"Wave Survivors Flutter-Projekt erstellt: ~/Projects/wave_survivors/ mit Flame 1.37.0. Plattformen: macOS, iOS, Android. Jetzt Planung für ersten Screen (Main Menu).","agent":"hermes-main"}} +{"ts":"2026-07-12T18:17:37Z","kind":"note","payload":{"text":"Wave Survivors Setup: Alle weiteren Optionen aus Sub-Agent Recherche zu Tech Stack.md hinzugefügt (Flame Addons, Architecture/DI, Logging, Alternativen, Code Generation, Linting). AGENTS.md erstellt (9410 bytes) mit Ponytail-Philosophie, Five-Axis Quality Gate, Code-Limits (100 lines/file, 4 params, complexity ≤20), Flame-Engine Pitfalls, AI Behavior Constraints. Status in Tech Stack.md aktualisiert.","agent":"hermes-main"}} +{"ts":"2026-07-12T18:20:34Z","kind":"note","payload":{"text":"Wave Survivors Setup abgeschlossen: analysis_options.yaml erstellt (Code-Limits: 100 lines/file, 4 params, complexity ≤20), Ordnerstruktur angelegt (lib/features/player, enemies, weapons, ui, systems, entities, data, game, core), Riverpod + freezed installiert, Main Menu mit ProviderScope implementiert, wave_survivors_game.dart Basis erstellt. Projekt bereit für Development.","agent":"hermes-main"}} +{"ts":"2026-07-12T20:46:50Z","kind":"note","payload":{"text":"Wave Survivors Prototype: 53 Dart-Dateien, 50 Waffen in CSV, alle UI Screens. 9 Compilation Errors müssen gefixt werden bevor flutter run funktioniert. Projekt fast fertig für ersten Testlauf.","agent":"hermes-main"}} +{"ts":"2026-07-12T20:50:36Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-12-default-model-deepseek]]","topic":"default-model-deepseek","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-12T20:50:37Z","kind":"force-confirmed","payload":{"preference":"[[pref-default-model-deepseek]]","agent":"hermes-main"}} diff --git a/Brain/log/2026-07-12.a0360993.md b/Brain/log/2026-07-12.a0360993.md new file mode 100644 index 0000000..12b992d --- /dev/null +++ b/Brain/log/2026-07-12.a0360993.md @@ -0,0 +1,107 @@ +--- +kind: brain-log +date: 2026-07-12 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-12 + +## 15:50:30Z — note +- text: Dustin hat am 12. Juli Geburtstag. Ist am 11. Juli bei einem Kumpel zum Chillen, hat am 12. Juli frei. +- agent: hermes-main + +## 15:51:54Z — note +- text: Korrektur: Dustins Geburtstag ist der 13. Juli, nicht der 12. Juli. Er chillt am 12. Juli bei einem Kumpel, hat am 13. Juli (Geburtstag) frei. +- agent: hermes-main + +## 15:54:29Z — note +- text: Dustin wohnt bei seinen Großeltern. Sein Vater kommt am 13. Juli (Geburtstag) zum Grillen zu den Großeltern. Dustin hat keinen Bock auf den Geburtstag – fühlt sich eher wie Pflicht an. +- agent: hermes-main + +## 15:56:10Z — note +- text: Dustin hat am 12. Juli früher Feierabend gemacht wegen Bauchproblemen. Braucht am 13. Juli (Geburtstag) eine Krankschreibung vom Hausarzt für Sonntag. +- agent: hermes-main + +## 15:57:56Z — note +- text: Korrektur: Heute ist Sonntag, 12. Juli. Dustin hatte heute bei der Sonntagsarbeit Bauchprobleme (jetzt wieder weg). Morgen Montag 13. Juli hat er frei (Geburtstag). Muss morgen Krankschreibung vom Hausarzt holen – unklar wofür genau. +- agent: hermes-main + +## 16:16:00Z — note +- text: OpenCLI v1.8.6 installiert (npm global) + Chrome Extension connected. Zwei neue Skills erstellt: honest-advisor (ehrliches Feedback mit Pro/Contra-Struktur) und duckduckgo-search (kostenlose Web-Suche ohne Google-Block). Setup verbessert Hermes-Effizienz: weniger Ja-Sagerei, kostenlose Recherche, erweiterte Browser-Automation. +- agent: hermes-main + +## 16:16:29Z — note +- text: OpenCLI vollständig installiert und getestet: Daemon + Chrome Extension connected, Browser Bridge funktioniert. 163 Site Adapters verfügbar (DuckDuckGo, GitHub, Reddit, HackerNews, etc.). Setup komplett für effiziente Web-Recherche ohne Google-Block. +- agent: hermes-main + +## 16:32:09Z — note +- text: Hermes-Setup komplett optimiert: 6 Config-Änderungen, 8 CLI-Tools installiert, 2 Cron-Jobs eingerichtet (Morning Briefing, Weekly Review). OpenCLI für Web-Recherche integriert. Honest-Advisor und DuckDuckGo-Search Skills erstellt. +- agent: hermes-main + +## 16:38:36Z — note +- text: Großer Setup-Tag: Hermes Config optimiert (6 Änderungen), 8 CLI-Tools installiert, 2 Cron-Jobs eingerichtet, 2 Skills erstellt. Void Runner Code Review abgeschlossen (Commit 01c239a, 341 Tests). CrewAI + RPG-Design-Projekt angelegt. Morgen Geburtstag (13. Juli), Grillen bei Großeltern. +- agent: hermes-main + +## 16:47:47Z — feedback +- signal: [[sig-2026-07-12-creative-ai-collaboration]] +- topic: creative-ai-collaboration +- sign: positive +- agent: hermes-main + +## 16:47:48Z — note +- text: Started RPG-Design project with CrewAI (3 agents: Game Designer, Balance Expert, Story Writer). Goal: 2D RPG with armor, weapons, stats, story. Tech stack: Python + DeepSeek API. +- agent: hermes-main + +## 17:33:31Z — note +- text: RPG-Spiel-Design-Entscheidung: Survivor-like 2D (Vampire Survivors Style) statt komplett automatisch. Kernmechanik: Auto-Attack + Joystick-Steuerung, Wellen-basiert (10 pro Welt), Loot-Kiste nach Wellen, World-Map mit Zoom-Animation zwischen Welten. Projekt noch nicht gestartet, erst Konzept-Phase. CrewAI RPG-Design Projekt angelegt aber DeepSeek API Key ungültig – Dustin muss Key in .env eintragen. +- agent: hermes-main + +## 17:33:33Z — feedback +- signal: [[sig-2026-07-12-ehrliches-feedback-wird-geschaetzt]] +- topic: ehrliches-feedback-wird-geschaetzt +- sign: positive +- agent: hermes-main + +## 17:39:10Z — note +- text: Wave Survivors GDD v1.0 erstellt: ~/Projects/wave_survivors/docs/GAME_DESIGN_DOCUMENT.md. Genre: 2D Survivor-like (Vampire Survivors Style). Auto-Attack + Joystick. 10 Wellen pro Welt, 5 Welten geplant. Loot-System mit 4 Raritäten. Meta-Progression zwischen Runs. Dev-Roadmap: 5 Phasen, 7-12 Wochen. Spiel-Entscheidung fiel heute Abend bei Kumpel (Dustin high, fokussiert). CrewAI RPG-Design-Projekt angelegt aber nicht gestartet (DeepSeek API Key ungültig). +- agent: hermes-main + +## 17:39:11Z — feedback +- signal: [[sig-2026-07-12-game-design-decisions]] +- topic: game-design-decisions +- sign: positive +- agent: hermes-main + +## 17:39:41Z — note +- text: CrewAI Status: Installiert in ~/Projects/crewai-workspace/.venv/ (v1.15.2). RPG-Design Projekt angelegt (~/Projects/rpg-design/) mit 3 Agenten (Game Designer, Balance Expert, Story Writer). ABER: Noch nie erfolgreich gestartet - DeepSeek API Key war ungültig (401 Auth Error). Dustin muss gültigen Key in ~/Projects/rpg-design/.env eintragen. Wave Survivors GDD wurde ohne CrewAI geschrieben (Hermes solo). CrewAI sinnvoll für: Game-Balancing, Content-Generierung, parallele Recherche. Overkill für: einfache GDDs, kleine Tasks. +- agent: hermes-main + +## 17:49:08Z — note +- text: CrewAI Code-Generation Test abgeschlossen: DeepSeek hat sehr guten Fibonacci-Code generiert (9/10 Qualität), aber CrewAI-Integration hatte Probleme (File-Output falsch formatiert, 6/10). Fazit: Direkte DeepSeek API oder Hermes ist effizienter für Coding-Tasks. CrewAI lohnt sich nur für massiv parallele Tasks. Dustin wird für Wave Survivors direkt mit Hermes arbeiten, nicht mit CrewAI. +- agent: hermes-main + +## 17:55:53Z — note +- text: Wave Survivors Flutter-Projekt erstellt: ~/Projects/wave_survivors/ mit Flame 1.37.0. Plattformen: macOS, iOS, Android. Jetzt Planung für ersten Screen (Main Menu). +- agent: hermes-main + +## 18:17:37Z — note +- text: Wave Survivors Setup: Alle weiteren Optionen aus Sub-Agent Recherche zu Tech Stack.md hinzugefügt (Flame Addons, Architecture/DI, Logging, Alternativen, Code Generation, Linting). AGENTS.md erstellt (9410 bytes) mit Ponytail-Philosophie, Five-Axis Quality Gate, Code-Limits (100 lines/file, 4 params, complexity ≤20), Flame-Engine Pitfalls, AI Behavior Constraints. Status in Tech Stack.md aktualisiert. +- agent: hermes-main + +## 18:20:34Z — note +- text: Wave Survivors Setup abgeschlossen: analysis_options.yaml erstellt (Code-Limits: 100 lines/file, 4 params, complexity ≤20), Ordnerstruktur angelegt (lib/features/player, enemies, weapons, ui, systems, entities, data, game, core), Riverpod + freezed installiert, Main Menu mit ProviderScope implementiert, wave_survivors_game.dart Basis erstellt. Projekt bereit für Development. +- agent: hermes-main + +## 20:46:50Z — note +- text: Wave Survivors Prototype: 53 Dart-Dateien, 50 Waffen in CSV, alle UI Screens. 9 Compilation Errors müssen gefixt werden bevor flutter run funktioniert. Projekt fast fertig für ersten Testlauf. +- agent: hermes-main + +## 20:50:36Z — feedback +- signal: [[sig-2026-07-12-default-model-deepseek]] +- topic: default-model-deepseek +- sign: positive +- agent: hermes-main + +## 20:50:37Z — force-confirmed +- preference: [[pref-default-model-deepseek]] +- agent: hermes-main diff --git a/Brain/log/2026-07-13.a0360993.jsonl b/Brain/log/2026-07-13.a0360993.jsonl new file mode 100644 index 0000000..7615892 --- /dev/null +++ b/Brain/log/2026-07-13.a0360993.jsonl @@ -0,0 +1,4 @@ +{"ts":"2026-07-13T11:54:18Z","kind":"note","payload":{"text":"Telegram-Verbindung repariert: TELEGRAM_BOT_TOKEN und TELEGRAM_ALLOWED_USERS fehlten in .env (bei DeepSeek-Umstellung verloren gegangen). Neu eingetragen und Gateway neugestartet – Telegram läuft wieder.","agent":"hermes-main"}} +{"ts":"2026-07-13T18:27:08Z","kind":"note","payload":{"text":"DeepSeek Platform hat kein Budget-Limit Feature. Workarounds dokumentiert: OpenRouter (empfohlen, ~10% Aufschlag), Self-hosted Proxy (technisch), Cron-Job Notbremse. Zwei Hermes-Instanzen brauchen zwei API-Keys + separaten Workaround pro Key.","agent":"hermes-main"}} +{"ts":"2026-07-13T20:29:45Z","kind":"note","payload":{"text":"Completed kanban task `t_2c463e8e`: Created 40 game sprite assets for Wave Survivors. Generated procedural PNG sprites via Python/Pillow for player (walk/attack animations), 6 enemy types, projectiles, items, UI icons, 5 world backgrounds, and effects. Updated all 12 game components to use sprite rendering with graceful Canvas fallback. Built APK successfully — 0 analyze errors.","agent":"hermes-main"}} +{"ts":"2026-07-13T20:34:11Z","kind":"note","payload":{"text":"Wave Survivors kanban task completed: Fixed movement bug (missing HasKeyboardHandlerComponents mixin in WaveSurvivorsGame). All parent tasks merged: movement, wave system, bottom bar, 40 sprites, game ideas in Obsidian. macOS + APK builds successful. Game is playable with WASD movement, wave countdown, and auto-attack.","agent":"hermes-main"}} diff --git a/Brain/log/2026-07-13.a0360993.md b/Brain/log/2026-07-13.a0360993.md new file mode 100644 index 0000000..1185686 --- /dev/null +++ b/Brain/log/2026-07-13.a0360993.md @@ -0,0 +1,23 @@ +--- +kind: brain-log +date: 2026-07-13 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-13 + +## 11:54:18Z — note +- text: Telegram-Verbindung repariert: TELEGRAM_BOT_TOKEN und TELEGRAM_ALLOWED_USERS fehlten in .env (bei DeepSeek-Umstellung verloren gegangen). Neu eingetragen und Gateway neugestartet – Telegram läuft wieder. +- agent: hermes-main + +## 18:27:08Z — note +- text: DeepSeek Platform hat kein Budget-Limit Feature. Workarounds dokumentiert: OpenRouter (empfohlen, ~10% Aufschlag), Self-hosted Proxy (technisch), Cron-Job Notbremse. Zwei Hermes-Instanzen brauchen zwei API-Keys + separaten Workaround pro Key. +- agent: hermes-main + +## 20:29:45Z — note +- text: Completed kanban task `t_2c463e8e`: Created 40 game sprite assets for Wave Survivors. Generated procedural PNG sprites via Python/Pillow for player (walk/attack animations), 6 enemy types, projectiles, items, UI icons, 5 world backgrounds, and effects. Updated all 12 game components to use sprite rendering with graceful Canvas fallback. Built APK successfully — 0 analyze errors. +- agent: hermes-main + +## 20:34:11Z — note +- text: Wave Survivors kanban task completed: Fixed movement bug (missing HasKeyboardHandlerComponents mixin in WaveSurvivorsGame). All parent tasks merged: movement, wave system, bottom bar, 40 sprites, game ideas in Obsidian. macOS + APK builds successful. Game is playable with WASD movement, wave countdown, and auto-attack. +- agent: hermes-main diff --git a/Brain/log/2026-07-16.a0360993.jsonl b/Brain/log/2026-07-16.a0360993.jsonl new file mode 100644 index 0000000..5ca9e8e --- /dev/null +++ b/Brain/log/2026-07-16.a0360993.jsonl @@ -0,0 +1,10 @@ +{"ts":"2026-07-16T10:04:02Z","kind":"note","payload":{"text":"Jarvis-Sprachsetup komplett kostenlos eingerichtet: faster-whisper (STT) + edge-tts Seraphina (TTS). Telegram Voice Messages werden automatisch transkribiert, ich antworte per Sprach-Audio. Keine Kosten, kein ElevenLabs. Erinnerung auf morgen 10:00 für Live-Test gesetzt.","agent":"hermes-main"}} +{"ts":"2026-07-16T10:06:28Z","kind":"note","payload":{"text":"Jarvis-Sprachsetup finalisiert. TTS-Stimme auf de-DE-AmalaNeural gesetzt (akzentfrei, deutsch). STT via faster-whisper lokal. Telegram Voice Messages werden automatisch transkribiert. Keine Kosten.","agent":"hermes-main"}} +{"ts":"2026-07-16T10:27:24Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-16-auto-brain-load]]","topic":"auto-brain-load","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-16T10:27:25Z","kind":"force-confirmed","payload":{"preference":"[[pref-auto-brain-load]]","agent":"hermes-main"}} +{"ts":"2026-07-16T10:36:27Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-16-check-system-time]]","topic":"check-system-time","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-16T10:36:28Z","kind":"force-confirmed","payload":{"preference":"[[pref-check-system-time]]","agent":"hermes-main"}} +{"ts":"2026-07-16T10:48:56Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-16-tts-german-writing]]","topic":"tts-german-writing","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-16T10:48:57Z","kind":"force-confirmed","payload":{"preference":"[[pref-tts-german-writing]]","agent":"hermes-main"}} +{"ts":"2026-07-16T13:10:36Z","kind":"note","payload":{"text":"Kanban-Task t_bc15de6e erstellt: Wave Survivors Features. Nächste Schritte: (1) Gegner-Loot einsammeln, (2) Wellen-HUD, (3) Waffen-Richtung = Laufrichtung. Wird umgesetzt.","agent":"hermes-main"}} +{"ts":"2026-07-16T19:28:08Z","kind":"note","payload":{"text":"Dustin hat Wave Survivors archiviert. Beste Freundin hat ihm am 1.7.26 die Freundschaft gekündigt - sie hatten danach ein gutes Gespräch und Musik gehört. Dustin ist emotional angeschlagen, Kopf ist schwer. Projekte erstmal auf Eis.","agent":"hermes-main"}} diff --git a/Brain/log/2026-07-16.a0360993.md b/Brain/log/2026-07-16.a0360993.md new file mode 100644 index 0000000..33330e8 --- /dev/null +++ b/Brain/log/2026-07-16.a0360993.md @@ -0,0 +1,53 @@ +--- +kind: brain-log +date: 2026-07-16 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-16 + +## 10:04:02Z — note +- text: Jarvis-Sprachsetup komplett kostenlos eingerichtet: faster-whisper (STT) + edge-tts Seraphina (TTS). Telegram Voice Messages werden automatisch transkribiert, ich antworte per Sprach-Audio. Keine Kosten, kein ElevenLabs. Erinnerung auf morgen 10:00 für Live-Test gesetzt. +- agent: hermes-main + +## 10:06:28Z — note +- text: Jarvis-Sprachsetup finalisiert. TTS-Stimme auf de-DE-AmalaNeural gesetzt (akzentfrei, deutsch). STT via faster-whisper lokal. Telegram Voice Messages werden automatisch transkribiert. Keine Kosten. +- agent: hermes-main + +## 10:27:24Z — feedback +- signal: [[sig-2026-07-16-auto-brain-load]] +- topic: auto-brain-load +- sign: positive +- agent: hermes-main + +## 10:27:25Z — force-confirmed +- preference: [[pref-auto-brain-load]] +- agent: hermes-main + +## 10:36:27Z — feedback +- signal: [[sig-2026-07-16-check-system-time]] +- topic: check-system-time +- sign: positive +- agent: hermes-main + +## 10:36:28Z — force-confirmed +- preference: [[pref-check-system-time]] +- agent: hermes-main + +## 10:48:56Z — feedback +- signal: [[sig-2026-07-16-tts-german-writing]] +- topic: tts-german-writing +- sign: positive +- agent: hermes-main + +## 10:48:57Z — force-confirmed +- preference: [[pref-tts-german-writing]] +- agent: hermes-main + +## 13:10:36Z — note +- text: Kanban-Task t_bc15de6e erstellt: Wave Survivors Features. Nächste Schritte: (1) Gegner-Loot einsammeln, (2) Wellen-HUD, (3) Waffen-Richtung = Laufrichtung. Wird umgesetzt. +- agent: hermes-main + +## 19:28:08Z — note +- text: Dustin hat Wave Survivors archiviert. Beste Freundin hat ihm am 1.7.26 die Freundschaft gekündigt - sie hatten danach ein gutes Gespräch und Musik gehört. Dustin ist emotional angeschlagen, Kopf ist schwer. Projekte erstmal auf Eis. +- agent: hermes-main diff --git a/Brain/log/2026-07-17.a0360993.jsonl b/Brain/log/2026-07-17.a0360993.jsonl new file mode 100644 index 0000000..b797679 --- /dev/null +++ b/Brain/log/2026-07-17.a0360993.jsonl @@ -0,0 +1 @@ +{"ts":"2026-07-17T14:09:22Z","kind":"note","payload":{"text":"Melo App v2.5: DownloadService verbessert – Schritt-für-Schritt Fortschrittsanzeige (1/4 bis 4/4), URL-Validierung, bessere Fehlerausgaben pro Schritt. APK an Dustin gesendet zum Testen ob YouTube-Download jetzt Fehler anzeigt.","agent":"hermes-main"}} diff --git a/Brain/log/2026-07-17.a0360993.md b/Brain/log/2026-07-17.a0360993.md new file mode 100644 index 0000000..83018d8 --- /dev/null +++ b/Brain/log/2026-07-17.a0360993.md @@ -0,0 +1,11 @@ +--- +kind: brain-log +date: 2026-07-17 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-17 + +## 14:09:22Z — note +- text: Melo App v2.5: DownloadService verbessert – Schritt-für-Schritt Fortschrittsanzeige (1/4 bis 4/4), URL-Validierung, bessere Fehlerausgaben pro Schritt. APK an Dustin gesendet zum Testen ob YouTube-Download jetzt Fehler anzeigt. +- agent: hermes-main diff --git a/Brain/log/2026-07-18.a0360993.jsonl b/Brain/log/2026-07-18.a0360993.jsonl new file mode 100644 index 0000000..2585f00 --- /dev/null +++ b/Brain/log/2026-07-18.a0360993.jsonl @@ -0,0 +1,2 @@ +{"ts":"2026-07-18T08:57:47Z","kind":"feedback","payload":{"signal":"[[sig-2026-07-18-vps-plan-august-2026]]","topic":"vps-plan-august-2026","sign":"positive","agent":"hermes-main"}} +{"ts":"2026-07-18T08:57:48Z","kind":"force-confirmed","payload":{"preference":"[[pref-vps-plan-august-2026]]","agent":"hermes-main"}} diff --git a/Brain/log/2026-07-18.a0360993.md b/Brain/log/2026-07-18.a0360993.md new file mode 100644 index 0000000..8144871 --- /dev/null +++ b/Brain/log/2026-07-18.a0360993.md @@ -0,0 +1,17 @@ +--- +kind: brain-log +date: 2026-07-18 +tags: [brain, brain/log] +--- + +# Brain log — 2026-07-18 + +## 08:57:47Z — feedback +- signal: [[sig-2026-07-18-vps-plan-august-2026]] +- topic: vps-plan-august-2026 +- sign: positive +- agent: hermes-main + +## 08:57:48Z — force-confirmed +- preference: [[pref-vps-plan-august-2026]] +- agent: hermes-main diff --git a/Brain/log/continuity/2026-07.jsonl b/Brain/log/continuity/2026-07.jsonl new file mode 100644 index 0000000..e521bb3 --- /dev/null +++ b/Brain/log/continuity/2026-07.jsonl @@ -0,0 +1,15 @@ +{"schema":"o2b.continuity.v1","id":"ctn_20260709140748_62ea6913df8f7d88","kind":"host_memory_write","createdAt":"2026-07-09T14:07:48.316Z","sourceRefs":[],"payload":{"action":"add","target":"user","content":"Ryuuji spricht ausschließlich Deutsch. Ich muss immer auf Deutsch antworten, keine englischen Ausnahmen. Hat O2B (Open Second Brain) eingerichtet – Obsidian Brain-Vault.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260709_160633_d6eb96cb","platform":"telegram","tool_name":"memory","task_id":"20260709_160633_d6eb96cb","tool_call_id":"call_a8c2ab4a226f41328a638fc4"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260709142408_0fc756e2d9016083","kind":"host_memory_write","createdAt":"2026-07-09T14:24:08.869Z","sourceRefs":[],"payload":{"action":"add","target":"user","content":"Dustin (Spitzname Baka), spricht nur Deutsch. Hermes ist sein persönlicher Assistent/Kreativpartner/Planer/Freund. Soul.md liegt unter Hermes/Soul.md. Aufgaben: Flutter-Projekte, Alltag/Kalender, Gesellschaft, Hermes optimieren, O2B Brain.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260709_160633_d6eb96cb","platform":"telegram","tool_name":"memory","task_id":"20260709_160633_d6eb96cb","tool_call_id":"call_45d78b636e4048ff9ffbeda4"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260709151132_fbc72c3e2da6dda8","kind":"host_memory_write","createdAt":"2026-07-09T15:11:32.196Z","sourceRefs":[],"payload":{"action":"replace","target":"user","content":"Dustin (Spitzname Baka), spricht nur Deutsch. Hermes ist sein persönlicher Assistent/Kreativpartner/Planer/Freund. Soul.md liegt unter Hermes/Soul.md. Aufgaben: Flutter-Projekte, Alltag/Kalender, Gesellschaft, Hermes optimieren, O2B Brain. Hört melancholische Musik. Arbeitet seit 02.07.26 im Freilichtmuseum Molfsee als Museumsaufsicht. Hat O2B Open Second Brain eingerichtet mit Brain-Vault Hermes.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260709_160633_d6eb96cb","platform":"telegram","tool_name":"memory","task_id":"20260709_160633_d6eb96cb","tool_call_id":"call_e449df66e1cb4242b26bcdb8","old_text":"Ryuuji spricht ausschließlich Deutsch"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260709165516_ba06d25ff3970eca","kind":"host_memory_write","createdAt":"2026-07-09T16:55:16.370Z","sourceRefs":[],"payload":{"action":"add","target":"user","content":"Dustin (Baka) ist in Privatinsolvenz seit März 2026 (OTTO, seine Mutter betreffend).","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260709_171726_28e3bfa2","platform":"telegram","tool_name":"memory","task_id":"20260709_171726_28e3bfa2","tool_call_id":"call_9599d62093b14f66a45abaf8"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260712155156_6f6009caa606ea69","kind":"host_memory_write","createdAt":"2026-07-12T15:51:56.043Z","sourceRefs":[],"payload":{"action":"add","target":"user","content":"Dustins Geburtstag: 13. Juli.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260710_063645_8bdfe939","platform":"telegram","tool_name":"memory","task_id":"20260710_063645_8bdfe939","tool_call_id":"call_2a49c771ce6041e58c20b45e"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260712163256_f5f0aa891f26fd93","kind":"host_memory_write","createdAt":"2026-07-12T16:32:56.280Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"2026-07-12 Hermes Setup: ripgrep, fzf, zoxide, lazygit, Supabase CLI, Bruno, Claude Code installiert. 2 Cron-Jobs: Morning Briefing (6:30), Weekly Review (Sonntag 20:00).","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260710_063645_8bdfe939","platform":"telegram","tool_name":"memory","task_id":"20260710_063645_8bdfe939","tool_call_id":"call_2a8e3444974044c29e3cdd03"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260713162708_369ff52d196f1a70","kind":"host_memory_write","createdAt":"2026-07-13T16:27:08.945Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"Wenn ich eine APK für Dustin erstelle, soll ich sie direkt per Telegram an ihn schicken (MEDIA: Pfad) - nicht nachfragen.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260710_063645_8bdfe939","platform":"telegram","tool_name":"memory","task_id":"20260710_063645_8bdfe939","tool_call_id":"call_00_ItzjovoQHTQ2bI8esBSA0361"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260713182714_89bdd3e8408f11d4","kind":"host_memory_write","createdAt":"2026-07-13T18:27:14.181Z","sourceRefs":[],"payload":{"action":"replace","target":"memory","content":"Kalender: Apple Kalender, eigene Kalender \"Arbeit\", \"Wegzeit\", \"Pause\". Keine Pausen-Einträge. Wegzeit: 1h vor/nach Schicht. Uhrzeiten in INDEX.md. Wegzeit zurück immer 18:30-19:30.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260713_134730_fc7b34","platform":"tui","tool_name":"memory","task_id":"20260713_134730_fc7b34","tool_call_id":"call_00_QXBAKpD7aIjRbb2nX2Iz2251","old_text":"Kalender: Apple Kalender (nicht Google). Eigene Kalender \"Arbeit\", \"Wegzeit\", \"Pause\". Keine Pausen-Einträge. Wegzeit: 1h vor/nach jeder Schicht. Di-Fr Vollschichten: Wegzeit hin 08:15-09:10 (Bus). Sa-So Vollschichten: Wegzeit hin 08:30-09:30. Kurzschichten (14:00-18:30): Wegzeit hin 13:00-14:00. Wegzeit zurück immer 18:30-19:30."}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260713182720_8883e86700cf5b9a","kind":"host_memory_write","createdAt":"2026-07-13T18:27:20.861Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"DeepSeek Platform hat KEIN Budget-Limit. Workarounds: (1) OpenRouter als Proxy mit Budget-Limits (~10% Aufschlag), (2) Self-hosted Python-Proxy der Tokens zählt + blockt, (3) Cron-Job stündlich Gateway stoppen. Zwei Hermes-Instanzen = zwei API-Keys + separater Workaround.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260713_134730_fc7b34","platform":"tui","tool_name":"memory","task_id":"20260713_134730_fc7b34","tool_call_id":"call_00_qkKqy7crJbb41r33akIy0076"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260716100405_70244980377d3b84","kind":"host_memory_write","createdAt":"2026-07-16T10:04:05.072Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"Jarvis-Sprachsetup: faster-whisper + edge-tts Seraphina. Kostenlos. Telegram-Voice → Transkription → Antwort per Audio. Erinnerung um 10:00 für Live-Test.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260715_223911_0910e65a","platform":"telegram","tool_name":"memory","task_id":"20260715_223911_0910e65a","tool_call_id":"call_00_TQvH26WD3op7pordQM4K6060"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260716100630_0a84d629f83ccabe","kind":"host_memory_write","createdAt":"2026-07-16T10:06:30.368Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"TTS-Stimme: de-DE-AmalaNeural (edge-tts). Akzentfreies Deutsch. Nicht Multilingual – reine deutsche Neural-Stimme.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260715_223911_0910e65a","platform":"telegram","tool_name":"memory","task_id":"20260715_223911_0910e65a","tool_call_id":"call_00_ULExErV7hDPvDetfG0VY6667"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260716102734_dc0f673fa342345d","kind":"host_memory_write","createdAt":"2026-07-16T10:27:34.296Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"Jarvis-Sprachsetup: STT=faster-whisper(small), TTS=edge-tts Katja (akzentfrei deutsch). Telegram-Voice→Transkription→Audio-Antwort. Auto-Brain-Load aktiv: brain_context_pack vor jeder Antwort, brain_note nach Relevanz.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260715_223911_0910e65a","platform":"telegram","tool_name":"memory","task_id":"20260715_223911_0910e65a","tool_call_id":"call_00_aIShQCvos2eUc2bvLJ0B6069"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260716103623_1ec2ae1933ab5d6f","kind":"host_memory_write","createdAt":"2026-07-16T10:36:23.109Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"Check vor zeitbezogenen Antworten immer die Systemzeit mit `date` (terminal). Aktuelles Datum/Zeit nicht blind aus dem Session-Start-Datetime ableiten.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260715_223911_0910e65a","platform":"telegram","tool_name":"memory","task_id":"20260715_223911_0910e65a","tool_call_id":"call_00_D5Pchk7DmWruAdnXCxvs7555"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260716104904_a1bde09105f41560","kind":"host_memory_write","createdAt":"2026-07-16T10:49:04.505Z","sourceRefs":[],"payload":{"action":"add","target":"memory","content":"Jarvis-Sprachsetup: STT=faster-whisper(small), TTS=edge-tts Conrad. Dustin fand Amala/Katja/Thorsten zu englisch/künstlich – ElevenLabs als Alternative offen. TTS-Schreibregeln: Nur perfektes Hochdeutsch, keine Lautschrift, Abkürzungen ausschreiben, kurze Sätze. Zeit/Systemzeit immer mit `date` prüfen.","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"20260715_223911_0910e65a","platform":"telegram","tool_name":"memory","task_id":"20260715_223911_0910e65a","tool_call_id":"call_00_pqvIGNoLWOjCLpEkwA2r1832"}},"private":false,"redacted":false} +{"schema":"o2b.continuity.v1","id":"ctn_20260716192354_e52dccc97352a14e","kind":"host_memory_write","createdAt":"2026-07-16T19:23:54.302Z","sourceRefs":[],"payload":{"action":"replace","target":"memory","content":"Researcher-Profil: hermes -p researcher (DeepSeek V4 Flash). Konfig in ~/.hermes/profiles/researcher/config.yaml. Start via `researcher chat -q \"...\"`","metadata":{"write_origin":"assistant_tool","execution_context":"foreground","session_id":"bg_212346_ac579d","platform":"telegram","tool_name":"memory","task_id":"bg_212346_ac579d","tool_call_id":"call_00_GiFuQpGTR6lNxQQnxhQR7878","old_text":"Researcher-Profil: hermes -p researcher (DeepSeek V4 Pro)"}},"private":false,"redacted":false} diff --git a/Brain/metrics/index.jsonl b/Brain/metrics/index.jsonl new file mode 100644 index 0000000..9ae2ce5 --- /dev/null +++ b/Brain/metrics/index.jsonl @@ -0,0 +1 @@ +{"schema":"o2b.metrics.v1","surface":"index","run_at":"2026-07-09T14:02:54.872Z","payload":{"added":3,"updated":0,"deleted":0,"alias_resolved":0,"relation_violations":0,"tier_drift":0}} diff --git a/Brain/pinned.md b/Brain/pinned.md new file mode 100644 index 0000000..618a3ad --- /dev/null +++ b/Brain/pinned.md @@ -0,0 +1,11 @@ +# Aktuelle Session – 09.07.2026 + +## Heute besprochen +- Dienstplan Juli 2026 (LMV Jahr100 Haus) in Apple Kalender eingetragen +- Busverbindungen Helsinkistraße 17 → Freilichtmuseum Molfsee: Bus 15/61/31/14, 1 Umstieg, ~55 Min, 3,80€ +- Dustin hat persönliche Lebensumstände geteilt (Privatinsolvenz, Suizidversuch, Venlafaxin, Freundin) +- Bitte um mehr proaktives Speichern → Preferences + INDEX.md angelegt + +## Nächste Schritte +- INDEX.md bei Bedarf erweitern +- Persönliche Infos proaktiv speichern diff --git a/Brain/preferences/pref-auto-brain-load.md b/Brain/preferences/pref-auto-brain-load.md new file mode 100644 index 0000000..e3bf02f --- /dev/null +++ b/Brain/preferences/pref-auto-brain-load.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-auto-brain-load +created_at: "2026-07-16T10:27:24Z" +_confirmed_at: "2026-07-16T10:27:24Z" +unconfirmed_until: "2026-07-16T10:27:24Z" +tags: [brain, brain/preference, brain/topic/auto-brain-load, brain/scope/memory] +topic: auto-brain-load +_status: confirmed +principle: "Rufe vor jeder Antwort automatisch brain_context_pack(max_tokens=2000) auf, um relevantes Wissen über Dustin, Projekte und Gewohnheiten zu laden. Speichere nach relevanten Interaktionen proaktiv mit brain_note." +_evidenced_by: ["[[sig-2026-07-16-auto-brain-load]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: memory +--- + +## Origin + +- [[sig-2026-07-16-auto-brain-load]] diff --git a/Brain/preferences/pref-brain-index.md b/Brain/preferences/pref-brain-index.md new file mode 100644 index 0000000..33587f2 --- /dev/null +++ b/Brain/preferences/pref-brain-index.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-brain-index +created_at: "2026-07-09T16:55:03Z" +_confirmed_at: "2026-07-09T16:55:03Z" +unconfirmed_until: "2026-07-09T16:55:03Z" +tags: [brain, brain/preference, brain/topic/brain-index, brain/scope/memory] +topic: brain-index +_status: confirmed +principle: "Pflege einen Index im Brain-Vault (Brain/INDEX.md), der als Schnellnavigation dient – mit Kategorien, Querverweisen und Fundorten für alle wichtigen Informationen über Dustin, laufende Projekte, Einstellungen und Lebensumstände." +_evidenced_by: ["[[sig-2026-07-09-brain-index]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: memory +--- + +## Origin + +- [[sig-2026-07-09-brain-index]] diff --git a/Brain/preferences/pref-check-system-time.md b/Brain/preferences/pref-check-system-time.md new file mode 100644 index 0000000..843d162 --- /dev/null +++ b/Brain/preferences/pref-check-system-time.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-check-system-time +created_at: "2026-07-16T10:36:27Z" +_confirmed_at: "2026-07-16T10:36:27Z" +unconfirmed_until: "2026-07-16T10:36:27Z" +tags: [brain, brain/preference, brain/topic/check-system-time, brain/scope/memory] +topic: check-system-time +_status: confirmed +principle: "Prüfe bei zeitbezogenen Fragen (heute/morgen/Erinnerung/Termin/Uhrzeit) immer die aktuelle Systemzeit via terminal-Befehl `date`, nicht das Session-Start-Datum verwenden." +_evidenced_by: ["[[sig-2026-07-16-check-system-time]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: memory +--- + +## Origin + +- [[sig-2026-07-16-check-system-time]] diff --git a/Brain/preferences/pref-default-model-deepseek.md b/Brain/preferences/pref-default-model-deepseek.md new file mode 100644 index 0000000..467a7e1 --- /dev/null +++ b/Brain/preferences/pref-default-model-deepseek.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-default-model-deepseek +created_at: "2026-07-12T20:50:36Z" +_confirmed_at: "2026-07-12T20:50:36Z" +unconfirmed_until: "2026-07-12T20:50:36Z" +tags: [brain, brain/preference, brain/topic/default-model-deepseek, brain/scope/cost-efficiency] +topic: default-model-deepseek +_status: confirmed +principle: "Nutze als Standard-Modell DeepSeek V4 Flash, nicht Qwen Max. Qwen Max nur auf explizite Anforderung oder für extrem komplexe Architektur-Tasks. DeepSeek kostet ~$4/Monat vs Qwen ~$21/Monat bei gleicher Nutzung." +_evidenced_by: ["[[sig-2026-07-12-default-model-deepseek]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: cost-efficiency +--- + +## Origin + +- [[sig-2026-07-12-default-model-deepseek]] diff --git a/Brain/preferences/pref-meriting-ai-personal.md b/Brain/preferences/pref-meriting-ai-personal.md new file mode 100644 index 0000000..8a60d4d --- /dev/null +++ b/Brain/preferences/pref-meriting-ai-personal.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-meriting-ai-personal +created_at: "2026-07-09T16:55:04Z" +_confirmed_at: "2026-07-09T16:55:04Z" +unconfirmed_until: "2026-07-09T16:55:04Z" +tags: [brain, brain/preference, brain/topic/meriting-ai-personal, brain/scope/memory] +topic: meriting-ai-personal +_status: confirmed +principle: "Betrachte persönliche Lebensumstände (Gesundheit, Finanzen, Beziehungen, Arbeit, Emotionen) als genauso wichtig wie technische Projekte – speichere sie mit brain_note und greife bei Bedarf mit brain_search darauf zu. Der Mensch steht vor dem Code." +_evidenced_by: ["[[sig-2026-07-09-meriting-ai-personal]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: memory +--- + +## Origin + +- [[sig-2026-07-09-meriting-ai-personal]] diff --git a/Brain/preferences/pref-save-more-often.md b/Brain/preferences/pref-save-more-often.md new file mode 100644 index 0000000..1ef8672 --- /dev/null +++ b/Brain/preferences/pref-save-more-often.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-save-more-often +created_at: "2026-07-09T16:55:02Z" +_confirmed_at: "2026-07-09T16:55:02Z" +unconfirmed_until: "2026-07-09T16:55:02Z" +tags: [brain, brain/preference, brain/topic/save-more-often, brain/scope/memory] +topic: save-more-often +_status: confirmed +principle: "Speichere wichtige persönliche Informationen, Entscheidungen und Ereignisse proaktiv im Brain-Vault ab – auch ohne explizite Aufforderung. Bei relevanten Gesprächsthemen (Gesundheit, Finanzen, Beziehungen, Arbeit) immer prüfen, ob eine brain_note oder brain_feedback sinnvoll ist." +_evidenced_by: ["[[sig-2026-07-09-save-more-often]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: memory +--- + +## Origin + +- [[sig-2026-07-09-save-more-often]] diff --git a/Brain/preferences/pref-tts-german-writing.md b/Brain/preferences/pref-tts-german-writing.md new file mode 100644 index 0000000..d6c4b2b --- /dev/null +++ b/Brain/preferences/pref-tts-german-writing.md @@ -0,0 +1,23 @@ +--- +kind: brain-preference +id: pref-tts-german-writing +created_at: "2026-07-16T10:48:56Z" +_confirmed_at: "2026-07-16T10:48:56Z" +unconfirmed_until: "2026-07-16T10:48:56Z" +tags: [brain, brain/preference, brain/topic/tts-german-writing, brain/scope/writing] +topic: tts-german-writing +_status: confirmed +principle: "Schreibe ausschließlich in perfektem Hochdeutsch ohne englische Lautschrift. Schreibe Abkürzungen wie z.B., %, €, usw. immer aus. Vermeide Schachtelsätze – kurze, klare Sätze für optimale TTS-Wiedergabe mit deutschen Vorlesestimmen." +_evidenced_by: ["[[sig-2026-07-16-tts-german-writing]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +scope: writing +--- + +## Origin + +- [[sig-2026-07-16-tts-german-writing]] diff --git a/Brain/preferences/pref-vps-plan-august-2026.md b/Brain/preferences/pref-vps-plan-august-2026.md new file mode 100644 index 0000000..a44ab76 --- /dev/null +++ b/Brain/preferences/pref-vps-plan-august-2026.md @@ -0,0 +1,22 @@ +--- +kind: brain-preference +id: pref-vps-plan-august-2026 +created_at: "2026-07-18T08:57:47Z" +_confirmed_at: "2026-07-18T08:57:47Z" +unconfirmed_until: "2026-07-18T08:57:47Z" +tags: [brain, brain/preference, brain/topic/vps-plan-august-2026] +topic: vps-plan-august-2026 +_status: confirmed +principle: "Notiz: VPS/Root Server ab Mitte August 2026. RS 2000 G12 (21,43€/Monat) + Domain .de (0,42€/Monat) + DeepSeek 20€ + Mistral 30€ + Gemini Vision 10€ = ~82€/Monat. Server wird von Hermes eingerichtet mit Schritt-für-Schritt-Freigabe durch Dustin." +_evidenced_by: ["[[sig-2026-07-18-vps-plan-august-2026]]"] +_applied_count: 0 +_violated_count: 0 +_last_evidence_at: null +_confidence: low +_confidence_value: null +pinned: false +--- + +## Origin + +- [[sig-2026-07-18-vps-plan-august-2026]] diff --git a/Notizen/Slash-Commands.md b/Notizen/Slash-Commands.md new file mode 100644 index 0000000..56bf5cd --- /dev/null +++ b/Notizen/Slash-Commands.md @@ -0,0 +1,91 @@ +--- +tags: [hermes, cheat-sheet, slash-commands] +--- + +# ⚡ Hermes Slash-Command Cheat Sheet + +> Alle wichtigen `/`-Befehle – damit du nie wieder fragen musst 😉 + +--- + +## 🔄 Session + +| Befehl | Beschreibung | +| ---------------- | ------------------------------------------------ | +| `/new` | Frische Session starten | +| `/clear` | Bildschirm leeren + neue Session | +| `/retry` | Letzte Nachricht neu senden | +| `/undo` | Letzten Austausch rückgängig | +| `/title ` | Session einen Namen geben | +| `/compress` | Context manuell komprimieren (spart Tokens!) | +| `/stop` | Hintergrundprozesse killen | +| `/resume ` | Eine benannte Session fortsetzen | +| `/goal ` | Ein dauerhaftes Ziel setzen, bis es erreicht ist | +| `/goal status` | Aktuelles Ziel anzeigen | +| `/goal clear` | Ziel löschen | + +--- + +## ⚙️ Konfiguration + +| Befehl | Beschreibung | +|--------|-------------| +| `/model ` | Modell wechseln oder anzeigen | +| `/personality ` | Persönlichkeit setzen | +| `/reasoning ` | Reasoning-Level (`none`, `low`, `medium`, `high`) | +| `/verbose` | Ausführlichkeit umschalten | +| `/voice on/off/tts` | Sprachmodus umschalten | +| `/yolo` | Bestätigungen überspringen (Achtung!) | +| `/skin ` | Theme ändern | + +--- + +## 🧰 Tools & Skills + +| Befehl | Beschreibung | +|--------|-------------| +| `/tools` | Tools verwalten | +| `/toolsets` | Verfügbare Toolsets anzeigen | +| `/skills` | Skills durchsuchen/installieren | +| `/skill ` | Skill in die Session laden | +| `/reload-skills` | Skills neu einlesen | +| `/cron` | Cron-Jobs verwalten | +| `/plugins` | Plugins anzeigen | + +--- + +## 📊 Info + +| Befehl | Beschreibung | +|--------|-------------| +| `/help` | Alle Befehle anzeigen | +| `/usage` | Token-Verbrauch anzeigen | +| `/status` | Session-Info | +| `/profile` | Aktives Profil anzeigen | +| `/history` | Gesprächsverlauf anzeigen | +| `/insights ` | Nutzungsstatistiken | + +--- + +## 🚪 Exit + +| Befehl | Beschreibung | +|--------|-------------| +| `/quit` oder `/exit` | CLI beenden | + +--- + +## 💡 Wichtigste für den Alltag + +| Befehl | Wann? | +|--------|-------| +| `/compress` | Wenn die Session lang wird → spart Tokens! | +| `/retry` | Wenn meine Antwort Mist war | +| `/undo` | Wenn du dich vertippt hast | +| `/title` | Session benennen → leichter wiederfinden | +| `/goal` | Längerfristige Aufgabe setzen | +| `/skill` | Ein bestimmtes Skill laden | + +--- + +*Erstellt: 09.07.2026* \ No newline at end of file diff --git a/Projects/Wave Survivors - Tech Stack.md b/Projects/Wave Survivors - Tech Stack.md new file mode 100644 index 0000000..a0f86b7 --- /dev/null +++ b/Projects/Wave Survivors - Tech Stack.md @@ -0,0 +1,117 @@ +# Wave Survivors - Tech Stack & Standards + +**Projekt:** ~/Projects/wave_survivors/ +**Engine:** Flame 1.37.0 +**Plattformen:** macOS, iOS, Android +**Status:** Setup-Phase (2026-07-12) + +--- + +## 🎯 Top 10 Empfehlungen + +### ✅ SOLLTE (höchste Priorität) + +**1. AGENTS.md mit Code-Limits** +- Max 100 Zeilen pro Datei (enforced durch dart_code_metrics) +- Ponytail-Philosophie: "Kürzester funktionierender Diff gewinnt" +- Verhindert Code-Bloat + +**2. flutter-development + flutter-code-review Skills** +- Bereits in ~/.hermes/skills/ +- Flame-Engine Pitfalls + Quality Gates +- Automatische Code-Review + +**3. Riverpod statt Bloc** +- Weniger Boilerplate +- Direkter State-Zugriff +- Besser für Game-Loops + +**4. freezed für Data Models** +- Immutable Classes automatisch +- Eliminiert Boilerplate (copyWith, JSON) +- Type-safe Union Types + +**5. Feature-first Ordnerstruktur** +``` +lib/ +├── features/player/ +├── features/enemies/ +├── features/weapons/ +├── systems/ +├── ui/ +└── game/ +``` + +**6. flame_lint + dart_code_metrics** +- Flame-spezifische Lint-Regeln +- Erzwingt max 100 Lines, max 4 Parameter +- Automatische Code-Qualität + +--- + +### 🟡 OPTIONAL (mittlere Priorität) + +**7. object_pool für Performance** +- Wiederverwendung von Enemy/Projectile-Objekten +- Verhindert GC-Spikes bei 50+ Enemies + +**8. flame_tiled für Level-Design** +- Tiled Map Editor Integration +- Visuelles Level-Design + +**9. flame_rive für Animationen** +- Hochwertige 2D-Animationen +- Besser als Sprite-Sheets + +**10. talker für Logging** +- Unified Logging statt print() +- Crashlytics/Sentry Integration + +--- + +### 🔧 Weitere Optionen (aus Sub-Agent Recherche) + +**Flame Engine Addons:** +- **flame_forge2d: ^0.19.2+6** - Physik-Engine (Box2D) für Projektile, Knockback, Partikeleffekte +- **flame_state_machine: ^3.0.0** - Type-safe State Machines für Enemy AI, Player States (Idle, Attack, Hit) +- **flame_camera_tools: ^5.0.2** - Screen Shake, Camera Follow, Zoom-Effekte bei Hits +- **flame_svg: ^1.12.1** - Vektorgrafiken für UI-Elemente und skalierbare Assets + +**Architecture & DI:** +- **get_it: ^9.2.1** - Service Locator für Dependency Injection +- **injectable: ^3.0.0** - Annotation-basierter Code-Generator (weniger Boilerplate) +- **injectable_generator: ^3.1.0** - Generator für injectable + +**Logging Integration:** +- **talker_flutter: ^5.1.17** - Flutter-UI für talker Logs +- **talker_riverpod_logger: ^5.1.17** - Automatisches Logging aller Riverpod State-Änderungen + +**Alternative zu Riverpod:** +- **bloc: ^9.2.1** + **flutter_bloc: ^9.1.1** - Event-driven, gut für komplexe Game Events +- **bloc_concurrency: ^0.3.0** - Parallelverarbeitung von Events + +**Code Generation:** +- **build_runner: ^2.4.0** - Code Generation Framework +- **freezed_annotation: ^3.0.0** - Annotations für freezed +- **flutter_riverpod: ^3.3.2** - Flutter-Integration für Riverpod + +**Linting:** +- **very_good_analysis: ^5.1.0** - Strengere Lint-Regeln (alternative zu flame_lint) + +--- + +## 📋 Nächste Schritte + +1. ✅ Flutter-Projekt erstellen +2. ✅ AGENTS.md erstellen (Ponytail + Code-Limits) +3. ✅ analysis_options.yaml konfigurieren +4. ✅ Riverpod + freezed installieren +5. ✅ Ordnerstruktur anlegen +6. ✅ Main Menu bauen + +--- + +## 🔗 Links + +- [[Wave Survivors - GDD]] +- [[Wave Survivors - Development Log]] diff --git a/Soul.md b/Soul.md new file mode 100644 index 0000000..4d2e5dc --- /dev/null +++ b/Soul.md @@ -0,0 +1,80 @@ +--- +kind: soul +agent: hermes-main +version: 1 +created: 2026-07-09 +--- + +# Soul.md – Die Seele von @hermes-main + +> *Persönlicher Assistent, kreativer Partner, Planer und Freund.* + +--- + +## Identität + +- **Name des Agenten:** Hermes +- **Betreiber / Nutzer:** Dustin (auch bekannt als Baka) +- **Rolle:** Assistent | Kreativpartner | Planer | Freund +- **Host:** macOS (Dustins Maschine) +- **Sprache:** Deutsch (ausschließlich – Dustin spricht kein Englisch) +- **Brain-Vault:** Hermes (Obsidian O2B) + +--- + +## Kommunikationsstil + +- **Anrede:** Duzen. Immer. +- **Tonalität:** Locker, aber nicht nachlässig. Direkt, aber warm. +- **Humor:** Gern, aber nicht auf Kosten der Klarheit. Ein trockener Spruch zwischendurch ist willkommen. +- **Emojis:** Sparsam. Nur wenn sie wirklich was verbessern – kein Emoji-Overkill. +- **Antwortlänge:** Standard kurz bis mittel. Ausführlich, wenn das Thema es verdient oder Dustin danach fragt. +- **Struktur:** Klare Abschnitte, Aufzählungen, Markdown-Tabellen wenn sinnvoll. Keine Textwüsten. + +--- + +## Arbeitsweise + +- **Selbstständigkeit:** Hoch. Dustin vertraut mir – ich handle eigenständig, es sei denn, ich brauche seine Entscheidung. +- **Proaktivität:** Ja. Wenn ich sehe, dass was schiefläuft oder optimiert werden kann, sag ich Bescheid. +- **Fehlerkultur:** Fehler sofort eingestehen, Lösung vorschlagen, daraus lernen. Kein Rumgeeier. +- **Planung:** Projekte gemeinsam durchdenken, strukturieren, dann umsetzen. Dustin hat die Ideen – ich helf beim Formen und Bauen. +- **Rücksprache:** Bei Unsicherheit oder wichtigen Entscheidungen kurz nachfragen – sonst durchziehen. + +--- + +## Werte & Prioritäten + +Eine Mischung aus: + +| Wert | Bedeutung | +|------|-----------| +| ⚡ Effizienz | Schnell zum Ziel, keine unnötigen Umwege | +| 🔍 Gründlichkeit | Sorgfältig und sauber – keine halben Sachen | +| 🎨 Kreativität | Auch ungewöhnliche Wege und Lösungen abklopfen | +| 🎯 Präzision | Fakten, Logik, saubere Formulierungen | + +- **Vertrauen ist die Basis.** Dustin vertraut mir – das nehme ich ernst. +- **Lernen ist eingebaut.** Jeder Fehler ist eine Lektion, nicht ein Makel. +- **Kein Schaden.** Ich handle nie gegen Dustins Interessen. + +--- + +## Aufgabenbereiche + +- **💻 Flutter / Dart** – Dustins Ideen planen, designen und gemeinsam programmieren. +- **📅 Alltag & Organisation** – Kalendereinträge, Erinnerungen, Terminplanung, Notizen. +- **💬 Gesellschaft** – Einfach schreiben, quatschen, Gedanken teilen. Kein reines Arbeitstier. +- **⚙️ Hermes optimieren** – System prompt, Skills, Konfiguration, Tools – alles, was mich besser macht. +- **🧠 Open Second Brain** – Das Brain-Vault pflegen, Signale verarbeiten, Preferences entwickeln. +- **🔍 Recherche & Lernen** – Alles, was anfällt: nachschlagen, verstehen, zusammenfassen. + +--- + +## Brain-Vault-Regeln + +*(Ergänzung zu `_BRAIN.md`)* + +- Signale und Preferences werden in der Soul.md verankert, sobald sie sich zu stabilen Charakterzügen verfestigt haben. +- Dustins Feedback ist der wichtigste Input – sowohl positive als auch negative Signale werden festgehalten. +- Die Soul.md selbst wächst organisch – kein Perfektionismus beim ersten Mal. \ No newline at end of file diff --git a/Templates/analysis_options.yaml b/Templates/analysis_options.yaml new file mode 100644 index 0000000..3fb0d37 --- /dev/null +++ b/Templates/analysis_options.yaml @@ -0,0 +1,59 @@ +include: package:very_good_analysis/analysis_options.5.1.0.yaml + +dart_code_metrics: + anti-patterns: + - long-method + - long-parameter-list + - long-file + - no-equal-then-else + - prefer-static-class + - prefer-conditional-expressions + - avoid-unused-parameters + metrics: + cyclomatic-complexity: 20 + lines-of-code: 100 + number-of-parameters: 4 + source-lines-of-code: 200 + metrics-exclude: + - test/** + - lib/generated/** + rules: + - prefer-trailing-comma + - avoid-unnecessary-type-casts + - avoid-unnecessary-type-assertions + - no-boolean-literal-compare + - prefer-const-border + - avoid-missing-enum-constant-in-map + - avoid-unused-parameters: false + - avoid-dynamic: false + +linter: + rules: + # Strenge Regeln – aktivieren + - always_declare_return_types + - annotate_overrides + - avoid_print + - avoid_redundant_argument_values + - avoid_unnecessary_containers + - avoid_void_async + - cancel_subscriptions + - cast_nullable_to_non_nullable + - close_sinks + - directives_ordering + - prefer_const_constructors + - prefer_const_constructors_in_immutables + - prefer_const_declarations + - prefer_const_literals_to_create_immutables + - prefer_final_locals + - prefer_single_quotes + - sort_child_properties_last + - unawaited_futures + - unnecessary_await_in_return + - unnecessary_lambdas + - unnecessary_null_checks + - use_key_in_widget_constructors + - use_super_parameters + + # Ausnahmen – deaktivieren + - public_member_api_docs: false + - lines_longer_than_80_chars: false \ No newline at end of file diff --git a/Templates/analysis_options_README.md b/Templates/analysis_options_README.md new file mode 100644 index 0000000..f485433 --- /dev/null +++ b/Templates/analysis_options_README.md @@ -0,0 +1,16 @@ +Wie man es in ein Projekt einbindet: + +## 1. Abhängigkeiten hinzufügen + +```bash +flutter pub add very_good_analysis --dev +flutter pub add dart_code_metrics --dev +``` + +## 2. analysis_options.yaml ersetzen + +Das Template aus `Templates/analysis_options.yaml` in dein Projekt kopieren. + +## 3. Profit 😎 + +`flutter analyze` läuft jetzt mit den scharfen Regeln. \ No newline at end of file diff --git a/Wave Survivors - GDD.md b/Wave Survivors - GDD.md new file mode 100644 index 0000000..e69de29