Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
4b28a2b
Corrigir diagnóstico do Termux no preflight
dgreych Aug 24, 2026
b994c4d
Reescrever guia Termux conforme o instalador real
dgreych Aug 24, 2026
f2f6930
Evitar side effect ao verificar wake lock
dgreych Aug 24, 2026
2538be7
Fortalecer instalação limpa no Termux
dgreych Aug 24, 2026
65a5236
Adicionar instalador para macOS
dgreych Aug 24, 2026
decfb2d
Documentar instalação no macOS
dgreych Aug 24, 2026
24acc89
Alinhar README com plataformas realmente suportadas
dgreych Aug 24, 2026
8b21a23
Ampliar CI de portabilidade para macOS e Termux
dgreych Aug 24, 2026
fdb6ccb
Restaurar store exigida pelo runtime público
dgreych Aug 24, 2026
b93d9f4
Restaurar agregador do runtime público
dgreych Aug 24, 2026
bf1ed10
Restaurar mídia citada no snapshot público
dgreych Aug 24, 2026
4112a53
Restaurar operações exigidas pelo runtime público
dgreych Aug 24, 2026
5e46bc2
Alinhar validação ao cartão real do criador
dgreych Aug 24, 2026
90de8f7
Corrigir store usado pela integração BunnyFy
dgreych Aug 24, 2026
395cb18
Reforçar apresentação visual do projeto
dgreych Aug 24, 2026
1bef70d
Refazer guia visual do Termux
dgreych Aug 24, 2026
d12c8e7
Refazer guia visual do Windows
dgreych Aug 24, 2026
37cff81
Refazer guia visual do Linux
dgreych Aug 24, 2026
c7110cf
Refazer guia visual do macOS
dgreych Aug 24, 2026
13156b0
Corrigir store legado no downloader do YouTube
dgreych Aug 24, 2026
5a71a7a
Aplicar sanitização final da identidade pública
dgreych Aug 24, 2026
b752f4e
Executar sanitização na validação do PR
dgreych Aug 24, 2026
f0d383d
Aplicar correção final de identidade no snapshot público
dgreych Aug 24, 2026
32dc985
Documentar matriz pública de portabilidade
dgreych Aug 24, 2026
9e2997b
Remover automação temporária de sanitização
dgreych Aug 24, 2026
1d58f35
Restaurar validação pública definitiva
dgreych Aug 24, 2026
fbd8bb6
Documentar configuração e dono da instância
dgreych Aug 25, 2026
ce8f10b
Explicitar ambiente e integrações opcionais
dgreych Aug 25, 2026
0569304
Criar ambiente local no instalador Linux
dgreych Aug 25, 2026
21a5edb
Criar ambiente local no instalador Termux
dgreych Aug 25, 2026
3b959d2
Criar ambiente local no instalador macOS
dgreych Aug 25, 2026
01308df
Criar ambiente local no instalador Windows
dgreych Aug 25, 2026
2fe8b95
Auditar configuração e integrações no preflight
dgreych Aug 25, 2026
1573f3a
Explicar instalação, dono e APIs no README
dgreych Aug 25, 2026
40c77ec
Alinhar primeiros passos ao onboarding da instância
dgreych Aug 25, 2026
a4a5aa3
Explicar dono e configuração no guia Windows
dgreych Aug 25, 2026
7f7ff59
Explicar dono e configuração no guia Linux
dgreych Aug 25, 2026
296c33b
Explicar dono e configuração no guia Termux
dgreych Aug 25, 2026
0922f86
Explicar dono e configuração no guia macOS
dgreych Aug 25, 2026
2bd8b07
Manter integrações legadas realmente opt-in
dgreych Aug 25, 2026
019cd27
Tratar integrações ausentes como opcionais no preflight
dgreych Aug 25, 2026
0ff43ba
Adicionar trava de drift da configuração pública
dgreych Aug 25, 2026
1fadcf7
Executar contrato de configuração na CI pública
dgreych Aug 25, 2026
711f5bb
Evitar falsos positivos na auditoria de configuração
dgreych Aug 25, 2026
96e2aff
Explicitar ausência de chave obrigatória nos primeiros passos
dgreych Aug 25, 2026
72aafbf
Cobrir todos os modos BunnyFy na configuração
dgreych Aug 25, 2026
fd97306
Expor modos BunnyFy omitidos no ambiente público
dgreych Aug 25, 2026
1d9a1af
Auditar modos BunnyFy sociais e transcrição no preflight
dgreych Aug 25, 2026
cac7a22
Validar modos dinâmicos sem confundir códigos de erro
dgreych Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 63 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,12 +1,73 @@
# Identidade padrão do SHOGUN
# SHOGUN — configuração privada da instância
#
# Os instaladores copiam este arquivo para .env.local quando ele não existe.
# O núcleo do bot não exige chave de API para iniciar. Preencha somente as
# integrações que você realmente utilizar. Nunca versione .env.local.

# Identidade visual padrão do produto. O dono principal é configurado por
# `npm run setup` e fica em dados/src/config.json, não neste arquivo.
BOT_NAME=𝖘𝖍𝖔𝖌𝖚𝖓
DEFAULT_PERSONA=shogun

# Recomendado para Termux e aparelhos com pouca memória.
SHOGUN_LOW_MEMORY=false

