Files
researchowl/.env.example
T
ChemaVXandClaude Opus 5 20c8d03aa7
Build & Deploy ResearchOwl / build-and-push (push) Successful in 9s
feat(short): generación y render de Shorts vía shortsmith
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>
2026-08-01 21:55:42 +00:00

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