TrueEye is an AIβpowered tool designed to analyze news articles and web content to detect narrative bias, identify the target audience and reveal hidden intentions or manipulative rhetorical structures. In other words, it doesnβt just detect fake news β it analyzes who the content is written for and why.
This repository provides a productionβgrade Python package containing both
the REST API and a simple frontend. The code is structured under
src/trueeye
with proper type hints, tests, continuous integration and
development tooling. A local analysis stub is provided for offline testing.
The previous Hugging Face Space demo is no longer maintained. You can run your own instance locally using the instructions below.
TrueEye offers two usage modes depending on your needs:
π Quick start: ./start.sh
(See complete instructions below)
TrueEyeBeta.json
π See: README_FLOW.md
for flow instructions
When given a news article URL, TrueEye performs three consecutive analyses:
The report includes links to trustworthy sources for factβchecking.
The project consists of two main components:
trueeye.create_app()
and can be
run using uvicorn
.The heavy lifting is performed by a remote LangFlow pipeline via the
FLOW_API_URL
environment variable. For offline testing you can set
TE_PROVIDER=local
and the API will return a stubbed response.
TrueEye_v1/
βββ src/trueeye/
β βββ __init__.py # Exposes create_app()
β βββ api.py # FastAPI application factory and endpoints
β βββ models.py # Pydantic models
β βββ utils.py # Helper functions
β βββ static/
β βββ index.html # Frontend UI
βββ tests/ # Test suite
βββ pyproject.toml # Project metadata and dependencies
βββ .pre-commit-config.yaml
βββ .github/workflows/ci.yml
βββ CONTRIBUTING.md
βββ CODE_OF_CONDUCT.md
βββ SECURITY.md
βββ LICENSE.txt # Nonβcommercial license
βββ README.md # Project documentation (this file)
# Option 1: Using start.sh script (recommended)
./start.sh
# Option 2: Using Makefile
make start
# Option 3: Direct Nix command
nix-shell --run "trueeye-dev"
The project includes automatic configuration. On first use:
.env
file will be automatically created from .env.example
# To edit configuration:
./start.sh config
# or
make config
# For manual configuration:
cp .env.example .env
# Then edit .env with your favorite editor
Main variables:
TE_PROVIDER=local
β Test mode (no external API)TE_PROVIDER=remote
β Production mode (requires FLOW_API_URL
)PORT=8000
β Server portHOST=0.0.0.0
β Server host# Commands with start.sh:
./start.sh start # Start application (default)
./start.sh test # Run tests
./start.sh config # Edit configuration
./start.sh shell # Open development shell
./start.sh help # Show help
# Commands with Makefile:
make start # Start application
make test # Run tests
make config # Edit configuration
make shell # Open development shell
make clean # Clean temporary files
make check # Verify configuration
make help # Show help
The project includes a fully configured shell.nix
that provides:
.env
if it doesnβt exist--reload
# 1. Clone/access the project
cd /path/to/trueeye_v1
# 2. Run (everything gets configured automatically)
./start.sh
# 3. Access the application
firefox http://localhost:8000
To verify that everything is properly configured:
# Verify dependencies and configuration
make check
# View environment information
make dev-info
# Run tests to validate functionality
./start.sh test
Gonzalo Romero (DeepRat)
AI, Software & Systems Engineer Β· Prompt Engineer Β· FullβStack Developer
π Web | Hugging Face | GitHub | Medium |