This Open-Source Tool Fixes Browser History (Hister)
BBetter Stack
Computing/SoftwareInternet Technology
Transcript
00:00:00i read this in a github issue but chrome history is useless the browser remembers every page you
00:00:06visit but never the part we actually care about what was even on that page so if you forgot the
00:00:11title or url good luck finding it again this is hister and it fixes all that it quietly indexes
00:00:18the full text of every page you read locally so you can search your own browsing history
00:00:23like a private google let me show you
00:00:30all right so browser history stores exactly two things about a page the title and the url that's
00:00:36the whole record the content the part you and i actually remember was never saved so the moment
00:00:43you forgot the exact title that page is gone and on firefox it's worse because the default history
00:00:49expiry is about 90 days there are two kinds of searches discovery search is finding something
00:00:55new heck that's google's job and google is really good at it recall search is finding something you
00:01:02already read and basically nobody is building for recall so you end up doing this ridiculous thing
00:01:08where you google your way back to a page you already read hoping you remember enough of the phrasing to
00:01:14find it again this is what history is for and let me get it going if you enjoy coding tools that speed up
00:01:19your workflow be sure to subscribe we have videos coming out all the time all right let me actually
00:01:24set this thing up from nothing i'm on an apple mac m4 so i'm grabbing the darwin arm 64 binary
00:01:30i'll just rename it to history here make it an executable with our nifty command and then run history listen
00:01:39that's it history starts a server locally on port 4433 so if i open the port here's the entire interface
00:01:46right now there's basically nothing in it because we haven't given anything to index yet the second
00:01:52piece of this puzzle is the browser extension there's one for chrome and one for firefox i'm using chrome
00:01:57here though so now let's actually browse normally i'll open this github issue i'll open a documentation
00:02:04page i'm going to fire up and open up an article here and maybe just open up another page i'm not
00:02:11bookmarking anything i'm not clicking save i'm just doing what i would normally be doing by just
00:02:16visiting these pages and reading and back inside history those pages are already showing up now the
00:02:22cool thing with all this is this isn't just another read later app where you have to remember to save the
00:02:26page first the browser extension is building the index while you browse now let's see whether that
00:02:32index is actually useful here's an article i visited earlier i'm just going to grab a sentence from
00:02:37somewhere in the middle of the page not the headline not the url just some random text buried inside the
00:02:42article i'm going to close down that page that was on it earlier and i'm going to search that phrase
00:02:47in hister there it is the result gives me the page the matching text around it and i can jump straight
00:02:54back to what i was actually reading in that moment now let's run the exact same search in chrome's
00:02:59history i'm going to drop it in here what do you expect yeah we're not really getting anything back
00:03:05because chrome knows i visited the page it just doesn't know what was inside of it and hister isn't
00:03:11limited to basic keyword search either there's actually a query language so i can do like domain
00:03:18github.com and now i'm only looking through github pages that i visited or i can search text memory
00:03:25leak text whatever you're searching for and now that phrase specifically has to appear inside the body of
00:03:30the page you can combine these two so if i vaguely remember reading about a memory problem inside a
00:03:35github issue but i have absolutely no idea which repo it was in i can narrow my own history down instead
00:03:42of going back to google and starting from scratch there's also a terminal interface so i can run history
00:03:48search and now i can search the exact same personal index without actually leaving my terminal that is
00:03:56probably the interface i'd actually use most here in a workflow and here's something else i initially
00:04:01missed you don't necessarily have to start with an empty database hister can import your existing
00:04:06browser history on current versions that's hister import browser it detects browser databases on those
00:04:12machines and pulls those urls into hister there is one important distinction here though for old
00:04:17browser history your browser never stored the original page content so hister has to revisit
00:04:22those urls and index whatever is there now but from the moment the extension is running it captures
00:04:28the rendered page you're actually looking at so after using this for a while you're basically building
00:04:33your own full text search engine out of your normal browsing and all this is still running on my laptop
00:04:39so how does it even pull this off a browser extension reads each page after javascript finishes rendering
00:04:45your company wiki your internal dashboards private repos google can't index any of that your own machine
00:04:51it can the extension packages up the url the title the extracted text the entire html document
00:04:58and posts it to a server running on your laptop believe a pure go inverted index does the searching
00:05:04full html gets g zipped and stored locally so you can get fully offline copy of all this that runs
00:05:10about 100 kilobytes per page 10 000 pages roughly a gigabyte storage is not actually a problem here
00:05:17now this space isn't empty parakeep has 28 000 stars archive boxes here too and honestly archive box
00:05:24archives far more better than a lot of things warc files screenshots video the whole thing wallabags been
00:05:31around forever readwise reader has a really good experience for about 120 bucks a year but every
00:05:38single one of those tools has the same problem with it you have to decide to save something before you
00:05:44actually need it and there's one piece i genuinely didn't expect it ships an mcp endpoint so you can
00:05:50point a coding agent at your own index and ask it questions against everything you've actually read
00:05:56not everything the model was trained on so instead of connecting your agent to github and six doc sites
00:06:01separately you pointed out one index of things you already read and already been authenticated for
00:06:06okay now i'm gonna be straight with you here safari it does not work there's a proof of concept pull
00:06:12request it's been open since february i think and it's been untouched since february as well so if you're
00:06:18a safari only mac user this is not a tool that's going to work but i think a lot of us are using
00:06:24chrome that's the biggest downfall here the index is not encrypted and i want to be fair on that the
00:06:30docs say this outright they don't actually hide it but think about what that file actually is it's the
00:06:35full text of everything you've read that's a sharper object than your browser history ever was so
00:06:41use disk encryption the docker path is really messy too run the binary and it binds to local host only
00:06:48fine okay but the compost file that ships with the project binds 000 and maps the port and the default
00:06:56config requires no authentication okay bit of an issue the mac binary isn't notarized it's ad hoc signed
00:07:02download it in a browser and gatekeeper will stop you it's pre 1.0 and well that means it 18 minor
00:07:08releases in seven months with breaking changes documented between them read the changelog before
00:07:13you upgrade or maybe even install this 47 contributors are on paper but roughly 78 of those
00:07:19are by the actual maintainer this is a really cool project check it out maybe but it has been helpful
00:07:26so here's the actual decision run it if you're on firefox or chrome you read a lot of documentation
00:07:31and github issues and you're already comfortable self-hosting especially run it if you want a private
00:07:37corpus your coding agent can actually query back too don't run it if you're safari only because it's not
00:07:42going to work and if you put it on a network configure the auth first not later the setup was
00:07:47genuinely three commands i downloaded the binary i ran history listen and it comes up with the port in
00:07:53about two seconds super easy there's a multi-arc docker image and a proper nix flake with a darwin module
00:08:00there's no homebrew yet so don't go looking for the formula for that one i've dropped everything down in
00:08:05the description so you can check it out more if you enjoy coding tips and tricks like this be sure to
00:08:09subscribe to the better stack channel we'll see you in another video
Community Posts
No posts yet. Be the first to write about this video!
Write about this video