尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證sistema para facilitar a escolha de um filme por meio das reviews dos usuários no Letterboxd, tirando o viés de ler uma ou duas reviews de pessoas que gostaram muito ou odiaram tudo.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A nota média mente. Um filme com nota 3,5 pode ser um filme que todo mundo achou mediano — ou um filme que metade amou e metade odiou. A média não distingue os dois casos; o Espectro 24 sim. Um agregador de reviews do Letterboxd para quem ainda não assistiu ao filme e quer saber, antes de decidir: o que quem não gostou disse, o que quem ficou no meio disse, e o que quem gostou disse — cada grupo com as suas próprias palavras, sem que a média os misture num número só. Sem spoilers, sem nota, sem "8,5/10 — obra-prima".檢視完整 README ↗
A nota média mente. Um filme com nota 3,5 pode ser um filme que todo mundo achou mediano — ou um filme que metade amou e metade odiou. A média não distingue os dois casos; o Espectro 24 sim.
Um agregador de reviews do Letterboxd para quem ainda não assistiu ao filme e quer saber, antes de decidir: o que quem não gostou disse, o que quem ficou no meio disse, e o que quem gostou disse — cada grupo com as suas próprias palavras, sem que a média os misture num número só. Sem spoilers, sem nota, sem "8,5/10 — obra-prima".
A média achata o espectro. Um filme divisivo e um filme consensualmente mediano podem ter a mesma nota e são experiências completamente diferentes para quem vai assistir. O produto mostra a distribuição — quanto do público está em cada faixa — e, dentro de cada faixa, os temas que mais aparecem: o que incomoda quem não gostou, o que convence quem gostou, e se os grupos concordam sobre do que o filme trata (discordando só no veredito) ou discordam também sobre o que há para discordar.
coleta por faixa de nota (negativas · medianas · positivas)
↓
classificação de cada review numa taxonomia fechada de 10 eixos
(ritmo, atuação, direção e imagem, roteiro, som, tom, impacto emocional,
comparações, expectativa, crítica social) — por votação de 3 passadas
↓
bullets por grupo: os de maior frequência (do que esse grupo mais fala)
e os de maior contraste (o que esse grupo fala muito mais que os outros)
↓
narrativa em três movimentos: o filme → a experiência que os três grupos
compartilham → onde e como eles discordam
Cada número na tela é contagem de código sobre a classificação persistida — nenhuma frequência é estimada ou lembrada por um LLM. O LLM decide o que dizer sobre um tema (a frase, o parafraseado); o código decide quantas reviews mencionam cada coisa.
O produto é honesto sobre o que não sabe, de propósito:
impacto_emocional tem precisão medida de 0,794 contra um gabarito
humano de 100 reviews (era 0,486 antes de um segundo estágio de
verificação, que roda depois da classificação e só pode remover marcação
errada — nunca adicionar). É o único dos 10 eixos com essa fragilidade
medida; os outros não passaram pelo mesmo escrutínio porque não deram
sinal de precisar.A SPEC.md é a autoridade técnica completa do projeto — toda
decisão, toda medição, todo changelog desde a v1.0.
python3 -m venv venv && source venv/bin/activate
pip install -e ".[llm]" # empacotado (pyproject.toml, src-layout)
export GEMINI_API_KEY=... # ou ANTHROPIC_API_KEY / DEEPSEEK_API_KEY
Registra o comando espectro24 no PATH do venv. A chave também pode viver
num .env na raiz (carregado automaticamente, não versionado).
espectro24 --slug oppenheimer-2023 # por slug
espectro24 "city of god" # por nome (resolve o slug)
espectro24 --slug oppenheimer-2023 --tom ambos # síntese estruturada + narrativa
espectro24 --slug oppenheimer-2023 --offline # reexecução 100% cache
Sem --provider, cada estágio usa o provider configurado para ele
(PROVIDER_POR_ESTAGIO em config.py) — hoje, classificação e rotulagem
em DeepSeek, narrativa em Gemini. --provider força um único provider em
todos os estágios.
Gera resultado/<slug>.json. Ver SPEC.md §4 para o schema completo.
pip install -e ".[llm,test]"
python -m pytest tests/ # zero rede, zero chamada real de LLM
python scripts/verificador_impacto.py aplicar-producao # verificador sobre o consenso
python scripts/publicar_catalogo.py # pipeline completo, checkpoint/resume
python frontend/build_data.py # embute os JSONs no frontend
pyproject.toml empacotamento (setuptools, src-layout) + console script "espectro24"
src/espectro24/
config.py parâmetros congelados + provider por estágio
fetcher.py rede + cache em disco + parada anti-bot
collector.py coleta por nível + cascata de relaxamento
selecao.py seleção 40/40/40 estratificada por profundidade
synthesize.py síntese por bucket + adaptador ÚNICO de LLM (guard-rail no CI)
narrador.py narrativa em 3 movimentos, best-of-3
eixos.py frequência, lift, margem, contraste — tudo Fraction, zero LLM
pipeline.py orquestração coleta → seleção → síntese → eixos → narrativa
cli.py argparse (espectro24 --slug ...)
scripts/ harnesses de classificação, verificação, votação, publicação e auditoria
frontend/ site estático (HTML/CSS/JS puro, sem build step, dados embutidos)
tests/ ~1100 testes contra fixtures/, zero rede, zero LLM real