{"id":27852007,"url":"https://github.com/Qetesh/miniflux-ai","last_synced_at":"2025-05-04T03:01:48.001Z","repository":{"id":252900446,"uuid":"841557415","full_name":"Qetesh/miniflux-ai","owner":"Qetesh","description":"Miniflux with AI. Add AI summaries, translations, and AI news based on RSS content","archived":false,"fork":false,"pushed_at":"2025-04-12T19:53:05.000Z","size":41,"stargazers_count":74,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T20:26:35.890Z","etag":null,"topics":["ai","llm","miniflux","miniflux-extension","openai","rss"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qetesh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-12T16:36:22.000Z","updated_at":"2025-04-12T19:37:13.000Z","dependencies_parsed_at":"2024-08-19T10:18:06.999Z","dependency_job_id":"6665135b-32aa-4845-83a7-530ada3c2d53","html_url":"https://github.com/Qetesh/miniflux-ai","commit_stats":null,"previous_names":["qetesh/miniflux-ai"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qetesh%2Fminiflux-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qetesh%2Fminiflux-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qetesh%2Fminiflux-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qetesh%2Fminiflux-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qetesh","download_url":"https://codeload.github.com/Qetesh/miniflux-ai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252280889,"owners_count":21723054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","llm","miniflux","miniflux-extension","openai","rss"],"created_at":"2025-05-04T03:01:45.470Z","updated_at":"2025-05-04T03:01:47.938Z","avatar_url":"https://github.com/Qetesh.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# miniflux-ai\nMiniflux with AI\n\nThis project integrates with Miniflux to fetch RSS feed content via API or webhook. It then utilizes large language models (e.g., Ollama, ChatGPT, LLaMA, Gemini) to generate summaries, translations, and AI-driven news insights.\n\n## Features\n\n- **Miniflux Integration**: Seamlessly fetch unread entries from Miniflux or trigger via webhook.\n- **LLM Processing**: Generate summaries, translations, etc. based on your chosen LLM agent.\n- **AI News**: Use the LLM agent to generate AI morning and evening news from feed content.\n- **Flexible Configuration**: Easily modify or add new agents via the `config.yml` file.\n- **Markdown and HTML Support**: Outputs in Markdown or styled HTML blocks, depending on configuration.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      summaries, translations\n    \u003c/td\u003e\n    \u003ctd\u003e\n      AI News\n    \u003c/td\u003e \n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e \n      \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/user-attachments/assets/11c208d9-816a-4c8c-bc00-2f780529e58d\"\u003e\n        \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/user-attachments/assets/c97e2774-ec10-4acb-bef7-25cf8d43da15\"\u003e\n        \u003cimg alt=\"miniflux AI summaries translations\" src=\"https://github.com/user-attachments/assets/c97e2774-ec10-4acb-bef7-25cf8d43da15\" width=\"400\" \u003e \n      \u003c/picture\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \n      \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/user-attachments/assets/b40f5bdd-d265-4beb-a14c-d39d6624760b\"\u003e\n        \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/user-attachments/assets/e5985025-15f3-43b0-982b-422575962783\"\u003e\n        \u003cimg alt=\"miniflux AI summaries translations\" src=\"https://github.com/user-attachments/assets/e5985025-15f3-43b0-982b-422575962783\" width=\"400\" \u003e \n      \u003c/picture\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Requirements\n\n- Python 3.11+\n- Dependencies: Install via `pip install -r requirements.txt`\n- Miniflux API Key\n- API Key compatible with OpenAI-compatible LLMs (e.g., Ollama for LLaMA 3.1)\n\n## Configuration\n\nThe repository includes a template configuration file: `config.sample.yml`. Modify the `config.yml` to set up:\n\n\u003e If using a webhook, enter the URL in Settings \u003e Integrations \u003e Webhook \u003e Webhook URL.\n\u003e \n\u003e If deploying in a container alongside Miniflux, use the following URL:\n\u003e http://miniflux_ai/api/miniflux-ai.\n\n- **Miniflux**: Base URL and API key.\n- **LLM**: Model settings, API key, and endpoint.Add timeout, max_workers parameters due to multithreading\n- **AI News**: Schedule and prompts for daily news generation\n- **Agents**: Define each agent's prompt, allow_list/deny_list filters, and output style（`style_block` parameter controls whether the output is formatted as a code block in Markdown）.\n\n\n## Docker Setup\n\nThe project includes a `docker-compose.yml` file for easy deployment:\n\n\u003e If using webhook or AI news, it is recommended to use the same docker-compose.yml with miniflux and access it via container name.\n\n```yaml\nservices:\n    miniflux_ai:\n        container_name: miniflux_ai\n        image: ghcr.io/qetesh/miniflux-ai:latest\n        restart: always\n        environment:\n            TZ: Asia/Shanghai\n        volumes:\n            - ./config.yml:/app/config.yml\n```\nRefer to `config.sample.*.yml`, create `config.yml`\nTo start the services:\n\n```bash\ndocker-compose up -d\n```\n\n## Usage\n\n1. Ensure `config.yml` is properly configured.\n2. Run the script: `python main.py`\n3. The script will fetch unread RSS entries, process them with the LLM, and update the content in Miniflux.\n\n## Roadmap\n- [x] Add daily summary(by title, Summary of existing AI)\n  - [x] Add Morning and Evening News（e.g. 9/24: AI Morning News, 9/24: AI Evening News）\n  - [x] Add timed summary\n\n## FAQ\n\u003cdetails\u003e\n\u003csummary\u003eIf the formatting of summary content is incorrect, add the following code in Settings \u003e Custom CSS:\u003c/summary\u003e\n```\npre code {\n    white-space: pre-wrap;\n    word-wrap: break-word;\n}\n```\n\u003c/details\u003e\n\n## Contributing\n\nFeel free to fork this repository and submit pull requests. Contributions and issues are welcome!\n\n\u003ca href=\"https://github.com/Qetesh/miniflux-ai/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Qetesh/miniflux-ai\" /\u003e\n\u003c/a\u003e\n\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=Qetesh/miniflux-ai\u0026type=Date)](https://star-history.com/#Qetesh/miniflux-ai\u0026Date)\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQetesh%2Fminiflux-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FQetesh%2Fminiflux-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQetesh%2Fminiflux-ai/lists"}