Vault initial
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
# Melo 1.0 – Code-Audit & Design-Review
|
||||
**Datum:** 26.07.2026
|
||||
**Repo:** `/home/dustin/git/melo_app/` (27 Dart-Dateien, v2.7 laut Logger)
|
||||
|
||||
---
|
||||
|
||||
## 🔴 TOTE BUTTONS (führen zu nichts oder zum falschen Ziel)
|
||||
|
||||
### 1. BottomNavigationBar – 3 von 5 Tabs defekt!
|
||||
**Datei:** `lib/screens/home_screen.dart` Zeile 367–371
|
||||
|
||||
| Tab | Label | Was passiert | Sollte passieren |
|
||||
|-----|-------|-------------|------------------|
|
||||
| 🎵 Musik | Index 0 | ✅ Home-Screen | ✅ richtig |
|
||||
| ⬇ Downloads | Index 1 | ✅ DownloadScreen | ✅ richtig |
|
||||
| 🏷️ Tags | Index 2 | ❌ öffnet **PlaylistSheet**! | Sollte nach Tags filtern o. Tag-Manager zeigen |
|
||||
| ❤️ Favoriten | Index 3 | ❌ öffnet **PlaylistSheet**! | Sollte favorisierte Songs filtern |
|
||||
| ⚙️ Einstellungen | Index 4 | ❌ **KEIN Handler** – tut gar nichts! | Sollte Einstellungen-Seite zeigen |
|
||||
|
||||
```dart
|
||||
// Aktueller Code (defekt):
|
||||
onTap: (i) {
|
||||
setState(() => _aktiverTab = i);
|
||||
if (i == 2) _zeigePlaylistSheet(); // FALSCH: Tags → Playlists
|
||||
if (i == 3) _zeigePlaylistSheet(); // FALSCH: Favoriten → Playlists
|
||||
// i == 4 → KEIN Code! Einstellungen-Tab tot.
|
||||
},
|
||||
```
|
||||
|
||||
### 2. Auskommentierte Widgets (Features existieren, sind aber deaktiviert)
|
||||
**Datei:** `lib/screens/home_screen.dart` Zeile 272–291
|
||||
|
||||
- **RecentWidget** (Zeile 273): `// RecentWidget(songs: _vm.letzteSongs, onPlay: _vm.spieleSong),`
|
||||
- Zeigt "Zuletzt gehört" – Code existiert in `lib/widgets/recent_widget.dart`, korrekt implementiert
|
||||
|
||||
- **TagStatsWidget** (Zeile 290): `// TagStatsWidget(tagCounts: _vm.tagCounts),`
|
||||
- Zeigt Tag-Häufigkeiten farbcodiert – Code existiert in `lib/widgets/tag_stats_widget.dart`, korrekt implementiert
|
||||
|
||||
### 3. Alle anderen Buttons ✅ intakt
|
||||
- MeloHeader (Cloud/Suche/Download): alle 3 funktional
|
||||
- SongTile (Edit/Favorit/Playlist/Play): alle funktional
|
||||
- MiniPlayer (Play/Pause/Skip): alle funktional
|
||||
- DownloadScreen (Ordner/Download/Abbrechen): alle funktional
|
||||
- PlaylistSheet (Neu/Öffnen/Löschen): alle funktional
|
||||
- NavidromeBrowser (Verbinden/Alben/Stream/Download): alle funktional
|
||||
|
||||
---
|
||||
|
||||
## 🎨 DESIGN-ANALYSE & VERSCHÖNERUNGSVORSCHLÄGE
|
||||
|
||||
### Aktuelles Design (Bestandsaufnahme)
|
||||
- **Farbschema:** Dark Theme – Schwarz `#0D0D0D`, Dunkelgrau `#1A1A1A`/`#2A2A2A`, Rot `#CC0000` als Akzent
|
||||
- **Typografie:** System-Standardschrift, keine Custom-Font. Nur Größen-Variation (9-28px).
|
||||
- **Layout:** Standard-Material mit BottomNavigationBar, ListView, Cards
|
||||
- **Rundungen:** Konsistent 8-14px Border-Radius
|
||||
- **Icons:** Material Icons, teils mit Emoji (♪, 💿, 🎵, 💌)
|
||||
- **Animationen:** Nur implizit (FAB, BottomSheet); keine expliziten
|
||||
|
||||
### 🔥 Top 10 Verschönerungs-Maßnahmen (priorisiert)
|
||||
|
||||
#### 1. **Custom-Schriftart** – Höchste Wirkung, geringer Aufwand
|
||||
- Schriftart wie **Inter** oder **Poppins** via `google_fonts` einbinden
|
||||
- Sofort moderneres, hochwertigeres Look & Feel
|
||||
- `pubspec.yaml` → `google_fonts: ^6.1.0`
|
||||
|
||||
#### 2. **Glassmorphism-Effekte**
|
||||
- MiniPlayer + StatistikCard mit `BackdropFilter` + `blur`
|
||||
- Transparenter, schwebender Look statt flache Container
|
||||
- `ClipRRect` mit `BackdropFilter(brightness: 0.2, saturation: 0.3)`
|
||||
|
||||
#### 3. **Subtiler Hintergrund-Gradient**
|
||||
- Statt `MeloTheme.schwarz` ein radialer Gradient von `#1A0505` nach `#0D0D0D`
|
||||
- Gibt Tiefe, wirkt weniger "flach"
|
||||
|
||||
#### 4. **Song-Tiles mit Swipe-Gesten**
|
||||
- Swipe links → Favorit toggeln
|
||||
- Swipe rechts → Zur Playlist hinzufügen
|
||||
- `flutter_slidable` Package
|
||||
|
||||
#### 5. **Skeleton-Loader / Shimmer**
|
||||
- Statt `CircularProgressIndicator` beim Laden
|
||||
- Placeholder-Karten mit `shimmer`-Animation
|
||||
- Wirkt professioneller, weniger "Lade-Unterbrechung"
|
||||
|
||||
#### 6. **Hero-Animationen**
|
||||
- MiniPlayer → Vollbild-Player mit fließendem Übergang
|
||||
- Album-Cover als Hero-Widget
|
||||
|
||||
#### 7. **Leere-Zustände mit Icons/Illustration**
|
||||
- "Noch keine Playlists" → mit großer Illustration + CTA-Button
|
||||
- "Keine Treffer" → Such-Illustration
|
||||
- Statt reinem Text
|
||||
|
||||
#### 8. **Animierte Tab-Indikatoren**
|
||||
- BottomNavBar mit animiertem Indikator-Balken oder Dot
|
||||
- Sanfte Farbverläufe beim Wechseln
|
||||
|
||||
#### 9. **Pull-to-Refresh** auf Song-Liste
|
||||
- `RefreshIndicator` um die ListView
|
||||
- Neu-Scannen per Wischgeste
|
||||
|
||||
#### 10. **Farbcodierte Fortschrittsbalken**
|
||||
- Fortschritt farblich codieren (grau→gelb→grün bei Download-Fortschritt)
|
||||
- Statt einfachem roten Balken
|
||||
|
||||
### Farbpaletten-Erweiterung (Vorschlag)
|
||||
```dart
|
||||
// Zusätzlich zu bestehenden Farben:
|
||||
static const Color rotGlow = Color(0x40CC0000); // für Glow-Effekte
|
||||
static const Color surfaceHell = Color(0xFF252525); // für Hover/Active
|
||||
static const Color erfolg = Color(0xFF4CAF50); // Grün-Akzent
|
||||
static const Color warnung = Color(0xFFFFC107); // Gelb-Akzent
|
||||
```
|
||||
|
||||
### Auch interessant (niedrigere Priorität)
|
||||
- **Waveform-Animation** im MiniPlayer (statt statischem Balken)
|
||||
- **Konfetti-Effekt** nach erfolgreichem Download
|
||||
- **Haptisches Feedback** bei Button-Taps (`HapticFeedback.lightImpact()`)
|
||||
- **Dark-Mode-Only** mit OLED-optimiertem `#000000` für echte Schwarztöne
|
||||
- **BottomSheet mit Drag-Handle** schon vorhanden → schön!
|
||||
|
||||
---
|
||||
|
||||
## 📊 Zusammenfassung
|
||||
|
||||
| Kategorie | Befund |
|
||||
|-----------|--------|
|
||||
| Tote Buttons | **3 von 5 Tabs defekt** – Tags/Favoriten öffnen Playlists, Einstellungen tut nichts |
|
||||
| Deaktivierte Widgets | RecentWidget + TagStatsWidget auskommentiert, Code intakt |
|
||||
| Sonstige Buttons | Alle intakt ✅ |
|
||||
| Design-Level | Solide Basis, Material 3 Dark Theme, konsistent |
|
||||
| Größtes Manko | Keine Custom-Schriftart, flache Container, keine Animationen |
|
||||
| Schnellster Gewinn | Custom Font + Glassmorphism + Gradient-Hintergrund |
|
||||
@@ -0,0 +1,22 @@
|
||||
# Brain Log — 2026-08-05 (Abend)
|
||||
|
||||
## Session: Melo Sprint D+E + Review
|
||||
|
||||
### Was passiert ist
|
||||
- **Sprint D komplett** (v2.52): Favoriten-Sync-Fix (bidirektional), YT-Fallback, SyncService (Auto-Intervall, Notification), funktionierende Einstellungen
|
||||
- **Sprint E komplett** (v2.53): Recaps 7T/Monat/Jahr, Tombstone-Sync, Konflikt-Report
|
||||
- **Code Review D+E**: 3 MED-Findings (Tombstone-Race, DB-Insert neuer Songs, fehlende Tests) → gefixt → **FREIGABE**
|
||||
- **APK v2.53.1** gebaut + geliefert (21,0 MB)
|
||||
- **Merge-Dateien v7** regeneriert (briefing + code, 15.511 Zeilen)
|
||||
|
||||
### Highlights
|
||||
- MED-2 war der Killer: Neue Server-Songs wurden NIE in die lokale DB geschrieben → bei jedem Sync GB-Re-Downloads + falsche "+neu"-Meldungen. Jetzt: DB-Insert mit cloud_id.
|
||||
- Tombstones jetzt mit Server-Zeitstempel (datetime('now')) statt Client-Zeit → keine Uhr-Drift-Zombies mehr
|
||||
|
||||
### Nebenschauplatz
|
||||
- YT-Link-Finder: UTF-8-Bug gefixt (0/25 → 4/25 pro Lauf) — 107/325 Songs mit Links, Cron holt Rest
|
||||
|
||||
### Offen
|
||||
- Sprint F (Android Auto, Home-Widget)
|
||||
- melo_cloud.py in eigenes Repo aufnehmen
|
||||
- Tinker-Easter-Egg
|
||||
@@ -0,0 +1,24 @@
|
||||
# Brain Log — 2026-08-05 (Nacht)
|
||||
|
||||
## Session: Vibe-Tools-Recherche + Installationen
|
||||
|
||||
### Installiert
|
||||
1. **youtube-full** (Skill) — Transkripte/Videos, kein API-Key
|
||||
2. **gitingest-MCP** (3 Tools) — Repo→Text; funktioniert für öffentliche Repos; unser Gitea ist nicht öffentlich → Merge-Dateien bleiben für Claude (oder gitingest-CLI lokal)
|
||||
3. **Vibe-Coder-MCP** v0.3.5 (CLI `vibe`) — Dev-Tools für Agents
|
||||
4. **SkillClaw** (venv ~/skillclaw-venv) — **DeepSeek-kompatibel getestet ✅** (Proxy :30001 reichte DeepSeek durch), aber NICHT in Hermes verdrahtet (Proxy-Eingriff riskant, nur auf Freigabe)
|
||||
5. **hermes-workspace** — **GUI läuft auf Port 3000** (Chat/Terminal/Memory/Skills/Inspector); volle Integration braucht Gateway-API-Server :8642 (Neustart nötig, Telegram kurz weg)
|
||||
|
||||
### Kanban-Erkenntnis
|
||||
- **Swarm-Setup NICHT nötig** für Kanban an sich
|
||||
- ABER: Telegram-Sessions laufen als Child-Kontext (`HERMES_DELEGATED_CHILD_CONTEXT=1`) → Kanban-Mutationen gesperrt
|
||||
- → Kanban nur via CLI/GUI nutzbar, nicht aus Telegram. Für unseren Workflow kein Mehrwert → dokumentiert, nicht aktiv.
|
||||
|
||||
### Community-Recherche (Vibe Coding mit Hermes)
|
||||
- Muster: Profil-Fleet, Rollen-Isolation, Subagent-Delegation, Skills als Command Center, Memory-Ebenen, Kanban
|
||||
- Unser Setup folgt den Best-Practices bereits (Profile, Delegation, Skills, Review-Gate)
|
||||
|
||||
### Offen
|
||||
- gitingest-CLI lokal testen (Merge-Datei-Ersatz für Claude)
|
||||
- hermes-workspace volle Integration (Gateway :8642) — nur mit Freigabe
|
||||
- SkillClaw-Proxys in Hermes — nur mit Freigabe
|
||||
@@ -0,0 +1,24 @@
|
||||
# Brain Log — 2026-08-05
|
||||
|
||||
## Session: Melo Sprint C + Vault-Workflow
|
||||
|
||||
### Was passiert ist
|
||||
- **Sprint C abgeschlossen** (v2.51.4): 5-Tab-Navigation, Cloud-Dashboard, Schnellaktionen, Musikserver-Chip
|
||||
- **Code Review**: 4 MED-Findings → gefixt → FREIGABE (passed=true)
|
||||
- **APK v2.51.4** gebaut + geliefert (20,8 MB, arm64)
|
||||
- **Merge-Dateien** v6 regeneriert (briefing + code, 14.139 Zeilen)
|
||||
|
||||
### Vault-Workflow eingerichtet
|
||||
- [[Server Aingrad - Komplette Übersicht]] aktualisiert
|
||||
- [[Melo App - Status]] neu erstellt
|
||||
- Künftig: Notizen parallel im Vault (Notizen/ + Brain-Log)
|
||||
|
||||
### Nebenschauplatz
|
||||
- SearXNG installiert (search.baka-net.de, Meta-Suche ohne API-Key)
|
||||
- RSSHub entfernt (neue Version braucht API-Keys)
|
||||
- Gehalts-Prognose Juli ~1.731 € / August ~1.383 € (15,10 €/Std, SK1, SH)
|
||||
|
||||
### Offen
|
||||
- Sprint D (Android Auto, Home-Widget)
|
||||
- INFO: Server-Songs werden nie in lokale DB geschrieben
|
||||
- Tinker-Easter-Egg
|
||||
@@ -1,2 +1,3 @@
|
||||
{"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}}
|
||||
{"schema":"o2b.metrics.v1","surface":"index","run_at":"2026-07-23T11:12:04.985Z","payload":{"added":42,"updated":1,"deleted":1,"alias_resolved":0,"relation_violations":0,"tier_drift":0}}
|
||||
{"schema":"o2b.metrics.v1","surface":"index","run_at":"2026-08-01T11:55:34.940Z","payload":{"added":8,"updated":1,"deleted":0,"alias_resolved":0,"relation_violations":0,"tier_drift":0}}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"events": 6,
|
||||
"updatedAt": "2026-07-23T12:47:03.764Z",
|
||||
"events": 7,
|
||||
"updatedAt": "2026-08-01T11:55:35.134Z",
|
||||
"paths": {
|
||||
"Brain/INDEX.md": {
|
||||
"strength": 0.3,
|
||||
@@ -14,9 +14,9 @@
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/active.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1784805125265,
|
||||
"accessCount": 1
|
||||
"strength": 0.2,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 2
|
||||
},
|
||||
"Brain/inbox/sig-2026-07-09-brain-index.md": {
|
||||
"strength": 0.1,
|
||||
@@ -33,6 +33,11 @@
|
||||
"lastAccessAt": 1784805125422,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/inbox/sig-2026-07-12-default-model-deepseek.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/inbox/sig-2026-07-16-auto-brain-load.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1784805125422,
|
||||
@@ -44,9 +49,9 @@
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1784805125265,
|
||||
"accessCount": 1
|
||||
"strength": 0.2,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 2
|
||||
},
|
||||
"Brain/inbox/sig-2026-07-19-server-port-map-2.md": {
|
||||
"strength": 0.1,
|
||||
@@ -63,6 +68,21 @@
|
||||
"lastAccessAt": 1784810821353,
|
||||
"accessCount": 2
|
||||
},
|
||||
"Brain/log/2026-07-12-session.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/log/2026-07-12.a0360993.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/log/2026-07-13.a0360993.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/log/2026-07-16.a0360993.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1784810821353,
|
||||
@@ -89,9 +109,9 @@
|
||||
"accessCount": 2
|
||||
},
|
||||
"Brain/log/2026-07-23.a0360993.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1784805125265,
|
||||
"accessCount": 1
|
||||
"strength": 0.2,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 2
|
||||
},
|
||||
"Brain/pinned.md": {
|
||||
"strength": 0.2,
|
||||
@@ -108,6 +128,11 @@
|
||||
"lastAccessAt": 1784805125422,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/preferences/pref-default-model-deepseek.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1785585335134,
|
||||
"accessCount": 1
|
||||
},
|
||||
"Brain/preferences/pref-server-port-map.md": {
|
||||
"strength": 0.1,
|
||||
"lastAccessAt": 1784805125265,
|
||||
@@ -120,6 +145,21 @@
|
||||
}
|
||||
},
|
||||
"coAccess": [
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"a": "Brain/INDEX.md",
|
||||
"b": "Brain/log/2026-07-09.a0360993.md",
|
||||
@@ -172,7 +212,7 @@
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
@@ -185,6 +225,21 @@
|
||||
"b": "Brain/inbox/sig-2026-07-19-server-port-map.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/log/2026-07-12-session.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/log/2026-07-12.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/log/2026-07-13.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/log/2026-07-19.a0360993.md",
|
||||
@@ -197,7 +252,7 @@
|
||||
},
|
||||
{
|
||||
"a": "Brain/active.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
@@ -295,6 +350,36 @@
|
||||
"b": "Brain/preferences/pref-brain-index.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"b": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"b": "Brain/log/2026-07-12-session.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"b": "Brain/log/2026-07-12.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"b": "Brain/log/2026-07-13.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-16-auto-brain-load.md",
|
||||
"b": "Brain/inbox/sig-2026-07-16-check-system-time.md",
|
||||
@@ -340,6 +425,21 @@
|
||||
"b": "Brain/inbox/sig-2026-07-19-server-port-map.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/log/2026-07-12-session.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/log/2026-07-12.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/log/2026-07-13.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/log/2026-07-19.a0360993.md",
|
||||
@@ -352,7 +452,7 @@
|
||||
},
|
||||
{
|
||||
"a": "Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
@@ -440,6 +540,51 @@
|
||||
"b": "Soul.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12-session.md",
|
||||
"b": "Brain/log/2026-07-12.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12-session.md",
|
||||
"b": "Brain/log/2026-07-13.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12-session.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12-session.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12.a0360993.md",
|
||||
"b": "Brain/log/2026-07-13.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12.a0360993.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-12.a0360993.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-13.a0360993.md",
|
||||
"b": "Brain/log/2026-07-23.a0360993.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-13.a0360993.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-16.a0360993.md",
|
||||
"b": "Brain/pinned.md",
|
||||
@@ -490,6 +635,11 @@
|
||||
"b": "Brain/preferences/pref-server-port-map.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-23.a0360993.md",
|
||||
"b": "Brain/preferences/pref-default-model-deepseek.md",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"a": "Brain/log/2026-07-23.a0360993.md",
|
||||
"b": "Brain/preferences/pref-server-port-map.md",
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ts": 1785585335134,
|
||||
"queryHash": "38b54fdb",
|
||||
"paths": [
|
||||
"Brain/preferences/pref-default-model-deepseek.md",
|
||||
"Brain/log/2026-07-23.a0360993.md",
|
||||
"Brain/inbox/sig-2026-07-12-default-model-deepseek.md",
|
||||
"Brain/log/2026-07-12.a0360993.md",
|
||||
"Brain/log/2026-07-13.a0360993.md",
|
||||
"Brain/log/2026-07-12-session.md",
|
||||
"Brain/active.md",
|
||||
"Brain/inbox/sig-2026-07-18-vps-plan-august-2026.md"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user