General Introduction
Feeds.Fun is a tool that helps users read news efficiently, with core features such as automatically tagging news and filtering content based on user preferences. It was created by developer Aliaksei Yaletski (screen name Tiendil), is hosted on GitHub and is completely open source. Users can use it directly through the online version or build it on their own servers. The tool is suitable for people who subscribe to a large number of news feeds but only want to read content of interest. It incorporates artificial intelligence techniques such as ChatGPT and Gemini, which automatically analyzes and tags news, then sorts it by user-set rules to make reading less time-consuming and more accurate.
Function List
- Automatically generate tags for each news item, such as topics, people or events.
- Supports user-defined rules to score and sort news based on tags.
- Provides filters to hide or highlight news with specific tags.
- Ability to track read news to avoid double reading.
- Supports multi-user or single-user mode for individual or team use.
- Subscribe to and manage multiple RSS news feeds.
- Open source design allows users to host and tweak features themselves.
Using Help
How to install
Feeds.Fun offers both an online version and self-hosted. If you want to use it directly, visit feeds.fun, register and get started. If you want to build it yourself, here are the detailed steps:
Self-hosted installation process
- Preparing the environment
- Make sure your computer or server has Python and Node.js.
- Git needs to be installed to download the code.
- Prepare a PostgreSQL database for storing news data.
- Download Code
- Open a terminal and enter the command:
复制复制复制复制复制复制复制复制复制复制
git clone https://github.com/Tiendil/feeds.fun.git cd feeds.fun
- This will download the project file locally.
- Open a terminal and enter the command:
- Installing the backend
- Enter the following command to install the Python dependency:
复制复制复制复制复制复制复制复制复制
pip install ffun
- Configure the database and run the migration command:
复制复制复制复制复制复制复制复制
ffun migrate
- Start the back-end service:
复制复制复制复制复制复制复制
uvicorn ffun.application.application:app --host 0.0.0.0 --port 8000 --workers 1
- Enter the following command to install the Python dependency:
- Installing the front end
- Enter the command to install the front-end dependencies:
复制复制复制复制复制复制
npm init -y npm install feeds-fun
- Set the environment variables (such as domain and port) and build the front end:
复制复制复制复制复制
npm run build-only --prefix ./node_modules/feeds-fun cp -r ./node_modules/feeds-fun/dist ./static
- The front-end files are generated in the
dist
folder to your static files directory.
- Enter the command to install the front-end dependencies:
- Running the work process
- Launch background tasks such as loading news and generating labels:
复制复制复制复制
ffun workers --librarian --loader
- Launch background tasks such as loading news and generating labels:
- Configuring the AI Interface
- To use the auto-tagging feature, you need to set up OpenAI or Google Gemini The API key for the
- Add it in the environment variables:
复制复制复制
FFUN_OPENAI_API_ENTRY_POINT="你的API地址" FFUN_GOOGLE_GEMINI_API_ENTRY_POINT="你的API地址"
- Or fill in the key in the configuration file.
How to use
Once installed, access your service address (directly with feeds.fun for the online version). Here is the usage of the main functions:
Add News Feed
- After logging in, click on "Feeds Management".
- Enter the RSS link, for example
https://example.com/rss
The - After saving, the system will automatically load the news from that source.
Setting up labels and rules
- Go to the Rules page.
- Add rules like:
- "Tech & AI" tag score +10.
- "Advertising" tag score -50.
- The system will sort the news based on the score, with the higher scores coming first.
Reading and filtering
- See the news list on the home page.
- Click the "Filter" button and choose to see only certain tags (e.g. "Technology") or hide certain tags (e.g. "Entertainment").
- Read news is automatically marked and can be hidden after refreshing.
Self-hosted advanced settings
- If you want to adjust the label generation method, modify the configuration file:
- set up
FFUN_LIBRARIAN_TAG_PROCESSORS_CONFIG
for your configuration file path. - Sample configurations can be found in the GitHub repository.
- set up
- Supports custom API interfaces, suitable for use with other AI services.
This tool is simple to use but powerful. Auto tagging relies on AI, so network and API keys are important. If you are disconnected or don't have the key, you can only use the basic functions.
application scenario
- Personal News Filter
You subscribe to 50 tech blogs, but only care about AI and programming. After setting up the rules, Feeds.Fun automatically puts the relevant news first and hides the rest. - Team Information Sharing
A group focuses on industry dynamics, with members sharing the same instance in multi-user mode, each setting their own rules. - Self-hosted Privacy
Don't want to use the online version, put it on a private server and have all the data in your hands.
QA
- Do I have to pay for it?
The online version is free, but you need to provide your own API key for OpenAI or Gemini to use the AI tagging feature. Self-hosting is completely free, you just need to prepare your own server. - What languages are supported for news?
English and some other languages are currently supported, depending on the capabilities of the AI model. - Why is the news loading slowly?
It could be a network issue, or too many subscribed sources. Check the logs, or try reducing the number of sources.