{"id":13632133,"url":"https://github.com/polyrabbit/hacker-news-digest","last_synced_at":"2025-05-15T07:05:34.474Z","repository":{"id":20859260,"uuid":"24146052","full_name":"polyrabbit/hacker-news-digest","owner":"polyrabbit","description":":newspaper: Let ChatGPT Summarize Hacker News for You","archived":false,"fork":false,"pushed_at":"2025-04-30T16:47:07.000Z","size":4876,"stargazers_count":712,"open_issues_count":14,"forks_count":93,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-30T17:47:35.650Z","etag":null,"topics":["chatgpt","chatgpt-api","crawler","data-extraction","extract-summaries","hacker-news","hacker-news-digest","hacker-news-reader","machine-learning","news-aggregator","openai","openai-api","python","rss","spider"],"latest_commit_sha":null,"homepage":"http://hackernews.betacat.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polyrabbit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2014-09-17T13:34:44.000Z","updated_at":"2025-04-30T16:47:10.000Z","dependencies_parsed_at":"2023-10-01T16:38:31.323Z","dependency_job_id":"eb24e244-dc93-4261-8416-88a2e3332326","html_url":"https://github.com/polyrabbit/hacker-news-digest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fhacker-news-digest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fhacker-news-digest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fhacker-news-digest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fhacker-news-digest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polyrabbit","download_url":"https://codeload.github.com/polyrabbit/hacker-news-digest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292040,"owners_count":22046426,"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":["chatgpt","chatgpt-api","crawler","data-extraction","extract-summaries","hacker-news","hacker-news-digest","hacker-news-reader","machine-learning","news-aggregator","openai","openai-api","python","rss","spider"],"created_at":"2024-08-01T22:02:52.940Z","updated_at":"2025-05-15T07:05:29.456Z","avatar_url":"https://github.com/polyrabbit.png","language":"Python","funding_links":[],"categories":["Python","NLP","ChatGPT-based applications"],"sub_categories":["Other sdk/libraries"],"readme":"[Let ChatGPT Summarize Hacker News for You](https://hackernews.betacat.io/)\n==================\n\n[![Github Pages](https://github.com/polyrabbit/hacker-news-digest/actions/workflows/static.yml/badge.svg)](https://github.com/polyrabbit/hacker-news-digest/actions/workflows/static.yml)\n[![license](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/polyrabbit/hacker-news-digest/blob/master/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/polyrabbit/hacker-news-digest/pulls)\n[![Hacker News](https://camo.githubusercontent.com/73322cbcbf1c517bb5d3d8d4e724f81091fc767ccc278b44f1ee1a1179e9ad38/68747470733a2f2f736869656c64732e696f2f62616467652f4861636b65722532304e6577732d6630363532663f6c6f676f3d79253230636f6d62696e61746f72267374796c653d666c61742d737175617265266c6f676f436f6c6f723d7768697465)](https://hackernews.betacat.io/)\n\n\u003e [中文版](https://blog.betacat.io/post/2023/06/summarize-hacker-news-by-chatgpt/)\n\n[Hacker News Summary](https://hackernews.betacat.io/) leverages AI technology to extract summaries\nand illustrations from [Hacker News](https://news.ycombinator.com/)\narticles, providing a seamless news scanning experience.\n\nSummaries are primarily generated by\nChatGPT [gpt-3.5-turbo](https://platform.openai.com/docs/models/gpt-3-5) model, and fallback to\nlocal [GoogleT5](https://huggingface.co/t5-large) model when ChatGPT is not available.\n\n## Features\n\n* Clear and easily understandable summaries generated by our advanced AI assistant\n* Relevant illustrations make articles easily scannable and visually engaging\n* Common video sites, PDFs, and GitHub gists are seamlessly embedded\n* Flexibility to sort articles based on their points, comment count, or publication time\n* Filter the topN articles based on their points.\n* RSS feeds fully supported ([#14](https://github.com/polyrabbit/hacker-news-digest/issues/14), [#19](https://github.com/polyrabbit/hacker-news-digest/issues/19))\n* Local translation (Chinese)\n\n## Talk is cheap, show me the screenshot!\n\n![hn-summary](https://github.com/polyrabbit/hacker-news-digest/assets/2657334/cc08f770-5154-4c7e-8ba8-13c89f394b1f)\n\nEmoji explained:\n\n* ❤️: point - upvotes received from the Hacker News community\n* 👤: user - Hacker News user who submitted this post\n* 🕘: submission time - a human-readable time indicating when the post was submitted\n* 💬: comment count - comments posted by the community, click to visit this comment page\n* 🔗: source of the news - where the news originated\n* 📰: summary model - which model is used to generate the summary, options\n  are `OpenAI`, `GoogleT5` and `Prefix`\n\n## How it works\n\n[Hacker News Summary](https://hackernews.betacat.io/) is a static site hosted on GitHub Pages. It\nperforms the following periodic actions:\n\n1. Parsing the Hacker News page to obtain a list of news articles\n2. Extracting the main content from each news article using\n   a [score algorithm](%5Btutorial%5D%20How-to-extract-main-content-from-web-pages-using-Machine-Learning.ipynb)\n3. Finding the most suitable illustration for each article and making a local copy\n4. Generating summaries of the article's content using OpenAI API or invoking a local model as a\n   fallback when the API is unavailable\n5. Rendering a template that incorporates the illustrations and summaries, and deploying it to\n   GitHub Pages\n\n## Localization\n\nTranslation is also performed by ChatGPT, with a single extra step in the prompt. Currently supported languages:\n\n* [中文翻译](https://hackernews.betacat.io/zh.html)\n\n## TODO\n\n- [ ] A better way to scrap websites (maybe PhantomJS \u0026 Selenium)\n- [ ] Also summarize comments ([see discussions on Hacker News](https://news.ycombinator.com/item?id=36260140))\n- [ ] Switch to [Hacker News API](https://github.com/HackerNews/API)\n- [ ] A more beautiful home page (maybe in HTML9)\n- [ ] Discover an alternative local models for generating summaries\n- [X] Sort articles by points/comments/time\n- [X] Filter topN articles by points\n- [X] RSS\n- [X] Deploy on github pages\n- [X] Have a good sleep !important\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyrabbit%2Fhacker-news-digest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolyrabbit%2Fhacker-news-digest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyrabbit%2Fhacker-news-digest/lists"}