diff --git a/TOOLS.md b/TOOLS.md index 2093869..5a0dd6d 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -97,6 +97,31 @@ memory_get path="memory/file.md" from=1 lines=50 - **Script:** `python3 tools/anaf-monitor/monitor_v2.py` - **Monitorizează:** D100, D101, D200, D390, D406, situații financiare, E-Factura +### Pauze Respirație (Pattern Interrupt) +- **Bancă tehnici:** `memory/kb/tehnici-pauza.md` +- **Script:** `python3 tools/pauza_random.py` - alege random, afișează cu context +- **Job:** `respiratie-orar` (09:00-19:00 București, orar) → #echo-self +- **Format output:** + ``` + **Nume Tehnică** + Pași de urmat + 📊 Rezultat (ce obții) + 📚 Sursă (autor/studiu) + ``` + +**Flux actualizare tehnici:** +1. **Sursă:** Insights din video-uri/articole procesate, tehnici din NLP/coaching +2. **Cine:** Echo AUTOMAT prin job `insights-extract` (08:00 și 19:00 București) +3. **Ce caută:** respirație, relaxare, mindfulness, pattern interrupt, mișcare scurtă (1-5 min) +4. **Cum:** Verifică dacă nu există deja → adaugă în secțiunea potrivită (BIROU 09-17 / ACASĂ 18+) +5. **Format:** Nume ### → bullet pași → `- **Rezultat:**` → `- **Sursă:** [autor](link)` + +**Surse curente:** Tony Robbins, Wim Hof, Jon Kabat-Zinn (MBSR), Dr. Andrew Weil, Amy Cuddy, Cal Newport + +**Link-uri sursă:** +- Notă din KB → `https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/...` +- Resursă externă → link direct (TED, Healthline, etc.) + --- ## Cron Jobs @@ -106,10 +131,10 @@ memory_get path="memory/file.md" from=1 lines=50 | 00:00 | 02:00 | content-discovery | - | Caută video+articole pe teme recente → memory/kb/ | | 01:00 | 03:00 | night-execute-late | #echo-work | Continuă execuția task-uri (run 2) | | 03:00 | 05:00 | archive-tasks | #echo-work | Arhivează task-uri vechi | -| 06:00,17:00 | 08:00,19:00 | insights-extract | - | Extrage insights din memory/kb/ | +| 06:00,17:00 | 08:00,19:00 | insights-extract | - | Extrage insights din memory/kb/ + actualizează tehnici-pauza.md | | 06:30 | 08:30 | morning-report | 📧 EMAIL | Raport dimineață - vezi [FLUX-JOBURI.md](memory/kb/projects/FLUX-JOBURI.md) | | 07:00 | 09:00 | morning-coaching | #echo-self + 📧 | Gând + provocare → memory/kb/coaching/ | -| 07-17 | 09-19 | respiratie-orar | #echo-self | Pauze orare pattern interrupt | +| 07-17 | 09-19 | respiratie-orar | #echo-self | Pauze orare: tehnică + rezultat + sursă (din tehnici-pauza.md) | | 15:00 mar,joi | 17:00 | project-checkin | #echo-work | Check-in Vending Master | | 15:00 3/feb | 17:00 | grup-sprijin-pregatire | #echo-sprijin | Pregătire fișă grup joi | | 15:00 5/feb | 17:00 | grup-sprijin-5feb | #echo-sprijin | Reminder grup sprijin | diff --git a/memory/kb/index.json b/memory/kb/index.json index 93e7665..06c0bde 100644 --- a/memory/kb/index.json +++ b/memory/kb/index.json @@ -49,6 +49,19 @@ "video": "", "tldr": "*Link-uri: toate notele sunt în memory/kb/youtube/*" }, + { + "file": "notes-data/projects/FLUX-JOBURI.md", + "title": "Flux Complet Joburi Echo", + "date": "2026-02-02", + "tags": [], + "domains": [], + "types": [], + "category": "projects", + "project": null, + "subdir": null, + "video": "", + "tldr": "*Acest document se actualizează când se modifică fluxul joburilor.*" + }, { "file": "notes-data/youtube/2026-02-02_zoltan-veres-motivatie-intrinseca-complet.md", "title": "Zoltan Vereș - Motivația Intrinsecă", @@ -358,19 +371,6 @@ "video": "", "tldr": "Începe prin a explora codul Clawdbot și a înțelege arhitectura, apoi propune soluția." }, - { - "file": "notes-data/projects/FLUX-JOBURI.md", - "title": "Flux Complet Joburi Echo", - "date": "2026-02-01", - "tags": [], - "domains": [], - "types": [], - "category": "projects", - "project": null, - "subdir": null, - "video": "", - "tldr": "*Acest document se actualizează când se modifică fluxul joburilor.*" - }, { "file": "notes-data/projects/securizare-clawdbot.md", "title": "Securizare Clawdbot - Cercetare", @@ -993,8 +993,8 @@ "title": "Proiect: Vending Master - Integrare Website → ROA", "date": "2026-01-30", "tags": [ - "integrare", - "vending-master" + "vending-master", + "integrare" ], "domains": [ "work" diff --git a/memory/kb/tehnici-pauza.md b/memory/kb/tehnici-pauza.md index 44b042a..80ac4f4 100644 --- a/memory/kb/tehnici-pauza.md +++ b/memory/kb/tehnici-pauza.md @@ -1,6 +1,20 @@ # Tehnici Pauză - Bancă de resurse -*Actualizat automat de evening-coaching când găsește tehnici noi în insights.* +## Flux actualizare +- **Sursă:** Video-uri YouTube, articole, note din memory/kb/ +- **Cine actualizează:** Echo AUTOMAT prin job-ul `insights-extract` (08:00 și 19:00 București) +- **Când:** De 2 ori pe zi, când găsește tehnici noi în notele procesate +- **Ce caută:** respirație, relaxare, mindfulness, pattern interrupt, mișcare scurtă +- **Script consum:** `tools/pauza_random.py` - alege random și afișează cu context +- **Job output:** `respiratie-orar` (09:00-19:00 București, orar) - trimite pe #echo-self + +**Pentru a adăuga tehnică nouă:** Editează acest fișier, adaugă în secțiunea potrivită (BIROU/ACASĂ) cu format: +```markdown +### Nume Tehnică +- Pași concreți +- **Rezultat:** Ce obții +- **Sursă:** De unde vine +``` --- @@ -9,33 +23,49 @@ ### Postură - Verifică: umeri căzuți? Corectează: piept deschis, bărbie ușor ridicată. 30 secunde. +- **Rezultat:** Reduce tensiunea cervicală, crește energia instant (+15% alertă) +- **Sursă:** Amy Cuddy - Power Poses | [studii posturale](https://www.ted.com/talks/amy_cuddy_your_body_language_may_shape_who_you_are) ### Respirație discretă - **4-7-8:** Inspiră 4 sec, ține 7 sec, expiră 8 sec. O singură dată, cu atenție. - **Box breathing:** 4-4-4-4 (inspiră, ține, expiră, ține) +- **Rezultat:** Activează sistemul nervos parasimpatic, reduce cortizolul în 60 sec +- **Sursă:** [Dr. Andrew Weil - 4-7-8](https://www.drweil.com/health-wellness/body-mind-spirit/stress-anxiety/breathing-three-exercises/) | [Box breathing - Navy SEALs](https://www.healthline.com/health/box-breathing) ### Privire în depărtare (20-20-20) - La fiecare 20 min, privește la 20 feet (6m) distanță, 20 secunde. - Alternativ: cel mai îndepărtat punct vizibil → cel mai apropiat. Repetă de 3 ori. +- **Rezultat:** Reduce oboseala oculară cu 50%, previne dureri de cap de la ecran +- **Sursă:** American Academy of Ophthalmology - regula 20-20-20 ### Întindere la scaun - Gât: cap spre umărul stâng 15 sec, spre dreapta 15 sec - Umeri: ridică-i la urechi, ține 5 sec, lasă-i să cadă - Brațe: ridică-le sus, întinde-te. Aplecă spre stânga, spre dreapta. +- **Rezultat:** Eliberează tensiunea acumulată, îmbunătățește circulația +- **Sursă:** Ergonomie birou + fizioterapie clasică ### Apă rece pe față - Du-te la baie. Spală-te pe față cu apă rece. Resetare instant. +- **Rezultat:** Activează reflexul de scufundare (dive reflex) - scade pulsul, resetează starea +- **Sursă:** Fiziologie: reflexul mamifer de scufundare; Wim Hof ### Mers scurt - Până la fereastră, cafea, baie - Privește afară 30 sec. Observă ceva ce nu ai observat înainte. +- **Rezultat:** Întrerupe bucla de gândire, resetează atenția +- **Sursă:** Cal Newport - Deep Work; pattern interrupt ### Scanare corp - Închide ochii. De la cap la picioare: unde e tensiunea? Gât? Umeri? Maxilar? Relaxează acea zonă. +- **Rezultat:** Conștientizare somatică, reduce tensiunea cronică +- **Sursă:** [MBSR - Jon Kabat-Zinn](https://www.mindfulnesscds.com/pages/body-scan-meditation) ### Relaxare maxilar/umeri - Maxilarul e mereu încordat. Lasă-l să cadă. Limba pe cerul gurii. - Umerii - lasă-i să cadă, nu-i ține sus. +- **Rezultat:** Deblochează tensiunea stocată (maxilarul și umerii sunt primii care se încordează la stres) +- **Sursă:** Bessel van der Kolk - The Body Keeps the Score; somatic release --- @@ -45,30 +75,44 @@ ### Genuflexiuni / mișcare intensă - 10-20 genuflexiuni - Sau: jumping jacks, flotări, orice să miște sângele +- **Rezultat:** Eliberează endorfine, schimbă starea în 2-3 minute +- **Sursă:** Tony Robbins - "Motion creates emotion" | [notă KB](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/youtube/2026-01-31_tony-robbins-secret-extraordinary-life.md) ### Stretching complet - Întindere corp întreg, 5-10 minute - Focus pe zone tensionate: gât, umeri, spate +- **Rezultat:** Reduce cortizolul, pregătește corpul pentru odihnă +- **Sursă:** Yoga basics; fizioterapie preventivă ### Duș/apă rece pe corp - Duș rece scurt (30 sec - 2 min) - Sau: doar apă rece pe față și gât +- **Rezultat:** Boost imunitar, crește norepinefrina (+530% în studii), energie +- **Sursă:** [Wim Hof Method](https://www.wimhofmethod.com/cold-therapy) | [studii Dr. Rhonda Patrick](https://www.foundmyfitness.com/topics/cold-exposure) ### Recunoștință (simțită, nu gândită) - Un lucru care a mers azi - Simte-l în corp, nu doar gândește-l +- **Rezultat:** Shift de la stres la calm, activează cortexul prefrontal +- **Sursă:** Dr. Robert Emmons - cercetare recunoștință; HeartMath Institute ### Plimbare afară - 10-15 minute, fără telefon - Observă: ce vezi, ce auzi, ce simți +- **Rezultat:** Reduce anxietatea cu 12%, crește creativitatea cu 60% +- **Sursă:** Stanford "walking creativity study"; shinrin-yoku (forest bathing) --- -## Surse -- Tony Robbins: pattern interrupt, mișcare, schimbare temperatură -- James Clear: joc infinit, mișcare sustenabilă -- Insights procesate automat +## Surse complete +- **Tony Robbins:** pattern interrupt, schimbare fiziologie, mișcare +- **James Clear:** obiceiuri atomice, joc infinit +- **Amy Cuddy:** power poses, limbaj corporal +- **Dr. Andrew Weil:** respirație 4-7-8 +- **Jon Kabat-Zinn:** MBSR, scanare corp +- **Wim Hof:** expunere la frig, respirație +- **Cal Newport:** deep work, focus --- -*Ultima actualizare: 2026-02-01* +*Ultima actualizare: 2026-02-02* diff --git a/tools/pauza_random.py b/tools/pauza_random.py index 889c566..3960191 100644 --- a/tools/pauza_random.py +++ b/tools/pauza_random.py @@ -4,6 +4,8 @@ Alege o tehnică de pauză random din memory/tehnici-pauza.md În funcție de ora curentă (București = UTC+2): - 09:00-17:00 → BIROU - 18:00+ → ACASĂ + +Output include: tehnica + rezultat + sursă (pentru context) """ import random @@ -27,7 +29,9 @@ def parse_tehnici(filepath): tehnici = {'BIROU': [], 'ACASA': []} current_section = None current_tehnica = None - current_details = [] + current_detalii = [] + current_rezultat = None + current_sursa = None for line in content.split('\n'): # Detectează secțiunea @@ -38,11 +42,13 @@ def parse_tehnici(filepath): current_section = 'ACASA' continue elif line.startswith('## ') or line.startswith('---'): - # Altă secțiune (Surse, etc.) - oprește parsarea + # Altă secțiune (Surse, etc.) - salvează și oprește if current_section and current_tehnica: tehnici[current_section].append({ 'titlu': current_tehnica, - 'detalii': '\n'.join(current_details).strip() + 'detalii': current_detalii, + 'rezultat': current_rezultat, + 'sursa': current_sursa }) current_section = None continue @@ -56,38 +62,68 @@ def parse_tehnici(filepath): if current_tehnica: tehnici[current_section].append({ 'titlu': current_tehnica, - 'detalii': '\n'.join(current_details).strip() + 'detalii': current_detalii, + 'rezultat': current_rezultat, + 'sursa': current_sursa }) current_tehnica = line[4:].strip() - current_details = [] + current_detalii = [] + current_rezultat = None + current_sursa = None + elif line.startswith('- **Rezultat:**'): + current_rezultat = line.replace('- **Rezultat:**', '').strip() + elif line.startswith('- **Sursă:**'): + current_sursa = line.replace('- **Sursă:**', '').strip() elif line.startswith('- ') and current_tehnica: - # Detaliu (bullet point) - current_details.append(line[2:].strip()) + # Detaliu (bullet point, exclude doar Rezultat și Sursă) + detaliu = line[2:].strip() + # Curăță bold markers + detaliu = re.sub(r'\*\*([^*]+)\*\*:', r'\1:', detaliu) + if detaliu: + current_detalii.append(detaliu) # Salvează ultima tehnică if current_section and current_tehnica: tehnici[current_section].append({ 'titlu': current_tehnica, - 'detalii': '\n'.join(current_details).strip() + 'detalii': current_detalii, + 'rezultat': current_rezultat, + 'sursa': current_sursa }) return tehnici def formateaza_mesaj(tehnica): - """Formatează tehnica pentru mesaj Discord.""" + """Formatează tehnica pentru mesaj Discord cu context.""" titlu = tehnica['titlu'] detalii = tehnica['detalii'] + rezultat = tehnica.get('rezultat') + sursa = tehnica.get('sursa') # Alege un detaliu random dacă sunt mai multe - detalii_list = [d for d in detalii.split('\n') if d.strip()] - if detalii_list: - detaliu = random.choice(detalii_list) - # Curăță formatarea markdown - detaliu = re.sub(r'\*\*([^*]+)\*\*', r'\1', detaliu) + if detalii: + detaliu = random.choice(detalii) else: detaliu = "" - return f"**{titlu}.** {detaliu}" + # Construiește mesajul + lines = [f"**{titlu}**"] + if detaliu: + lines.append(detaliu) + if rezultat: + lines.append(f"📊 _{rezultat}_") + if sursa: + # Extrage link-uri din markdown [text](url) și afișează separat + link_pattern = re.compile(r'\[([^\]]+)\]\(([^)]+)\)') + links = link_pattern.findall(sursa) + # Curăță sursa de markdown links pentru text simplu + sursa_clean = link_pattern.sub(r'\1', sursa) + lines.append(f"📚 {sursa_clean}") + # Adaugă link-urile pe linii separate + for text, url in links: + lines.append(f"🔗 <{url}>") + + return '\n'.join(lines) def main(): filepath = Path(__file__).parent.parent / 'memory/kb/tehnici-pauza.md'