Build & Deploy ResearchOwl / build-and-push (push) Successful in 9s
Añade /generate short_en y /short_spec. El pipeline genera un shot spec con Haiku, verifica cada cifra, fecha y cita contra los chunks de la sesión, lo renderiza en shortsmith y entrega el MP4 por Telegram junto a un informe de claims. - ShortsmithClient con sondeo y fallback al spec JSON si el render falla - Contrato de plantillas obtenido de GET /templates, no codificado - Comprobación de fundamento determinista, sin LLM - outputs.published_url para enlazar el artículo de Ghost - Normalización de comillas rectas a tipográficas (ver KNOWN-ISSUES.md) Lo que no aparece en los chunks se contrasta contra el ejemplo del prompt: si casa ahí es fuga, no invención, y se informa como tal. El purgado de sesiones se lleva también su MP4. La subida a YouTube queda fuera a propósito: fase 3. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39 lines
1.2 KiB
Bash
39 lines
1.2 KiB
Bash
# ResearchOwl — Environment Variables
|
|
# Copy to .env and fill in values
|
|
|
|
# Required
|
|
TELEGRAM_BOT_TOKEN=your_bot_token_here
|
|
TELEGRAM_ALLOWED_USERS=123456789 # your Telegram user ID
|
|
|
|
# Ollama (default points to your existing instance)
|
|
OLLAMA_URL=http://ollama.chemavx.xyz
|
|
OLLAMA_MODEL=qwen2.5:7b
|
|
OLLAMA_EMBED_MODEL=bge-m3
|
|
|
|
# Claude fallback (optional, only for premium generation)
|
|
# ANTHROPIC_API_KEY=sk-ant-...
|
|
# CLAUDE_MODEL=claude-haiku-4-5
|
|
|
|
# Storage
|
|
DB_PATH=/data/researchowl.db
|
|
|
|
# Scraping tuning
|
|
MAX_DEPTH=3 # how deep to follow links (1-5)
|
|
MAX_SOURCES=150 # hard cap on total sources
|
|
MAX_PAGES_PER_SEARCH=5
|
|
REQUEST_DELAY=1.0 # seconds between requests (be polite)
|
|
MIN_CONTENT_LENGTH=200
|
|
|
|
# Shorts (shortsmith) — el renderizador vive en su propio namespace del cluster.
|
|
# Los valores por defecto ya apuntan al Service interno: sólo hace falta tocarlo
|
|
# para desarrollo local o para apagarlo.
|
|
SHORTSMITH_URL=http://shortsmith-svc.shortsmith.svc.cluster.local:8080
|
|
SHORTSMITH_TIMEOUT=600
|
|
SHORTSMITH_ENABLED=true # false = /generate short_en responde que está apagado
|
|
SHORTS_DIR=/data/shorts # los MP4 van a disco, nunca a SQLite
|
|
|
|
# Processing
|
|
CHUNK_SIZE=800
|
|
CHUNK_OVERLAP=100
|
|
QUALITY_THRESHOLD=0.4 # 0-1, lower = more permissive
|