A provider-agnostic full-text resolver and source-verification layer for AI reading workflows.
Reader is built around a simple pipeline:
- Discover an article.
- Try multiple body providers.
- Verify that a candidate is the same complete source text.
- Only then pass it to the AI reading workflow.
The project also includes a blind-first reading UI: answer before reading, read the source, reflect again, then compare with AI assistance.
AI readers are only as reliable as the text they receive. Search results, reposts, summaries, paywall stubs, and partial mirrors can all look like the original article. Reader separates retrieval from verification so downstream AI does not silently reason over the wrong text.
python -m pip install -r requirements.txt
python reading_app.py --demoThen open http://127.0.0.1:8765.
The public build is local-first. Personalization, background refresh, WeRead discovery, WeChat resolution, Zhihu refresh, and source-specific review are opt-in rather than automatic.
Runtime state defaults to ~/.reader. Do not commit cookies, authorization state, article caches, private reading lists, or downloaded article bodies.
Some source adapters target services that can change independently. Treat them as optional adapters, not as the architectural center of the project.
python -m unittest discover -s tests -vCurrent release-candidate baseline: 37 tests.
MIT.