Come automatizzare la creazione di contenuti TikTok Slides con Hermes Agent (Guida passo dopo passo)

Come automatizzare la creazione di contenuti TikTok Slides con Hermes Agent (Guida passo dopo passo)

@alexcooldev
INGLESE3 giorni fa · 13 mag 2026

AI features

257K
762
56
30
2.4K

TL;DR

Questa guida spiega come utilizzare Hermes Agent per automatizzare le Slides di TikTok, dalla ricerca degli hook alla selezione delle immagini, utilizzando la modalità bozza per superare i controlli anti-bot.

Attualmente, TikTok sta potenziando notevolmente visualizzazioni e coinvolgimento per i slideshow, puoi dare un'occhiata a questi canali.

Alex Nguyen - inline image
Alex Nguyen - inline image
Alex Nguyen - inline image
Alex Nguyen - inline image

Perché questa combinazione

I slideshow sono il formato con la massima leva su TikTok al momento:

  • L'algoritmo li spinge ancora in modo aggressivo (contenuti economici, problema di offerta infinita dal lato di TT)
  • Nessuna ripresa, nessun montaggio, nessun volto richiesto
  • Guidato da hook → puoi testare A/B 50 hook al giorno
  • I caricamenti in bozza bypassano la maggior parte del rilevamento bot che colpisce l'API di pubblicazione diretta

Il collo di bottiglia non sono mai state le idee. Era la catena di montaggio. Hook → nicchia → direzione dell'immagine → 8 composizioni di slide → didascalia → pianificazione. Fare questo manualmente = 20 minuti per post. Per 30 account = un lavoro a tempo pieno che odi.

Hermes Agent è lo strumento giusto perché non è un framework che installi con npm e colleghi, è un agente CLI autonomo che vive dove lo metti (il mio server Hetzner da $5), con skill integrate, cron, MCP e delega a subagenti. L'intera pipeline è solo skill che l'agente carica + cron job che le attivano secondo programma. Nessuna infrastruttura di code, nessun pool di worker da gestire.

Passo 1: Installa Hermes Agent

Installazione con un comando sul VPS:

bash
1curl -fsSL https://hermes-agent.nousresearch.com/install.sh | sh

Scegli un provider:

bash
1hermes provider set anthropic
2# oppure
3hermes provider set openrouter

Io uso Anthropic via OAuth (piano Max) per le fasi più agentiche (ricerca hook, direzione immagine, didascalia) e un fallback economico di OpenRouter per i poll ad alto volume. Puoi anche collegare Nous Portal, OpenAI Codex, DeepSeek, Z.AI, Kimi: il modello Hermes ti guida attraverso tutto.

Verifica che funzioni:

bash
1hermes --version

Se risponde, hai superato la parte più difficile. La guida rapida completa è su https://hermes-agent.nousresearch.com/docs/getting-started/quickstart.

Poi installa il gateway come servizio systemd in modo che i cron job vengano eseguiti anche quando non sei connesso:

bash
1hermes gateway install
2sudo systemctl enable hermes-gateway
3sudo systemctl start hermes-gateway

Questo è il demone che fa scattare lo scheduler ogni 60 secondi ed esegue i job in sessioni agente fresche.

Passo 2: Modello mentale: pipeline = skill + cron, non worker

La maggior parte dei tutorial di automazione ricorre a code e worker. Hermes capovolge questo approccio. L'unità di lavoro è una skill (file markdown in ~/.hermes/skills/) e il trigger è un cron job che carica una o più skill e le esegue.

Ecco la mappatura per la pipeline TikTok:

Alex Nguyen - inline image

Ogni skill è un file markdown che l'agente carica su richiesta. I cron job le concatenano tramite context_from. Lo scheduler di Hermes esegue ogni job in una sessione isolata fresca, quindi nessuna corruzione dello stato tra account.

Passo 3: Crea le skill

