Index of everything on this site: https://ai.hiina.space/index.md
No one has published a personal web surfing model: a model trained on one person's open-web history and used to rank links or tabs for them or an agent. The neighbours are mature: next-page prediction, session-based recommendation, web agents and personal LLMs. A useful version is buildable on commodity hardware now. It just shouldn't be a generative model trained on a person's URL stream.
History encodes what you did, distraction included. Kleinberg et al. formalize how optimizing for revealed behavior can raise engagement while lowering welfare. Gwern himself warns that passive lifelog data mostly encodes routine. A pure imitation model of someone's browsing would learn their "please distract me" scrolling.
The workable architecture has two layers.
A local ranker trained on implicit labels (dwell, revisit, saved, closed unread) supplies the "is".
An editable natural-language profile (Gwern's
PRINCIPAL.md), applied by an LLM rerank against the current
task, supplies the "ought".
The literature on LLM user profiles and retrieval favors this over raw-history prompting. TALLRec shows a LoRA reranker can learn from under 100 labeled pairs once the labels exist.
Sharing works best through public curation, not models trained on private history. Browsing histories are about 99% unique, so they act as fingerprints. A "Gwern view" is buildable from his public link-annotation database, tags and newsletters as retrieval plus a profile-prompted judge. Knowledge already does this for about 450 people as an MCP server.
The ought feed has close precedents but no tab version.
BONSAI (an intent-specified Bluesky feed) and Intent Assistant (CHI 2026: state an intention, an LLM nudges toward it) both worked in small field studies. Compass did the same for YouTube Shorts.
Every tab tool groups tabs by similarity or age; none ranks by a stated goal.
The evidence says: clarify the intention each session, make archiving safe so the pile can shrink, and answer "distract me" with a redirect and an explicit leisure option, not a block.
Most promising first build: a weekend ought-triage feed. A local 7 to 8B model scores the open tabs against a goals file and a per-session intention. It returns "now", "archive" and one "unwind" pick. Pair it with a tab logger that starts collecting labels for a later personal-ranker MCP tool. Details are under Prototype options.
One thing to do today: Chrome's history may expire after about 90
days, and Firefox's per-visit interaction data is off by default
(browser.places.interactions.enabled). Start archiving now
if you want training data later.
Text licensed CC BY 4.0 (attribution: Hiina, ai.hiina.space). Source: https://github.com/hiinaspace/ai-hiina-space