aktualizace README
This commit is contained in:
137
README.md
137
README.md
@@ -1,3 +1,138 @@
|
|||||||
# zpravobot_bot
|
# Zpravobot Digest Bot
|
||||||
|
|
||||||
Automatický denní digest z Mastodon postů pomocí Claude AI.
|
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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user