Le skill risiedono in ~/.hermes/skills/<categoria>/<nome-skill>/SKILL.md. L'agente può crearle da solo tramite skill_manage, oppure puoi scriverle a mano. Io faccio un misto: abbozzo la struttura, poi lascio che Hermes la perfezioni dopo averla vista funzionare.

Skill Hook Researcher

bash
1~/.hermes/skills/tiktok/hook-researcher/SKILL.md:
2
3# Ricercatore di Hook
4
5Sei un ricercatore di hook per slideshow TikTok nella nicchia {argument name="nicchia" default="fitness"}.
6
7## Istruzioni
81. Analizza i primi 20 slideshow virali in questa nicchia degli ultimi 7 giorni.
92. Identifica i pattern di hook utilizzati (es., gap di curiosità, problema-soluzione, listicle, ecc.).
103. Genera 10 nuove idee di hook che probabilmente funzioneranno bene.
114. Per ogni hook, fornisci:
12 - Il testo dell'hook (max 150 caratteri)
13 - L'archetipo dell'hook
14 - Perché funzionerebbe per questa nicchia
15
16## Formato di output
17Restituisci un array JSON di oggetti hook.

Skill Image Source Router

Questa decide tra Pinterest e AI gen per ogni slot.

bash
1~/.hermes/skills/tiktok/source-router/SKILL.md:
2
3# Router delle Fonti Immagine
4
5Ricevi un hook e una nicchia. Devi decidere se ogni slide deve usare un'immagine presa da Pinterest o generata dall'AI.
6
7## Regole
8- Nicchie "autentiche" (fitness, viaggi, cibo, moda) → Pinterest
9- Nicchie "astratte" (concetti, motivazione, citazioni) → AI gen
10- Se Pinterest, specifica la query di ricerca
11- Se AI gen, specifica il prompt di generazione
12
13## Output
14Restituisci un array JSON di {slot_index, source, query_or_prompt}.

Skill Pinterest Scraper

Questa ha bisogno di uno script helper perché l'agente non dovrebbe fare logica di rotazione HTTP in-context.

bash
1~/.hermes/skills/tiktok/pinterest-scraper/SKILL.md:
2
3# Pinterest Scraper
4
5Usa lo script Python in `scripts/scrape.py` per scaricare immagini da Pinterest.
6
7## Parametri
8- query: la query di ricerca da Pinterest
9- count: numero di immagini da scaricare (default: 8)
10
11## Output
12Salva le immagini in `output/{job_id}/images/` e restituisci un array di percorsi file.

~/.hermes/skills/tiktok/pinterest-scraper/scripts/scrape.py è un normale script Python. L'agente lo invoca tramite execute_code o terminal e analizza stdout. Il PROXY_POOL_URL dichiarato sopra viene passato automaticamente nei sandbox di execute_code — questa è una funzionalità di Hermes che mi ha risparmiato un sacco di configurazioni di env.

Slide Compositor (modalità senza agente)

Questa fase è completamente deterministica. Nessun LLM necessario. Hermes ha la modalità no_agent proprio per questo:

bash
1~/.hermes/scripts/compose-slides.py:

Poi pianificalo come cron job no_agent: wakeAgent non si attiva mai, nessun costo LLM in questo passaggio.

Skill Publisher

bash
1~/.hermes/skills/tiktok/publisher/SKILL.md:
2
3# Publisher
4
5Carica lo slideshow completato su TikTok tramite Postiz.
6
7## Parametri
8- account_id: l'ID dell'account TikTok su Postiz
9- media_dir: directory contenente le slide ordinate
10- caption: la didascalia generata
11- draft: booleano, se vero carica come bozza
12
13## Flusso
141. Compila le slide in un video (se necessario)
152. Chiama Postiz per creare un post pianificato
163. Se draft=True, imposta content_posting_method="UPLOAD"
174. Restituisci l'ID del post

Passo 4: L'uccisore di shadow ban: sempre modalità bozza

Questa è la parte che la maggior parte dei tutorial salta, ed è il motivo principale per cui i nuovi account muoiono.

Se un account ha meno di 30 giorni, carica SEMPRE come bozza. Nessuna eccezione.

