How arnabpal2022/veritas works
Veritas is an AI-news digest generator with a Streamlit blog interface and a command-line entry point. Its main workflow searches for current AI news, summarizes each article, then uses those summaries to compose and save a Markdown report. The web app can trigger generation and browse dated report files; the CLI prints the generated report. The excerpts show the workflow wiring and report-file handling, but not the full UI implementation or external service internals.
Main entry points: workflow.py Workflow coordinator · publisher.py Report publisher · streamlit_app.py Streamlit interface · newsSearcher.py News search
Components 14
User entry points
- CLI runner
main.py - Streamlit interface
streamlit_app.py
News workflow
- Workflow coordinator
app/workflow.py - News search
app/agents/newsSearcher.py - Article summarizer
app/agents/summarizer.py - Report publisher
app/agents/publisher.py - Article and state models
app/models.py
AI generation
- Tavily search API
- LLM and API setup
app/llm.py - Report prompt
app/prompts.py
Report archive
- Dated Markdown reports
- Report archive browser
streamlit_app.py - Report display
streamlit_app.py
Other components
- News reader
Connections 19
- News reader → Streamlit interface: uses
README.md - News reader → CLI runner: runs
README.md - Streamlit interface → Workflow coordinator: generates via
streamlit_app.py - CLI runner → Workflow coordinator: invokes
main.py - Workflow coordinator → News search: dispatches
app/workflow.py - Workflow coordinator → Article summarizer: dispatches
app/workflow.py - Workflow coordinator → Report publisher: dispatches
app/workflow.py - News search → Tavily search API: searches with
app/agents/newsSearcher.py - News search → Article and state models: creates articles
app/agents/newsSearcher.py - Article summarizer → LLM and API setup: invokes
app/agents/summarizer.py - Article summarizer → Article and state models: summarizes articles
app/agents/summarizer.py - Report publisher → LLM and API setup: invokes
app/agents/publisher.py - Report publisher → Report prompt: uses prompt
app/agents/publisher.py - Report publisher → Dated Markdown reports: writes report
app/agents/publisher.py - Workflow coordinator → Dated Markdown reports: returns report for saving
- Streamlit interface → Report archive browser: browses dates
README.md - Report archive browser → Dated Markdown reports: reads reports
streamlit_app.py - Report archive browser → Report display: selects report
streamlit_app.py - Report display → News reader: presents digest
README.md