You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EntroFeed (熵流) is an open-source, AI-powered RSS reader that leverages Entropy (information theory) and Ontology (knowledge structures) with Large Language Models to understand your professional domains and reading preferences. It helps you build an effective information moat through decentralized RSS feeds.
✨ Features
Core Functionality
Feature
Description
🔗 Personalized Subscription
RSS/Feed aggregation with automatic content fetching; supports RSS and RSShub feeds
# Clone the repository
git clone https://github.com/Moon84/EntroFeed_Reader.git
cd EntroFeed_Reader
# Start with default configuration
docker compose up
# Or configure environment variables firstexport DEFAULT_LLM_PROVIDER=dashscope
export DASHSCOPE_API_KEY=your_api_key
docker compose up
# Install dependencies
make install
# Terminal 1: Start backend (FastAPI on port 8001)
make dev-backend
# Terminal 2: Start frontend (Vite on port 5173)
make dev-frontend
make install # Install all dependencies
make run # Run backend with uvicorn
make dev-frontend # Start Vite dev server
make dev-backend # Start backend with auto-reload
make build # Build Docker images
make docker-up # Start Docker containers
make docker-down # Stop Docker containers
make unit-test # Run pytest
make clean # Clean data directory
Running Tests
# Unit tests
make unit-test
# Or manually
pytest -vvv -cov
# E2E tests (requires running backend)cd frontend && npx playwright test
📡 API Reference
Utility Endpoints
Endpoint
Method
Description
/util/list-feeds
GET
List all configured feeds
/util/feed-stats
GET
Get statistics per feed
/util/list-feed-entries
GET
List entries (supports filtering)
/util/list-handlers
GET
List configured handlers
Feed Management
Endpoint
Method
Description
/api/refresh_feed/{id}
POST
Refresh a specific feed
/api/delete_feed/{id}
POST
Delete a feed
/api/update_feed/
POST
Create/update feed
/api/import_opml/
POST
Import OPML file
/api/export_opml/
GET
Export feeds as OPML
Settings
Endpoint
Method
Description
/api/about
GET
Get settings & app info
/api/update_settings/
POST
Update settings
/api/backup/
GET
Download database backup
/api/restore/
POST
Restore from backup
AI & Agent
Endpoint
Method
Description
/api/agent/chat
POST
Send message to AI assistant
/api/agent/sessions
GET/POST
List/create chat sessions
/api/agent/tools
GET
List available agent tools
/api/translate
POST
Translate text
/api/llm/status
GET
Get LLM provider status
/api/llm/usage
GET
Get token usage stats
Search & Recommendations
Endpoint
Method
Description
/api/search
GET
Search entries
/api/recommendations/interest
GET
Interest-based recommendations
/api/recommendations/trending
GET
Trending entries
/api/recommendations/similar/{id}
GET
Similar entries
🔌 MCP Server
EntroFeed provides a Model Context Protocol (MCP) server for external AI integration.
# Start MCP server
entrofeed mcp --port 8765
# Or in stdio mode
entrofeed mcp --stdio
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide for detailed information.
Quick Guide
Fork the repository
Create your feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'feat(scope): add amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
Good First Issues
Looking for a way to start? Check out issues labeled good first issue!
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
📄 License
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
If you find EntroFeed helpful, please give us a ⭐ on GitHub!
If you find EntroFeed helpful, please give us a ⭐ on GitHub!
About
EntroFeed (熵流) is an open-source, AI-powered RSS reader that leverages Entropy (information theory) and Ontology (knowledge structures) with Large Language Models to understand your professional domains and reading preferences. It helps you build an effective information moat through decentralized RSS feeds.