@danhachuel/thunderbolt 0.5.92 → 0.5.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app/main.py
CHANGED
|
@@ -8341,17 +8341,15 @@ def render_notifications():
|
|
|
8341
8341
|
|
|
8342
8342
|
|
|
8343
8343
|
def render_models_ai_tutorial():
|
|
8344
|
-
tutorial_url = "https://github.com/gyoridavid/ai_agents_az/blob/main/episode_8/guide-instagram.md"
|
|
8345
8344
|
tutorial_path = ROOT / "seed" / "references" / "guide-instagram.md"
|
|
8346
8345
|
st.title("Tutorial Meta")
|
|
8347
8346
|
st.caption("Guia de configuração de uma conta Instagram profissional e das credenciais Meta para automações com n8n.")
|
|
8348
|
-
st.markdown(f"[Abrir fonte original no GitHub]({tutorial_url})")
|
|
8349
8347
|
try:
|
|
8350
8348
|
tutorial_content = tutorial_path.read_text(encoding="utf-8").strip()
|
|
8351
8349
|
except OSError:
|
|
8352
8350
|
tutorial_content = ""
|
|
8353
8351
|
if not tutorial_content:
|
|
8354
|
-
st.error("O conteúdo local do tutorial não está disponível.
|
|
8352
|
+
st.error("O conteúdo local do tutorial não está disponível.")
|
|
8355
8353
|
return
|
|
8356
8354
|
st.markdown(tutorial_content, unsafe_allow_html=True)
|
|
8357
8355
|
|
|
@@ -8363,18 +8361,16 @@ def render_niche_tutorial(tutorial_kind: str):
|
|
|
8363
8361
|
|
|
8364
8362
|
|
|
8365
8363
|
def render_supabase_tutorial():
|
|
8366
|
-
tutorial_url = "https://github.com/gyoridavid/ai_agents_az/blob/main/episode_8/guide-supabase.md"
|
|
8367
8364
|
tutorial_path = ROOT / "seed" / "references" / "guide-supabase.md"
|
|
8368
8365
|
ui_language = current_ui_language()
|
|
8369
8366
|
st.title(ui_text("Tutorial Supabase", ui_language))
|
|
8370
8367
|
st.caption(ui_text("Guia de configuração do Supabase para automações com n8n.", ui_language))
|
|
8371
|
-
st.markdown(f"[Abrir fonte original no GitHub]({tutorial_url})")
|
|
8372
8368
|
try:
|
|
8373
8369
|
tutorial_content = tutorial_path.read_text(encoding="utf-8").strip()
|
|
8374
8370
|
except OSError:
|
|
8375
8371
|
tutorial_content = ""
|
|
8376
8372
|
if not tutorial_content:
|
|
8377
|
-
st.error("O conteúdo local do tutorial não está disponível.
|
|
8373
|
+
st.error("O conteúdo local do tutorial não está disponível.")
|
|
8378
8374
|
return
|
|
8379
8375
|
st.markdown(tutorial_content, unsafe_allow_html=True)
|
|
8380
8376
|
|
|
@@ -8384,13 +8380,12 @@ def render_google_oauth_tutorial():
|
|
|
8384
8380
|
tutorial_path = ROOT / "seed" / "references" / "tutorial-oauth-google.md"
|
|
8385
8381
|
st.title("Tutorial OAuth do Google")
|
|
8386
8382
|
st.caption("Guia completo para configurar a autenticação OAuth do Google e o acesso à YouTube Data API v3.")
|
|
8387
|
-
st.markdown("[Abrir Google Cloud Console](https://console.cloud.google.com/)")
|
|
8388
8383
|
try:
|
|
8389
8384
|
tutorial_content = tutorial_path.read_text(encoding="utf-8").strip()
|
|
8390
8385
|
except OSError:
|
|
8391
8386
|
tutorial_content = ""
|
|
8392
8387
|
if not tutorial_content:
|
|
8393
|
-
st.error("O conteúdo local do tutorial não está disponível.
|
|
8388
|
+
st.error("O conteúdo local do tutorial não está disponível.")
|
|
8394
8389
|
return
|
|
8395
8390
|
st.markdown(tutorial_content, unsafe_allow_html=False)
|
|
8396
8391
|
|
|
@@ -8400,13 +8395,12 @@ def render_youtube_frontend_upload_tutorial():
|
|
|
8400
8395
|
tutorial_path = ROOT / "seed" / "references" / "youtube-video-upload-frontend.md"
|
|
8401
8396
|
st.title("Tutorial YouTube Video-Upload Frontend")
|
|
8402
8397
|
st.caption("Guia prático e seguro para rever metadados, sessão e envio directo de vídeos concluídos.")
|
|
8403
|
-
st.markdown("[Abrir referência técnica no GitHub](https://github.com/Nojus10/YouTube-Video-Upload-Frontend-Api)")
|
|
8404
8398
|
try:
|
|
8405
8399
|
tutorial_content = tutorial_path.read_text(encoding="utf-8").strip()
|
|
8406
8400
|
except OSError:
|
|
8407
8401
|
tutorial_content = ""
|
|
8408
8402
|
if not tutorial_content:
|
|
8409
|
-
st.error("O conteúdo local do tutorial não está disponível.
|
|
8403
|
+
st.error("O conteúdo local do tutorial não está disponível.")
|
|
8410
8404
|
return
|
|
8411
8405
|
st.markdown(tutorial_content, unsafe_allow_html=False)
|
|
8412
8406
|
|
|
@@ -8416,13 +8410,12 @@ def render_youtube_data_api_key_tutorial():
|
|
|
8416
8410
|
tutorial_path = ROOT / "seed" / "references" / "tutorial-youtube-data-api-key.md"
|
|
8417
8411
|
st.title("Tutorial YouTube Data API Key (Public Data)")
|
|
8418
8412
|
st.caption("Guia para criar e configurar uma YouTube Data API Key para consultas de dados públicos.")
|
|
8419
|
-
st.markdown("[Abrir documento fonte no Google Drive](https://drive.google.com/file/d/1ypzaR1v8khBxyUQmZ12ZAY0pGTD49mqt/view)")
|
|
8420
8413
|
try:
|
|
8421
8414
|
tutorial_content = tutorial_path.read_text(encoding="utf-8").strip()
|
|
8422
8415
|
except OSError:
|
|
8423
8416
|
tutorial_content = ""
|
|
8424
8417
|
if not tutorial_content:
|
|
8425
|
-
st.error("O conteúdo local do tutorial não está disponível.
|
|
8418
|
+
st.error("O conteúdo local do tutorial não está disponível.")
|
|
8426
8419
|
return
|
|
8427
8420
|
st.markdown(tutorial_content, unsafe_allow_html=False)
|
|
8428
8421
|
|
package/package.json
CHANGED
|
@@ -171,5 +171,3 @@ You'll see this interface below.
|
|
|
171
171
|
2. The Instagram account id which you'll need to set in the `Configure` node in the n8n workflow
|
|
172
172
|
|
|
173
173
|
---
|
|
174
|
-
|
|
175
|
-
> **Source:** [ai_agents_az/episode_8/guide-instagram.md](https://github.com/gyoridavid/ai_agents_az/blob/main/episode_8/guide-instagram.md)
|
|
@@ -65,5 +65,3 @@ No Thunderbolt, abra **Configurações > Configuração API > AI Influencers > B
|
|
|
65
65
|
O Thunderbolt usa o Supabase como backend seleccionado, não como executor de n8n: os assets são enviados ao Storage, os metadados ficam nas tabelas e os estados de geração ficam em `influencer_content`. Para uma execução totalmente local, seleccione **SQLite** no mesmo painel; a alternativa cria `storage/state/ai_influencers.db` e não utiliza a conta Supabase.
|
|
66
66
|
|
|
67
67
|
A conta Supabase está pronta para ser utilizada pela automação.
|
|
68
|
-
|
|
69
|
-
Fonte original: [guide-supabase.md no GitHub](https://github.com/gyoridavid/ai_agents_az/blob/main/episode_8/guide-supabase.md)
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
# Tutorial YouTube Data API Key (Public Data)
|
|
2
|
-
|
|
3
1
|
Este tutorial explica como criar uma **YouTube Data API Key** no Google Cloud e configurá-la no Thunderbolt para consultar dados públicos do YouTube, como vídeos, canais e estatísticas públicas.
|
|
4
2
|
|
|
5
|
-
> **Fonte:** [Tutorial YouTube Data API Key (Public Data) no Google Drive](https://drive.google.com/file/d/1ypzaR1v8khBxyUQmZ12ZAY0pGTD49mqt/view)
|
|
6
|
-
|
|
7
3
|
## Quando usar uma API Key
|
|
8
4
|
|
|
9
5
|
Uma API Key é suficiente para operações com dados públicos, como pesquisar vídeos, consultar canais públicos e obter estatísticas públicas. Ela **não concede acesso a dados privados** da conta nem substitui o OAuth 2.0 para playlists privadas, inscrições privadas ou uploads.
|
|
@@ -93,4 +89,3 @@ Uma API Key só identifica o projecto e permite chamadas autorizadas para dados
|
|
|
93
89
|
- [Google Cloud Console](https://console.cloud.google.com/)
|
|
94
90
|
- [YouTube Data API v3](https://developers.google.com/youtube/v3)
|
|
95
91
|
- [Documentação de quotas da YouTube Data API](https://developers.google.com/youtube/v3/determine_quota_cost)
|
|
96
|
-
- [Documento fonte no Google Drive](https://drive.google.com/file/d/1ypzaR1v8khBxyUQmZ12ZAY0pGTD49mqt/view)
|
|
@@ -42,7 +42,3 @@ Depois de confirmar o canal, a privacidade e os metadados, seleccione o fluxo de
|
|
|
42
42
|
| Falha de rede | Não repita automaticamente sem confirmar se o vídeo foi criado no YouTube Studio. |
|
|
43
43
|
| Metadados incompletos | Corrija título, descrição, tags, idioma ou privacidade no formulário antes de enviar. |
|
|
44
44
|
| Limite ou política da plataforma | Pare o processo e siga as políticas e limites actualmente aplicáveis do YouTube. |
|
|
45
|
-
|
|
46
|
-
## Referência técnica
|
|
47
|
-
|
|
48
|
-
O material fornecido pelo utilizador cita o repositório [Nojus10/YouTube-Video-Upload-Frontend-Api](https://github.com/Nojus10/YouTube-Video-Upload-Frontend-Api). O Thunderbolt apresenta este tutorial como orientação de integração segura; não replica segredos, valores de autenticação nem instruções de extracção de credenciais.
|