I nuovi account su TikTok sono in prova. L'algoritmo profila:

  • Pubblicare tramite l'API Content Posting → rischio bot +1
  • IP di pubblicazione non corrispondente all'IP abituale del dispositivo → +1
  • Intervalli sospettosamente regolari → +1
  • Metadati incompleti o incoerenti rispetto alla cattura su dispositivo → +1

Accumula 2-3 di questi su un account nuovo e vieni shadow bannato silenziosamente. Nessuna notifica. Video bloccati a 50-200 visualizzazioni per sempre. Penserai che i tuoi contenuti facciano schifo. Non è vero: l'account è morto.

La skill Publisher qui sopra imposta la modalità bozza per qualsiasi account con meno di 30 giorni / meno di 20 post. Postiz lo carica come bozza, poi la mia farm di iPhone prende la bozza (tramite automazione WebDriverAgent) e preme Pubblica da un dispositivo reale con un IP reale. TikTok vede una pubblicazione iniziata da un umano da un dispositivo noto — pulito.

Protocollo di riscaldamento:

  • Giorni 1-7: l'account non fa altro che scorrere, mettere like, seguire
  • Giorni 8-14: pubblica 1 bozza/giorno, pubblicata dal dispositivo 2-4 ore dopo la creazione della bozza
  • Giorni 15-30: aumenta a 2-3 bozze/giorno, randomizza gli orari di pubblicazione entro ±90 min
  • Giorno 30+: ritmo completo della pipeline, sempre modalità bozza

Hermes cron + Postiz Cloud + pubblicazione da dispositivo della farm di iPhone = indistinguibile dal comportamento organico per i classificatori di TikTok.

Passo 5: Collega tutto insieme con cron + context_from

Questa è la magia del sistema cron di Hermes. Ogni fase della pipeline è un cron job separato. Il job N legge l'output più recente del job N-1 tramite context_from. La catena viene eseguita end-to-end senza che io orchestri nulla.

Creo la catena da una singola sessione di chat con Hermes:

text
1hermes --tui
2
3> Devo impostare la pipeline TikTok per l'account acc_42, nicchia=fitness.
4
5> Pianifica la pipeline per essere eseguita ogni giorno alle 09:00 UTC.
6
7> Catena: ricerca hook → routing fonti → scrape Pinterest → composizione → didascalia → pubblicazione.
8
9> Ogni fase deve usare la skill corrispondente e ricevere contesto dalla fase precedente.

Hermes usa internamente lo strumento cronjob e crea la catena. Ecco come appaiono le chiamate dirette equivalenti (Hermes lo fa per te):

bash
1hermes cron create \
2 --name "hook-research-acc42" \
3 --schedule "0 9 * * *" \
4 --skill "tiktok/hook-researcher" \
5 --workdir "/home/user/accounts/acc42" \
6 --context_from "" \
7 --deliver "none"
8
9hermes cron create \
10 --name "source-route-acc42" \
11 --schedule "0 9 * * *" \
12 --skill "tiktok/source-router" \
13 --workdir "/home/user/accounts/acc42" \
14 --context_from "hook-research-acc42" \
15 --deliver "none"
16
17hermes cron create \
18 --name "pinterest-scrape-acc42" \
19 --schedule "5 9 * * *" \
20 --skill "tiktok/pinterest-scraper" \
21 --workdir "/home/user/accounts/acc42" \
22 --context_from "source-route-acc42" \
23 --deliver "none"
24
25hermes cron create \
26 --name "compose-acc42" \
27 --schedule "10 9 * * *" \
28 --skill "" \
29 --script "/home/user/scripts/compose-slides.py" \
30 --no_agent True \
31 --workdir "/home/user/accounts/acc42" \
32 --context_from "pinterest-scrape-acc42" \
33 --deliver "none"
34
35hermes cron create \
36 --name "caption-acc42" \
37 --schedule "15 9 * * *" \
38 --skill "tiktok/caption-writer" \
39 --workdir "/home/user/accounts/acc42" \
40 --context_from "compose-acc42" \
41 --deliver "none"
42
43hermes cron create \
44 --name "publish-acc42" \
45 --schedule "20 9 * * *" \
46 --skill "tiktok/publisher" \
47 --workdir "/home/user/accounts/acc42" \
48 --context_from "caption-acc42" \
49 --deliver "telegram"

