Files
zpravobot-digest/README.md
2026-01-05 17:12:17 +01:00

139 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Zpravobot Digest Bot
Automatický denní digest z Mastodon postů pomocí Claude AI.
## Struktura
```
/app/data/zpravobot-digest/
├── export-daily.sh # Export postů z DB do CSV
├── digest-bot.py # Hlavní script (Claude + Mastodon)
├── run-digest.sh # Wrapper s config
├── config.env.example # Template konfigurace
└── README.md
```
## Instalace
### 1. Klonuj repo
```bash
cd /app/data
git clone https://gitea.tvoje-domena.cz/user/zpravobot-digest.git
cd zpravobot-digest
```
### 2. Konfigurace
```bash
cp config.env.example config.env
nano config.env
```
Vyplň:
- `ANTHROPIC_API_KEY` - Claude API token
- `TOKEN_ZPRAVOBOT` - Mastodon token pro @zpravobot
- `TOKEN_POZITIVNI` - Mastodon token pro @pozitivni
- `TOKEN_SARKASTICKY` - Mastodon token pro @sarkasticky
### 3. Práva
```bash
chmod +x export-daily.sh run-digest.sh digest-bot.py
chmod 600 config.env
```
### 4. Test
```bash
./export-daily.sh # Export CSV
./run-digest.sh zpravobot # Test digestu
```
## Použití
### Manuální spuštění
```bash
./run-digest.sh zpravobot # Neutrální digest
./run-digest.sh pozitivni # Pozitivní digest
./run-digest.sh sarkasticky # Sarkastický digest
```
### Automatizace (Cloudron Cron)
```
0 6 * * * /app/data/zpravobot-digest/export-daily.sh
0 7 * * * /app/data/zpravobot-digest/run-digest.sh zpravobot
0 12 * * * /app/data/zpravobot-digest/run-digest.sh pozitivni
0 18 * * * /app/data/zpravobot-digest/run-digest.sh sarkasticky
```
## Výstup
### Export CSV
- **Lokace:** `/app/data/posts-latest.csv`
- **Formát:** `id,created_at,text,uri,url,account_id`
- **Rozsah:** Posledních 48 hodin
- **Archiv:** `/app/data/archive/posts-YYYY-MM-DD.csv` (7 dní)
### Digest
- 2-toot thread (summary + odkazy)
- Publikováno na příslušný bot účet
- Styl podle bot personality
## Jak to funguje
1. **Export (6:00):** SQL → CSV export z PostgreSQL
2. **Digest (7:00/12:00/18:00):**
- Načte CSV
- Pošle data Claude API
- Claude analyzuje témata
- Publikuje 2-toot thread na Mastodon
## Struktura souborů
```
/app/data/
├── zpravobot-digest/ # Git repo
│ ├── export-daily.sh
│ ├── digest-bot.py
│ ├── run-digest.sh
│ ├── config.env # Gitignored!
│ └── README.md
├── posts-latest.csv # Denní export
├── archive/ # 7-denní historie
│ └── posts-YYYY-MM-DD.csv
└── logs/
└── export.log
```
## Požadavky
- Python 3.x (v Cloudron Mastodonu je)
- Mastodon instance (zpravobot.news)
- Claude API přístup
- 3× Mastodon bot účty s tokeny
## Bezpečnost
- ⚠️ `config.env` obsahuje citlivé tokeny → chmod 600
- ⚠️ Nepublikuj `config.env` do Gitu (je v .gitignore)
- ✅ DB přístup jen pro export script
- ✅ Digest script čte pouze CSV (bez DB přístupu)
## TODO
- [ ] Prompt optimalizace pro Clauda
- [ ] Error handling v digest-bot.py
- [ ] Notifikace při selhání
- [ ] Web dashboard pro statistiky
## Autor
Kolega + Claude