How siva010505/helio2 works
Purpose and Execution Surface
This is a Python agent pipeline for producing and operating video content: research, scripting, visual planning, assembly, publishing, and analytics-driven iteration. Primary runnable surfaces are:
• src/pipeline.py — likely programmatic pipeline entry.
• scripts/run_daily_pipeline.py — daily end-to-end execution.
• scripts/dry_run.py — non-production validation path.
• .github/workflows/daily_pipeline.yml — scheduled/CI automation boundary.
Orchestration and Pipeline Control
The central control plane is an orchestrator that sequences specialized agents and carries state between stages:
• src/agents/orchestrator.py
• src/pipeline.py
• src/config_loader.py
Configuration is externalized in config.yaml, with environment-provided secrets expected through .env.example. The orchestration boundary separates workflow decisions from individual content-generation, rendering, and publishing capabilities.
Content Intelligence and Script Generation
Topic discovery and editorial development are decomposed into specialized agents:
• src/agents/research_agent.py
• src/agents/longform_research_agent.py
• src/agents/deep_dive_script_agent.py
Supporting stages refine output for format and performance: script_agent.py, punch_agent.py, caption_agent.py, seo_agent.py, and scoring_agent.py under src/agents/. This suggests a flow from research evidence to structured script, engagement edits, metadata/captions, and quality scoring.
Media Planning and Production Assembly
Video creation is divided between creative direction, asset planning, narration, thumbnails, and final assembly:
• src/agents/visual_director_agent.py
• src/agents/visual_planner_agent.py
• src/agents/assembly_agent.py
Additional production boundaries include voice_agent.py, thumbnail_agent.py, and compilation_assembler_agent.py. Local media inputs/branding reside under assets/, including assets/video/intro.mp4; stock-media lookup is isolated in src/services/stock_search.py.
Persistence, LLMs, and External Integrations
Persistent pipeline/agent state is modeled behind a database layer:
• src/db/models.py
• src/db/db.py
• src/db/init_db.py
The checked-in data/agent.db indicates a SQLite-style local datastore. Model-provider interaction is centralized in src/llm_client.py, preventing agents from individually owning LLM transport. Publishing is an external-service boundary handled by:
• src/agents/upload_agent.py
• src/youtube/oauth.py
Feedback Loop and Operations
Post-publication analytics feed back into future content decisions:
• src/agents/analytics_agent.py
• src/agents/evaluation_agent.py
• scripts/run_analytics_pull.py
scripts/run_analytics_feedback.py operationalizes the feedback pass, while run_daily_pipeline.py combines production execution with recurring automation. The resulting architecture is a staged, stateful agent system with explicit boundaries for LLM calls, media sourcing, database persistence, YouTube authentication/upload, and analytics ingestion.
Main entry points: orchestrator.py Agent orchestrator · analytics_agent.py Analytics evaluation · assembly_agent.py Video assembly · deep_dive_script_agent.py Script development
Components 17
Execution
- Daily pipeline runner
scripts/run_daily_pipeline.py - Pipeline entry
src/pipeline.py - Scheduled CI
.github/workflows/daily_pipeline.yml
Control plane
- Agent orchestrator · Sequences agents and carries pipeline state.
src/agents/orchestrator.py - Configuration
config.yaml
Content pipeline
- Research · Topic discovery and long-form evidence gathering.
src/agents/research_agent.py - Script development · Develops, refines, and scores scripts, captions, and SEO.
src/agents/deep_dive_script_agent.py
Media production
- Visual planning
src/agents/visual_director_agent.py - Stock media search
src/services/stock_search.py - Voice generation
src/agents/voice_agent.py - Video assembly · Combines planned visuals, narration, branding, and output.
src/agents/assembly_agent.py
Platform boundaries
- LLM client · Centralizes model-provider transport.
src/llm_client.py - Agent state store
data/agent.db - YouTube publishing
src/agents/upload_agent.py - YouTube API · Publishing and analytics service.
Feedback loop
- Analytics evaluation · Evaluates published performance for future decisions.
src/agents/analytics_agent.py - Analytics feedback job
scripts/run_analytics_feedback.py
Connections 20
- Scheduled CI → Daily pipeline runner: triggers
- Daily pipeline runner → Pipeline entry: runs
- Pipeline entry → Agent orchestrator: starts
- Configuration → Agent orchestrator: configures
- Agent orchestrator → Research: research brief
- Research → Script development: evidence and topics
- Script development → Visual planning: script
- Visual planning → Stock media search: asset queries
- Visual planning → Video assembly: visual plan
- Script development → Voice generation: narration script
- Stock media search → Video assembly: media assets
- Voice generation → Video assembly: voiceover
- Video assembly → YouTube publishing: finished video
- YouTube publishing → YouTube API: publishes
- Agent orchestrator → LLM client: model requests
- Agent orchestrator → Agent state store: pipeline state
- Analytics feedback job → Analytics evaluation: runs
- Analytics evaluation → YouTube API: pulls performance
- Analytics evaluation → Agent state store: stores evaluation
- Analytics evaluation → Agent orchestrator: iteration signals