Alcune cose chiave:

context_from concatena gli output. Hermes legge l'output salvato più recente di ogni job upstream da ~/.hermes/cron/output/{job_id}/ e lo prepone al prompt del job successivo come contesto. Niente database, niente code, niente codice colla.

workdir esegue il job all'interno della directory del progetto. Questo significa che AGENTS.md, .cursorrules e qualsiasi file di contesto locale vengono caricati automaticamente. Utile quando tieni le configurazioni degli account e gli override dei prompt in un repository di progetto.

no_agent=True sul compositore. Lavoro puramente deterministico con Sharp/PIL. Nessun motivo per pagare un turno LLM. Lo stdout dello script diventa l'output del job e si concatena normalmente alla fase successiva.

deliver="telegram" mi avvisa quando la pubblicazione è completata. Uso "all" per la fase finale sull'account di alto valore, così ricevo il ping di successo su ogni canale connesso.

Passo 6: Controllo dei toolset per fase (risparmio sui costi)

Di default, i cron job ereditano i toolset che hai configurato per la piattaforma cron tramite hermes tools. Ma per il controllo dei costi sulle fasi ad alta frequenza, blocca i toolset per job:

bash
1hermes cron update hook-research-acc42 --toolsets '["file"]'
2hermes cron update pinterest-scrape-acc42 --toolsets '["terminal", "file"]'
3hermes cron update compose-acc42 --toolsets '[]' # no_agent, nessun toolset
4hermes cron update publish-acc42 --toolsets '["terminal", "file"]'

La ricerca hook non ha bisogno di toolset browser, terminale o delega — quelli gonfiano il prompt dello schema degli strumenti a ogni chiamata LLM. Bloccare il job hook a ["file"] ha ridotto i miei token di generazione hook di circa il 40%. Su 30 account × 1 post/giorno × 30 giorni = soldi veri.

Il job di scrape Pinterest ha bisogno di ["terminal", "file"] per chiamare lo script. Il compositore in modalità no_agent non carica alcun toolset (nessun agente viene eseguito). Il publisher ha bisogno di ["terminal", "file"] per postiz-cli.

Passo 7: Salta l'agente quando non è cambiato nulla

Hermes ha un pattern di script di pre-controllo che è perfetto per il job hook giornaliero. Se i dati di performance della nicchia non sono cambiati da ieri, non c'è motivo di generare nuovi hook — i primi 3 di ieri sono ancora i primi 3.

bash
1~/.hermes/scripts/hook-precheck.py:
2
3#!/usr/bin/env python3
4import json, sys
5from pathlib import Path
6
7# Legge i dati di performance più recenti
8perf_file = Path("/home/user/data/niche_performance.json")
9if not perf_file.exists():
10 sys.exit(1) # nessun dato, lascia che l'agente generi
11
12with open(perf_file) as f:
13 data = json.load(f)
14
15# Controlla se i dati sono cambiati rispetto all'ultima esecuzione
16last_run = Path("/tmp/last_hook_run.txt")
17if last_run.exists():
18 with open(last_run) as f:
19 last_data = f.read()
20 if json.dumps(data, sort_keys=True) == last_data:
21 sys.exit(0) # niente di nuovo, salta l'agente
22
23# Salva i dati correnti per il prossimo controllo
24with open(last_run, "w") as f:
25 f.write(json.dumps(data, sort_keys=True))
26sys.exit(1) # dati cambiati, lascia che l'agente generi

Collegalo tramite il parametro script quando crei il cron job. L'agente si sveglia solo quando i dati di performance sono effettivamente cambiati. In un giorno tipico in cui non ho registrato manualmente nulla di nuovo, questo salta completamente l'LLM. Gratis.

