AI model releases, new papers, and open-source projects from the past 24 hours
There is no single official feed for "everything AI released in the last day." This is the honest map of where the signal actually lives, scoped to the last 24 hours. Then I show how I stopped opening these tabs by hand and had a local agent compile the digest for me on a schedule.
There is no one feed. To see what shipped in the last 24 hours you read four live source pages, each scoped to the last day: Hugging Face Models sorted by created, Hugging Face Daily Papers, the arXiv cs.AI recent listing, and GitHub Trending set to daily. Model weights, papers, raw papers, and open-source code. No single one of them sees the whole field, so a real daily view means reading all four.
The four live sources, and what each one misses
Bookmark these. Every one of them resolves to a fresh, real-time view when you sort or filter it correctly. The dated roundup articles you keep landing on are just someone's manual scrape of these same pages, frozen on the day they published.
| Source | How to scope it | What it covers |
|---|---|---|
| Hugging Face Models | Sort by recently created | New model weights, the moment they are pushed to the Hub.The closest thing to a real-time release feed. Sort newest, then read the top of the list. |
| Hugging Face Daily Papers | Daily tab | New arXiv papers the community is surfacing, often with linked weights.Curated daily. The Daily view is exactly a 24-hour window. |
| arXiv cs.AI recent | Recent listing | Raw paper firehose for AI, before anyone has filtered it.Highest volume, lowest signal. Swap cs.AI for cs.CL, cs.LG, or cs.CV by hand. |
| GitHub Trending | Set range to Today | Open-source projects gaining stars fastest in the last day.Add ?since=daily and filter by language to cut noise. |
Two communities are worth a glance on top of these: r/LocalLLaMA and r/MachineLearning usually surface the releases that matter within hours. They are noisier than the source pages but better at telling you which of the day's releases people actually care about.
The real problem is not finding the sources. It is reading them every day.
Once you know the four pages, the work is trivial and endless. It is the same ten minutes every morning: open four tabs, scroll each until the timestamps cross the 24-hour line, note anything with traction, close them. Trivial, low-judgment, and exactly the kind of task that should not require a human at all. So I stopped doing it by hand.
The tool I build, Fazm, is a native macOS app that wraps Claude Code via the Agent Client Protocol and adds a routine scheduler. You save a prompt once, attach a schedule, and the agent runs it on time against your real browser. For a past-24h digest that means: it opens the four sources, reads what is new, and writes me a summary before I am awake. I read the digest, never the raw feeds.
What the digest routine actually wires together
What happens when the routine fires
This is the part no roundup article can copy, because it is behavior, not text. Here is the actual mechanism, traced from the source. The scheduler lives in RoutineScheduler.swift and polls for due jobs every 60 seconds (pollInterval: TimeInterval = 60). Each routine is a CronJob with a prompt, a schedule (one of cron:<expr>, every:<seconds>, or at:<iso8601>), and a sessionMode of new or resume.
Past-24h digest routine, end to end
Scheduler tick
Every 60 seconds RoutineScheduler calls CronJobStore.dueJobs() to find routines whose schedule is due now.
Spawn a headless agent
Each due job launches cron-runner.mjs with --timeout 600, a full ACP bridge running your saved prompt. Concurrent routine bridges are capped because each is roughly 600MB.
Drive the real browser
The agent opens the four source pages through the bundled Playwright extension, using your live session, and reads each page as text via the browser and accessibility tree rather than screenshots.
Write the digest
Results are written to the cron_runs table and synced into chat_messages, so the digest shows up as a normal message in your chat history.
Survive restarts
Jobs and runs live in local SQLite (cron_jobs / cron_runs), so the routine keeps firing across app closes and Mac restarts. With sessionMode resume it remembers yesterday's digest and flags only what changed.
The reason this matters for a release digest specifically: Hugging Face and GitHub render a lot of their content with JavaScript and personalize it to your logged-in session. An agent that drives your real browser sees the same page you would, not a stripped or rate-limited version, and because it reads structured text instead of OCR-ing a screenshot, the model names, paper titles, and star counts come through accurately.
Setting up your own daily digest
No code. The whole thing is a saved prompt plus a schedule. You can even dictate the prompt with voice by holding the hotkey instead of typing it.
From zero to a digest in your inbox-style chat
- 1
Install Fazm
Download the native macOS app and connect your existing Claude Pro or Max account. No new subscription; usage hits your current plan.
- 2
Write the digest prompt
Tell it the four sources, ask it to pull anything from the last 24 hours, and describe the format you want (grouped by models, papers, projects).
- 3
Attach a schedule
Save it as a routine with a cron schedule, for example every weekday at 7am, and pick resume mode so it remembers yesterday.
- 4
Read, do not fetch
Each morning the digest is waiting in the chat. You skim it in a minute instead of crawling four sites for ten.
Where this approach is honestly weaker
A scheduled agent reading four pages is good at coverage and terrible at taste. It will faithfully list a model that nobody ends up using next to one that reshapes the field, because raw recency does not encode importance. That is what the community tabs are for. If you want the digest to rank what matters, tell the agent to cross-reference each item against discussion volume on r/LocalLLaMA and Hugging Face upvotes, and accept that this is a heuristic, not judgment.
The other limit is the obvious one: the agent is only as current as its last run. A 7am routine will not catch something that drops at noon. If you live on the edge of releases, set a tighter schedule, or keep reading the source pages yourself and use the routine as the safety net for the days you forget.
Want a routine that does more than a news digest?
Walk through your repetitive desktop work and we will sketch the routines that could run it on a schedule, on your own Mac.
Questions people actually ask
Is there a single feed for AI model releases from the past 24 hours?
No. There is no official, authoritative 'everything released in the last 24 hours' feed for AI. The closest live sources are Hugging Face Models sorted by created (huggingface.co/models?sort=created), Hugging Face Daily Papers (huggingface.co/papers), the arXiv cs.AI recent listing (arxiv.org/list/cs.AI/recent), and GitHub Trending with the range set to daily (github.com/trending?since=daily). Each one is a different slice: model weights, papers, papers again at the raw level, and open-source code. To get a real picture of a single day you have to read all four, because no one of them sees the whole field.
Why are the dated roundup articles I keep finding unreliable?
Because they are hand-written snapshots with a date stamp, and the field moves faster than the publishing cadence. A page titled with a specific day was usually drafted a day or two earlier, covers whatever the author happened to see, and is never updated. By the time it ranks, the 24 hours it describes are long gone and several of the releases it lists have been superseded. They are fine as historical context. They are useless as a current view. The only way to get a genuinely fresh past-24h picture is to read the live sources yourself, or have something read them for you on a schedule.
What is the fastest manual way to scan the last day?
Open four tabs: Hugging Face Models sorted by created, Hugging Face Daily Papers on the Daily tab, arXiv cs.AI recent, and GitHub Trending with since=daily. Scroll each until the timestamps cross the 24-hour line, note anything with traction, and stop. It takes about ten minutes if you do it every day and know what you are looking for. The problem is not that it is hard. The problem is that it is the same ten minutes every single morning, which is exactly the kind of repetitive, low-judgment task worth handing to an agent.
How does Fazm compile the digest without me checking the sources?
Fazm has a built-in routine scheduler. You save a prompt like 'open these four pages, pull anything posted in the last 24 hours, and write me a digest' and attach a schedule. The scheduler (RoutineScheduler.swift) polls for due jobs every 60 seconds. When your routine is due, it spawns a headless agent (cron-runner.mjs) that drives your actual browser through the bundled Playwright extension, reads each source page, and writes the result back into your chat history. You read the digest, not the raw feeds.
Why does driving the real browser matter for this?
Two reasons. First, several of these sources render content in JavaScript and gate parts behind a logged-in session. An agent driving your real browser sees exactly what you see, with your cookies, so it does not get a stripped-down or rate-limited view. Second, Fazm reads the page through the browser and the macOS accessibility tree rather than guessing from screenshots, so it can pull the actual model names, paper titles, and star counts as text instead of OCR-ing them off pixels. That is the difference between a digest you can trust and one you have to double-check.
Will the routine keep running if I close the app or restart my Mac?
Yes. Routines live in a local SQLite store (cron_jobs and cron_runs tables), so they survive an app close and a full restart. When Fazm relaunches, the scheduler picks up where it left off and fires any job that is due. Chats themselves persist the same way, keyed by task, so the digest history is still there when you reopen the window. Nothing about the routine depends on the app having stayed open overnight.
Can the digest accumulate context across days instead of starting fresh each time?
Yes. Each routine has a sessionMode field set to either 'new' or 'resume'. With 'resume' the routine keeps firing inside the same conversation, so the agent can remember what it told you yesterday and flag what is genuinely new versus a re-post. With 'new' every run is a clean slate. For a daily AI-release digest, resume is usually what you want, because the value is in 'what changed since yesterday,' not 'everything that exists today.'
Is Fazm doing the model inference, or is it the harness around it?
It is the harness. Fazm wraps Claude Code (and Codex) via the Agent Client Protocol and brings your own Claude Pro or Max account, so the reasoning is the same agent loop you already use. What Fazm adds is the native macOS surface around it: the routine scheduler, persistent sessions, browser and native-app control through accessibility APIs, and voice input. For a digest task, the model reads and summarizes; Fazm is the part that opens the pages, runs it on time, and keeps the history.
Related reading
New LLM releases and what they mean for Mac desktop agents
A look at recent model releases through the lens of what actually runs and drives apps on a Mac.
Claude Code persistent sessions on macOS
How Fazm keeps Claude Code chats alive across restarts instead of losing them, the same mechanism the digest routine relies on.
Open-source computer-use agent for Mac
The accessibility-tree approach to driving your Mac that lets an agent read pages as text, not pixels.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.