# Controles seguros do módulo de downloads.
# ---------------------------------------------------------------------------
# BunnyFy — opcional
# ---------------------------------------------------------------------------
# false = o bot usa caminhos locais/legados quando disponíveis.
# true = habilita as capacidades BunnyFy configuradas abaixo.
BUNNYFY_ENABLED=false
BUNNYFY_BASE_URL=
BUNNYFY_API_TOKEN=
BUNNYFY_ALLOW_INSECURE_HTTP=false
BUNNYFY_ACCOUNT_URL=
BUNNYFY_CAPABILITY_TIMEOUT_MS=120000

# Modos: off | primary | exclusive
# off = não usa BunnyFy nessa capacidade
# primary = tenta BunnyFy e usa fallback quando o contrato permitir
# exclusive = usa BunnyFy sem fallback legado
BUNNYFY_AI_MODE=off
BUNNYFY_AI_TIMEOUT_MS=120000
BUNNYFY_YOUTUBE_MODE=off
BUNNYFY_YOUTUBE_TIMEOUT_MS=190000
BUNNYFY_YOUTUBE_MAX_BYTES=52428800
BUNNYFY_YOUTUBE_MAX_CONCURRENCY=4
BUNNYFY_TRANSCRIPTION_MODE=off
BUNNYFY_FACEBOOK_MODE=off
BUNNYFY_PINTEREST_MODE=off
BUNNYFY_TIKTOK_MODE=off
BUNNYFY_KWAI_MODE=off
BUNNYFY_IMAGES_MODE=off
BUNNYFY_STICKERS_MODE=off
BUNNYFY_CANVAS_MODE=off
BUNNYFY_LOGOS_MODE=off
BUNNYFY_GAMES_MODE=off
BUNNYFY_IMAGE_GEN_MODE=off
BUNNYFY_TAVERN_RENDER_MODE=off
BUNNYFY_NEXO_RENDER_MODE=off

# ---------------------------------------------------------------------------
# IA direta NVIDIA — opcional
# ---------------------------------------------------------------------------
# Necessária somente quando a assistente usar NVIDIA diretamente:
# - BUNNYFY_AI_MODE=off; ou
# - BUNNYFY_AI_MODE=primary e você quiser fallback direto.
# Em BUNNYFY_AI_MODE=exclusive, a credencial do provider pertence à BunnyFy.
NVIDIA_API_KEY=

# ---------------------------------------------------------------------------
# Transcrição VEX legada — opcional
# ---------------------------------------------------------------------------
# Preencha apenas se sua instalação usar o fallback legado de transcrição.
VEX_API_KEY=
VEX_SITE=

# ---------------------------------------------------------------------------
# Upload GitHub legado — opcional
# ---------------------------------------------------------------------------
# Não é requisito geral do SHOGUN. Use apenas nos fluxos que ainda dependam
# desse mecanismo e crie um token dedicado com o menor escopo possível.
UPLOAD_GITHUB_TOKEN=
UPLOAD_GITHUB_REPO=
47 changes: 46 additions & 1 deletion .github/workflows/shogun-validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
run: npm ci --no-audit --no-fund
- name: Inspecionar plataforma
run: npm run preflight
- name: Validar contrato de configuração pública
run: node scripts/validate-instance-config-contract.mjs
- name: Validar arquitetura modular
run: |
npm run typecheck:vnext
Expand All @@ -59,7 +61,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest, windows-latest, macos-latest]
node: ['20.19.0', '22', '24']
steps:
- name: Baixar o repositório
Expand All @@ -75,12 +77,55 @@ jobs:
shell: bash
run: |
node --check scripts/preflight-platform.mjs
node --check scripts/validate-instance-config-contract.mjs
node --check dados/src/.scripts/config.js
node --check dados/src/.scripts/start.js
node --check dados/src/.scripts/start-v9-fixed.js
node --check dados/src/connect.js
node --check dados/src/index.js
bash -n scripts/install-linux.sh
bash -n scripts/install-macos.sh
bash -n scripts/install-termux.sh
- name: Conferir configuração neutra
run: node -e "const c=require('./dados/src/config.example.json'); if(c.nomebot!=='SHOGUN'||c.numerodono!=='55DDDNUMERO') process.exit(1)"
- name: Construir arquitetura modular
run: npm run build:vnext

contrato-termux:
name: Contrato Termux/Android
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Baixar o repositório
uses: actions/checkout@v4
- name: Preparar Node.js mínimo suportado
uses: actions/setup-node@v4
with:
node-version: '20.19.0'
cache: npm
- name: Preparar FFmpeg
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg
- name: Instalar dependências como clone limpo
run: npm ci --no-audit --no-fund
- name: Validar script Android
run: |
bash -n scripts/install-termux.sh
grep -q 'nodejs-lts' scripts/install-termux.sh
grep -q 'ffmpeg' scripts/install-termux.sh
grep -q 'termux-tools' scripts/install-termux.sh
grep -q '.env.local' scripts/install-termux.sh
- name: Exercitar ramificação Termux do preflight
env:
TERMUX_VERSION: ci
PREFIX: /tmp/shogun-termux-prefix
run: |
mkdir -p "$PREFIX/bin"
touch "$PREFIX/bin/termux-wake-lock"
node scripts/preflight-platform.mjs
- name: Validar entradas do runtime
run: |
node --check dados/src/.scripts/start-v9-fixed.js
node --check dados/src/connect.js
node --check dados/src/index.js
Loading
Loading