Passo 8: Configurazione di Postiz Cloud (o puoi auto-ospitarlo) + la skill ufficiale di Hermes

Ho provato ad auto-ospitare Postiz in Docker per 2 mesi. Ho passato più tempo a sistemare il contenitore che a costruire funzionalità — aggiornamenti dei token OAuth che fallivano, disco dei media che si riempiva, worker di pianificazione che moriva silenziosamente. Postiz Cloud a $29/mese mi ha recuperato circa 5 ore/settimana di debug.

La configurazione in 60 secondi:

bash
1# Installa la skill Postiz ufficiale
2hermes skill install postiz-agent
3
4# Configura le credenziali
5hermes config set postiz.api_key "il_tuo_api_key"
6hermes config set postiz.base_url "https://cloud.postiz.com"

La skill Postiz si espone a Hermes attraverso questo SKILL.md (vive in ~/.hermes/skills/postiz-agent/SKILL.md dopo l'installazione):

bash
1~/.hermes/skills/postiz-agent/SKILL.md:
2
3# Postiz Agent
4
5Interfaccia con Postiz per la pianificazione e pubblicazione dei post.
6
7## Strumenti
8- `postiz schedule`: Crea un post pianificato
9- `postiz upload`: Carica media
10- `postiz status`: Controlla lo stato di un post
11
12## Parametri
13- api_key: {argument name="chiave_api" default="la_tua_chiave"}
14- base_url: {argument name="url_base" default="https://cloud.postiz.com"}

Hermes legge questo all'avvio della sessione, registra il binario postiz come strumento, e ora qualsiasi cron job che carica questa skill può chiamarlo.

Nozioni di base sull'API che vale la pena conoscere

Alex Nguyen - inline image

Il sistema a due livelli di modalità mette in difficoltà le persone. Postiz ha il suo type: "draft" per i post che rimangono nell'interfaccia di Postiz senza andare da nessuna parte. NON è quello che vogliamo. Vogliamo type: "schedule" con content_posting_method: "UPLOAD" — Postiz pianifica il post, lo invia a TikTok all'orario pianificato, ma come bozza lato TikTok che finisce nella casella di posta dell'account per la farm di iPhone che lo pubblica da un dispositivo reale.

Combinazione sbagliata = risultato sbagliato. Testalo su un account prima.

Auto-ospita solo se hai motivi di conformità o se pubblichi a volumi che lo giustificano. Cloud ha un costo reale (limite di 30 richieste/ora per chiave), ma l'auto- hosting ti mangia ore.

Cosa ho imparato a mie spese

Non fidarti dei tuoi primi hook. Ho eseguito la pipeline per 2 weeks sparando l'archetipo di hook #1. Piatto. Sono passato al test A/B di 3 archetipi per nicchia con un ciclo di valutazione giornaliero che leggeva i conteggi delle visualizzazioni di TikTok → ho eliminato gli archetipi morti, ho raddoppiato sui vincitori. Il CTR è aumentato in una settimana.

Pinterest batte l'AI per le nicchie autentiche. Ho passato 3 mesi a ottimizzare i prompt di generazione immagini per slides di trasformazione fitness. Poi ho testato 50/50 contro equivalenti scrapati da Pinterest. Le slide di Pinterest hanno ottenuto 2,3x i salvataggi. Le foto reali colpiscono diversamente. La soluzione: instrada per nicchia.

La modalità bozza è non negoziabile per i nuovi account. Ho perso 4 account prima di accettarlo. Pubblicare direttamente su un account nuovo = shadow ban silenzioso entro la prima settimana. Non lo saprai finché non avrai sprecato 2 mesi di contenuti su un account morto.

Risorse:

Buona fortuna ragazzi 💪

More patterns to decode

Recent viral articles

Explore more viral articles

Creato per i creator.

Trova idee negli articoli virali su 𝕏, capisci perché funzionano e trasforma quei pattern nel tuo prossimo angolo di contenuto.