{"id":13456128,"url":"https://github.com/jiggy-ai/hn_summary","last_synced_at":"2025-03-24T09:31:29.162Z","repository":{"id":63799462,"uuid":"570691064","full_name":"jiggy-ai/hn_summary","owner":"jiggy-ai","description":"Summarizes top stories from Hacker News using a large language model and post them to a Telegram channel.  ","archived":false,"fork":false,"pushed_at":"2024-05-15T01:58:44.000Z","size":212,"stargazers_count":244,"open_issues_count":6,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-28T23:33:51.221Z","etag":null,"topics":["gpt","gpt-3","gpt-3-prompts","gpt3","hacker-news","hackernews","llm","news","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jiggy-ai.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}},"created_at":"2022-11-25T20:47:51.000Z","updated_at":"2024-10-24T13:20:36.000Z","dependencies_parsed_at":"2024-01-13T17:48:29.573Z","dependency_job_id":"e1b2f519-b2c7-4575-8efd-da484b502040","html_url":"https://github.com/jiggy-ai/hn_summary","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/jiggy-ai%2Fhn_summary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiggy-ai%2Fhn_summary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiggy-ai%2Fhn_summary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiggy-ai%2Fhn_summary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jiggy-ai","download_url":"https://codeload.github.com/jiggy-ai/hn_summary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245243296,"owners_count":20583602,"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":["gpt","gpt-3","gpt-3-prompts","gpt3","hacker-news","hackernews","llm","news","telegram-bot"],"created_at":"2024-07-31T08:01:16.566Z","updated_at":"2025-03-24T09:31:28.715Z","avatar_url":"https://github.com/jiggy-ai.png","language":"Python","funding_links":[],"categories":["NLP","Python"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/jiggy-ai/hn_summary/blob/master/HN_Summary.jpg\" alt=\"HN Summary Bot avatar\" width=256\u003e \n\u003c/p\u003e\n\n**HN Summary**  is an open source bot which sumarizes top stories on Hacker News and publishes the summaries to a Telegram channel.\n\nJoin the **HN Summary** channel on Telegram to see the bot in action and enjoy the story summaries: \\\nhttps://t.me/hn_summary\n\nFlag bad summaries on the telegram channel with 👎 to help mitigate and improve.\n\nYou can find summaries of the current top Hacker News articles here as well: \\\n[https://news.jiggy.ai](https://news.jiggy.ai)\n\nFeel free to open PR/issue or dm me at @wskish on telegram or twitter with feedback.\n\n## Overview\n\nWhenever a new story appears on the Hacker News API /topstories.json endpoint, this bot summarizes it (currently using OpenAI gpt-3.5-turbo) and sends the Story title, summary, and url to the hn_summary channel on Telegram.\n\nThe purpose of this project is to help build intuition on the capabilities of the current generation of large language models while surfacing a broader swath of top Hacker News content.  It could also serve as a platform for experimentation with other language model capabilities such as semantic search.\n\n\n## Limitations\n\nLarge language models such as GPT-3 are prone to crazy hallucinations and sometimes make things up while writing in a very authoritative tone.\n\nThe code for extracting text from html is very basic and error prone. (PR's welcome.)  In addition many sites (such as news sites) are either paywalled or make it difficult to extract text. We now attempt to catch this case via prompt engineering but when one does slip through we tend to get fanciful hallucinations based on just the title and FQDN.\n\nLinks to content types other than PDF and HTML are currently ignored.\n\nText extraction from reddit and twitter and other commercial links are broken and probably produce wildly hallucinated summaries. \n\nTelegram messages are limited to 4K. Currently the response is truncated to 4K.\n\n\n## Major Dependencies\n\nThe following environment variables are used to inject credentials and other required configuration for the major dependencies:\n\n**OpenAI**\n\n* OPENAI_API_KEY # your OpenAI API key\n\n\n**PostgresQL** \n\nDatabase for keeping track of items we have already seen and associated item info.\n\n- HNSUM_POSTGRES_HOST  # The database FQDN\n- HNSUM_POSTGRES_USER  # The database username\n- HNSUM_POSTGRES_PASS  # The database password\n\n**Telegram**\n  \n* HNSUM_TELEGRAM_API_TOKEN # The bot's telegram API token\n* HNSUM_TELEGRAM_CHANNEL_ID # the telegram chat where the bot will post the summaries\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiggy-ai%2Fhn_summary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiggy-ai%2Fhn_summary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiggy-ai%2Fhn_summary/lists"}