Thanks, that looks interesting, I will test it out and see if it continuously sync or must be manually imported from time to time, or if it can replaces linkwarden entirely. My linkwarden instance also saves as a pdf not just html and bookmarks are in GB in size, if hister does it more efficiently it’s even better.
I had the same problem for a very long time but it is largely solved now. I started to simply ask chatgpt "hey I read something about x, y month ago but can't find it now". There is a surprisingly high chance chatbot can just give the exact answer back to me, usually with extra interesting reading materials as a plus.
Is all your browsing history already with chatgpt or something?
This has an MCP server specifically so a workflow like that would work for you. This is just made to gold the data, and I'm a human accessible way should your AI fail you
No I don't share anything with chatgpt. But I do have a $20 subscription, if it matters. I feel It's just capable enough to find what I want from my usually vague and inaccurate description.
Nothing about this depends on the provider, you could spin up a local Qwen and give it a search tool like SearXNG or something. At this point local models are more than good enough for simple tasks like that. Using ChatGPT is just (usually) faster and simpler
There should be no real vendor lock in in my opinion. You can ask the same question with pi + qwen (or any harness + good enough model) with internet access and it will work. Chatgpt is just one option came in handy.
Ooh, very nice! I have my own tool I’ve been using for this [https://github.com/bradrn/full-history-search/], and it’s incredibly useful, but it’s also pretty primitive. This one looks a lot nicer.
When chrome was literally first released it was in fact faster than IE and Firefox, by quite a lot, and had some nice features that neither had, too. But that gap didn't last for long.
It was so much faster you could not believe it. It was a revelation and even though "degoogling" was already a thing, Chrome was so much better than the rest that you just had to use it. Tabs actually worked without crashing your PC.
The risks were clear from day one but Google and Chrome were great to both users and devs, and it stayed like that for a long time.
Not sure if the same product. I think the one I used was Google Desktop.
I even hacked it for a company I was working for at the time: I installed it in a machine that had a lot of pdfs from some other client company of them.
I don't recall the exact details, but I did some sort of proxying between the Microsoft Web Server that came with NT? at the time and G Desktop, and then an entire team of first support agents had almost instant search across all those docs. Good times.
Now we have no browser capable of searching in anything - not even Firefox. I routinely try, in several browser, to find a tab among open tabs, a bookmark among open bookmarks, or a history entry (both from "omnibox" and dedicated history pane), and it never seems to find it - not by name, not by URL - until it gets a 100% unique match.
It's like there's a timer or a cache somewhere, with aggressive limit, saying "only scan these top 100 results and then abort if it takes more than 10 ms to findf anything", or something. Making this completely useless.
That's on top of occasional deletion of browsing history past few weeks.
Yes. Try it regularly, against inputs I know correspond to things visited or bookmarked within last couple months. Almost never gives the actual result unless it's literal full-string match. That's why I'm complaining.
Maybe stop using the mickey mouse browsers? I mean Firefox is pretty much a lost cause.. unless you start using extensions. I agree those are basic features that should be built-in. In qutebrowser I use them reliably all the time. E.g press T (keybinding for :tab-focus command) - type keyword (matches against tab ID, page title, page URL & the tab's process ID) - press Tab - menu is populated with results - cycle through them using Tab/Shift+Tab - press Enter to jump to it. Similar workflow for history, different bookmark types, etc. History can also be loaded as an HTML page and jumped through with regex, etc. If you want to stick with
I've been using this since the last time it came up on here. I don't have it index every page I visit, I use the browser plugin to tell it to index specific ones. It is useful for sure, but I think it will really shine once I've been using it long enough for it to build up a bigger index of things that are old enough that I've actually forgotten about them.
Ohi, author here! Thanks for posting Hister. Feel free to A.M.A.
My first free software search project was Searx, a privacy respecting metasearch engine, but because of the limitations of the metasearch concept, I've decided to take a different approach.
Hister builds a personal search index from pages you visit, bookmarks, browser history, local files, and crawled websites. It stores extracted content with offline result previews, so information remains searchable even when the original page changes or disappears. It supports full text and semantic search, can run entirely on your own machine, and includes a web interface, command line tools, and an MCP endpoint for assistant integrations.
Ps.: It looks like our name conflicts with a registered trademark in the US. The owner of the other project has asked us to change it, so we’ll probably need to comply sooner or later.
Name suggestions are welcome! Ideally, the new name should be relatively short, sound good, and have an available .org domain.
I doubt it. Trademark “infringement “ only happens when the two parties compete in the same space. I think if the other party is the music party game, you’re pretty much in the clear. They may still sue you and lose unless you cave.
What does Hister do differently? Search seems like a major differentiator, I'm wondering if leveraging the existing archivebox project for archival and implementing good search on top would be more efficient
The main difference I see is Hister focuses on creating an active knowledge base and finding information quickly, while ArchiveBox focuses on preserving web content for the long term.
Thanks for answering. Do you think these dovetail? Both archive everything you browse, so that's common functionality that could be factored out. I only want one archive, having two separate archives because one focuses on search and the other on long term archival is inefficient. What do you do for long term archival - or do you not have this use case?
It feels like I'm the only person using this but I'd like to throw another potential bookmark manager integration into the ring, cherry https://github.com/haishanh/cherry
Thanks so much for creating this. Installed last time it was posted and have been loving it. The MCP server and extensions and userscripts are great QOL additions, as well. Always wondered if something was out there like this and you answered my prayers! New name suggestion: MisterHistory
I built something similar at the start of the year, using tailscale for auth (multi user on my tailnet/home network) and for access wherever I was, whether at home or on the road (all compute/storage was on my Mac mini.) Worked a treat.
Would like:
* Local web page interface or even browser UI element (since extension needed anyway)
* Ability to add notes to history
* Flag if bookmarked, allow filtering "bookmarks only"
* Keep old versions of pages
* Human-readable text diff vs current live page
This is a great suggestion, thanks! I'll definitely add it to the list of candidates. My plan is to do a vote on our social platforms if we have a few decent candidates.
Genuinely curious, how could one fight pre-emptive domain squatters once any candidate is publicly suggested?
When I have suggested names in other situations like this in the past, I spent the ~$10 to get the domain, and offered the transfer the free. Of course, not everyone would do this.
Hi asciimoo, seems like this is the second time Hister is hitting the HN front page in a month, so congrats on the success!
Question for you: For the less tech savvy of us on here, is there any chance Hister can be can hosted on something like Pikapods? https://www.pikapods.com/
Yes, that's something I'd like to support. The main missing piece for a user-friendly hosting option such as PikaPods is a configuration UI. At the moment, customizing Hister requires editing a configuration file, which isn't practical for this kind of hosted service.
Appreciate the response! I'll be eagerly following Hister's progress. For now, I've settled on a mix of Instapaper and using SingleFile uploads to Dropbox.
Exactly, this is the biggest advantage of the extension. It is fully invisible for the websites, so no captcha, anti-bot protection, no authentication issues, every common bottleneck of a classic crawler is solved by the browser/user.
I gather rss feeds from the websites I visit and it's hard to express how interesting they are. The gut says it borderlines some random collection but that couldn't be more wrong. I also enjoyed YaCy, that project should have a good amount of ideas for you. I kinda end up assigning more and more bandwidth until it gets in the way and I forget to enable it again. The turtle button on some torrent clients is a good invention.
The thing I most struggle with in this domain is recalling information from videos. I watch/listen to a lot of hour+ lectures and I rely on this website deeply:
It lets you search YouTube transcripts. If you could somehow integrate video transcripts into this tool, I would be extremely interested in trying it out
Been using hister for a number of weeks now; i'm coming across sites whose content would be better handled with a custom extractor; but it looks like extractors need to be bundled into the build in order to work? Is that correct?
Put another way, i can't write an extractor for Reuters and then point a config to it from my current hister binary?
I ran it for most of this year but encountered some problems with it I couldn't fix and thus have not had it hooked up to anything since June when I finally couldn't take it anymore.
In short, I serve a good number of apps from an Nginx reverse proxy. Maybe 25% of them are exposed to the WWW while everything else is limited to the LAN but I still get valid TLS for all of it.
Hister, though, kept breaking my whole reverse proxy and I could never figure out EXACTLY why so I could fix it. After running fine for a few days, it would hog the whole server and everything else proxied by Nginx would become unreachable. I tried tuning the config for it to no avail.
One day when I'm less lazy, I'll probably hook it back up via it's LAN IP to every machine I've got again. I REALLY liked that I could log my browsing history from any machine anywhere in the world without a VPN and I was really disappointed when I had to disable its config in Nginx.
I still use it a lot to go find stuff I flagged as important quickly.
I'm curious if this is something you've heard of before, or if I've got a one off problem here.
I even ported the config to a brand new VM with NGINX and still had the same problem.
Are you sure it was the proxy and not JavaScript in your browser? I've seen similar behaviour from one particular website where using it in a certain way causes it to process a lot of data slowly and block the main thread. This somehow persisted across tabs, even if I closed all the tabs and tried again that site was still hanging until that process finished. But if I used incognito or another browser it would he responsive.
It might be something similar if all of your sites are subdomains. Try incognito at the same time next time
That's a good call out but it is something I tested originally and ruled out.
I've got some applications used daily by friends all over the world and the services would all become unavailable to them when this started happening. Only fix I found was restarting NGINX service and then it could happen again an hour later or 3 days later. Once I removed the proxy config for Hister from the service, the issue never happened again.
I'll repro the issue and get the details intoa. Github Issue this weekend.
Yes, I should have some time this weekend to reproduce the problem and provide useful information for ya'll to look at...even if it's just to determine the problem is for me to fix and not a bug with Hister.
Whatever you do, try not to chose a name which collides with nostrodamus' predictions about .. (ok, he actually used "Hister" to refer to the Danube it seems, but popular legend has another take which is .. unfortunate)
My suggestion is Lookdown. Kind of a play on words reminiscent of Markup/Markdown --> Lookup/Lookdown. But also a lookdown is a distinctive looking fish with a cute concave profile so you've got an instant mascot.
Hyster (not Hister as far as I can tell) is a registered trademark in the US. Regardless:
"The HYSTER trademark is filed in the category of Education and Entertainment Services" [0], so you can safely ignore any demands to rename, as it doesn't conflict. Embarrassing for them that their lawyers don't understand even the basics of trademark law.
Edit to clarify as some folks here are as confused as sHyster's lawyers: Trademarks are not exclusive, they're restricted to a category or categories. You can be Apple in the category of computers, but not in music if there's already an Apple in that category (unless you have $500M to spare [2]).
[0] https://www.trademarkia.com/hyster-77843354
[1] https://tmsearch.uspto.gov/ for a more authoritative source than [0], but it doesn't allow deep linking
[2] https://en.wikipedia.org/wiki/Apple_Corps_v_Apple_Computer
Not a Lawyer, but Hister is a common, old word. Unless you're in the same business as the trademark holder, I would think you have grounds to continue? I note you have the domain name registered, and any deep-pocketed hostile trademark owner would already have reclaimed that. Unfortunately, legal advice is expensive, and the system is open to abuse.
I am happy to see the idea of history search more. I am on my 3rd version of my own. the use of local LLMs has made it easier to support features like weekly summarized and recipe extraction.
Your own search engine — Hister is a private search engine for the pages you visit and the files you keep.
Is there any site/project that works as a fully customizable personal front-end to all other SERPs?
When I search for something, I always want a link to the best Wikipedia result. This should always be in the same place and have a giant icon/picture.
Then there could be easily clickable links to the SERP pages for Google, DDG, etc. for that query.
A big link to route it to your favorite LLM.
Seems like you could have a really useful "homepage" for all searches that sat in front of all the other sites. It could be local only and would not require indexing the web. Also wouldn't be a files search thing, as Hister appears to be.
Kind of related to this in that I built it to hoard knowledge from web pages I've visited along with implementing a Karpathy-style LLM Wiki, but the knowledge is collected automatically from sources I browse.
I have it up on GitHub, but I don't think anyone should use my implementation.
Loosely, what I built:
* On each of my machines I have a cron job running that looks at all my web browser history (usualy it's inspecting the brower's SQLlite across firefox and chrome). If it matches my rule list: hacker news stories, certain reddits, etc. it'll grab the page, convert to markdown and drop in my Obsidian Vault incoming.
* It has a whole de-duping architecture since I might open the same page on multiple machines. Uses the CloudFlare SQLITE D1 storage for tracking the processed links.
* it'll then trigger the LLM to do some Karpathy wiki style taxonomy assignment to the articles, organize them, create an index etc.
It's then available for my "bot" stuff to do writings for me.... I will probably write more about it at some point. I'm not certain it's totally useful and not just a yak-shave on hoarding knowledge.
I guess he meant it in a "look, I made a cool thing that is useful to me, but don't go throwing away your current organizational method just yet nor leave it open to the internet" way.
I vibed most of it (and though I like the code that was output, I coached it with some custom skills). If I were to share it out, I'd probably clean up some of the tools to make their interfaces smaller and cleaner. And make the docs a lot simpler. I'd probably also create some form of dashboard so you can see what's happening (all the docs scraped and saved), etc.
EDIT: it's also the type of thing that feels very personally customized for my needs. I encourage you to build something similar on the idea. Much like how Karpathy Wiki was suggestive and not a runtime to just use...
I feel like this could be useful for my Karpathy-style LLM Wiki, but then again I think, in this day and age most of what I'm reading about is outdated in a few weeks. Not only are the tools/methods coming and going, but the ones that stick around drastically change. It would probably turn into a dump of antiquated markdown that could cause confusion.
As far as the need for private search, well, I've already searched for or visited those pages, so...
Yeup, as I mentioned, it kind of feels like a Yak-shave....but it was fun building it, and gave me some experience with agentic coding and new technologies I don't normally work with. It's nice to dig into for some research.
The biggest win was the realization that both firefox and chrome maintain all the links you visit in a very queryable SQLite database. I've been poking at that for a lot of custom tools, like WHAT JIRA tickets am I paying attention to this week, etc....
Webpages used to have meta keyword tags until spammers hijacked them for irrelevant keywords.
I think browsers can play a part in building a local search index for URLs based on those keywords the page declares and cross verify/accept only those that are in prominently visible content, or may be delegate to an external engine(like LLMs) via an extension etc. This is particularly useful for cases where full text indexing is not feasible or desirable.
I doubt Google will ever add such feature in chrome though.
Meta keyword tags have always sucked even without malice. Because they're invisible, authors frequently forget to update them, copying <head> boilerplate between documents.
When designing a standard like this you need to apply systems thinking.
The poor data quality is a problem for anyone who wants to use the tags, which has seen everyone almost universally reaching for other solutions. Search engines have preferred anchor tags, bookmarking solutions have applied user tagging.
With keyword tags it's been a vicious circle of poor data quality and neglect since day one. Even in documents from the early 1990s when people were really trying, the data quality is inconsistent at best.
Did irrelevant keywords ever work for the spammer? You could add "naked" as a keyword because it had a lot of searches compared to "compiler". Now what happened to those looking for naked cats when they got to your website about code compilation. It's not like they would stop and think "oohh I'll look at this instead"
have it up on GitHub, but I don't think anyone should use my implementation.
ditto, it's an experiment in near-vibe coding, which also uses Typesense for queries using BM-25 & RAG with fusion. I have the web search/fetch/crawl features persisting raw intermediate values (api responses, search result lists) because I might re-use them one day... at least good for auditability if I need to
related, it is using Hister author's prior project SearXNG as one of the search providers
Hah, I bought that URL a long time ago, mostly as an in-joke between me and some friends since Bruce Willis was my favorite actor. Then later I needed a dev URL for some work I was doing, and the only one I had free was brucewillis.sexy. Then I kept making subdomains on it for different things and eventually it just became the default.
Not a bad idea, and I used to save lots of web pages as PDFs in the distant past, but I've noticed that a large percentage of sites will not print out correctly as a PDF these days. I see myriad problems these days: the page is truncated on the right (no matter how much you zoom out), or all pages come out blank after the first page, or the PDF gets rendered as an image (taking many megabytes per page) rather than as text, or the outer frame prints but inner frames with the actual content are missing.
The more "modern" the site, the worse it is. Surprisingly, government websites often print correctly since they've done the least amount of work to make the site modern looking.
Very effective, very fast, very private. Bonus points if the PDF filename itself is derived from a well formulated <title> tag, such that you can just use “ls” ..
You could combine it with existing products like DevonThink that are meant for researchers organizing documents and provide tagging, semantic search, similarity graphs, and so on.
I'd like to use it, but I'm hesitant to use anything that isn't a reviewed and approved package in my Linux distribution. Even if the chance is 1% that a program I download has malware or security problems that even the author doesn't know about (eg., due to libraries used), odds are that my system's going to be compromised if I run 50 such programs. This extends to browser add-ons, bookmarklets, and extensions too.
How do other people handle this dilemma?
Even solution I can think of involves are a great amount of extra work.
Building from source is nowadays writing one sentence in a chat box. Your idea of extra work is either unbelievably lazy or perhaps outdated by a few years.
Distro maintainers aren’t infallible either. At the end of the day it’s up to you to decide where and how much trust you place and do your due diligence from there.
One thing that can be helpful when reasoning about things like this is figuring out what your actual threat model is. What does system compromise look like to you? Data exfiltration, arbitrary code execution, something else?
I think the best answer lies somewhere in compartmentalization and fine-grained permissions. In this case: run it in some kind of secure container which has access to read browser history, and write to its database, but definitely does not have network access.
Unfortunately there's no one-size-fits-all solution for this yet, but there are a lot of groups attacking it from different angles: Qubes, GrapheneOS, Firejail, Bubblewrap, Android/iOS app permissions, Landlock, App Sandbox, etc.
...run it in some kind of secure container which has access to read browser history, and write to its database, but definitely does not have network access.
We should be doing this with all software, regardless of provenance, anyway. Least privilege applies to servers just as much as it does to users. Even if the software isn't untrustworthy you can be it has vulnerabilities.
My first go-to is network segmentation because I spend most of my time doing networking work. For every vendor who has shit-talked me to Customers ("Wah, wah! Your networking vendor is making this so much harder because they want us to enumerate our traffic!") I have concrete examples I can cite when attacks were stopped by network segmentation (preventing shellcode from downloading a payload, preventing C2 communication, firing off alerts when unexpected network traffic starts coming out of a host, etc).
Beyond network segmentation, I am very suspicious of software that needs to run as a privileged user. So many attacks get easier when privilege escalation in the host OS is already done for you.
Whitelist, proactive approach. Contrary to SElinux, it's not a programming language, and could be grasped pretty quickly. I made a tool to easily convert AA logs into usable rules. [3]
For me: consider this a form of paranoia and ignore it, while worrying more about cleanup costs of non-vetted packages.
Like, even if there is 5% chance that a program I download will start downloading global python or node packages, odds are within a year I'll deal with couple that have mutually incompatible requirements and are impossible to run without more VM surgery than I have patience for, and that I'll discover this only after a botched installation bricks software that used to work before.
But that's solvable with less extra work. Just throwaway containers. With no hand-wringing about read-only access or isolating it from network, because my threat modeling doesn't consider loss of privacy or any data leak from my personal local side to be realistic or impactful threat event (I mean, everything that matters is in someone else's cloud and by design not trivial to access) - OTOH, it assigns great magnitudes to loss of personal time.
It's really great you've done all that work for importing from other apps - I use Karakeep and at first didnt know how much redundancy I have between the two, but now I am going to try this since I have so much of it already setup.
Can I add NOTES about pages? This might be a good spot to do that...? Maybe the interface can be in a web page instead of terminal?
Before Google took off there was a vibrant ecosystem of FOSS dev around search, all different little aspects of it. Then after Google people stopped fiddling with search, search became "solved" or maybe "must be coded by the big boys". Shame.
Been running hister on my work machine for a month or two now. It's one of those things I don't look at until I need to, but when I do need it, it solves the dreaded hunting through the last month of browser history.
I also have it index my Obsidian notes, which is another little bonus for global search.
I did need to build up quite a few exclusion rules early on, but it's been hands off since.
Roughly in the same space is Zotero <https://www.zotero.org/> which is intended as a way of organizing research materials but is also a great way of quickly archiving web pages you've visited, including quick tagging and full text search.
"SingleFile helps you to save a complete web page into a single HTML file. SingleFile is a Web Extension (and a CLI tool) compatible with Chrome, Firefox (Desktop and Mobile), Microsoft Edge, Safari, Vivaldi, Brave, Waterfox, Yandex browser, and Opera."
I use LinkDing for website bookmarking and storage/archiving needs. It is a great and stable piece of software. It archives using a Chrome web driver. Sometimes that fails, e.g. on Captchas, very heavy JS sites or sites behind login. Those I save with SingleFile and attach in LinkDing manually. Simple and works!
Don't most browsers do this natively? Firefox saves single pages as html. Chrome saves pages as mhtml which isn't supported in firefox but can be easily converted if there's ever a need.
No it doesn't. Firefox (not sure about Chrome) saves to html, which:
1. Leaves all kinds of css, image file, which might be hundreds for each saved page. SingleFile saves everything in a convenient, working, single file.
2. is not really saving all the info.
I got burned when I was using Mozilla/Internet Explorer to save mhtml files, which ended up not being supported anymore. Additionally, turns out, they were saving the original versions of pages, without the Javascript changes, meaning that all the opened threads of comments I wanted to save were never saved! Never again!
This is amazing and something I'd like to integrate with my personal AI assistant. Is there a way to make it also index pages visited from an Android phone?
I'd love a extension setting to only send tabs that were visible for ~4+ seconds.
I built myself a little extension last year that tracks what information I was looking at, but focused on generating "new info" recaps for the day / week.
I realized that I open / quick view a lot of pages and close them, which is a strong signal that I don't care about that specific page, and it shouldn't be a source of "new insights" that I learnt that day (since I probably don't care about that topic).
I'd love to re-try a simpler version of that project that builds on Hister as a backend actually.
Agree on this. There area lots of links I click and immediately close, because I immediately recognize it's AI Slop for instance. No need to register these type of stuff immediately to the hister database.
Adding a timer constraint would be really nice and I guess it might be quite easy to do it since it's only a concern in the browser extension.
Completely random but o remember reading back in the day that Nostradamus had predicted the rise of a Hitler like figure except he had named a Hister, not the actual.
Hi, was wondering if you would be alright with a github set private fork done by someone else if they got bored and wanted to add some private features? Thanks. Now back to my steak frites! :9
I can see using this to index the thousands of bookmarks I have and my every growing reading list and see if my local model and find a pattern and/or help surface anything interesting related to the papers I read
This is pretty useful, actually. I’ve been using it for the past 2–3 days, and I didn’t find it through YC Hacker News but through some other channel. It’s great to see that so many other people are already using it and praising it—congrats on that!
One of the most useful use cases for me, especially since I work in GTM, is keeping track of new ways to get replies from prospects, whether through cold outbound or things like SEO/GEO optimization. I read at least 2-3 articles a day on this, and it genuinely helps me figure out which ideas are worth trying because I can now keep track of everything I’ve read.
I use Hister as my default search engine. I’m quite happy with it. If I know I need to branch out, I use the double-bang before my query “!! Hacker News Fujitsu” and it kicks straight to the configured search engine (Kagi in my case).
Do you have thoughts on the prospects for inter-operation between the "recoll" application and hister? Like, maybe an adapter that let's hister read recoll's xapian database/index? Or, a tool that converts/syncs beween hister's store and recoll's?
It would be nice if it could also search through emails. I'm using emails to myself often as notes and bookmarks. Would be nice if they could be included in the search index.
Of course, it's impossible to know for sure what was LLM processed or not, but some of your posts (like this one) have been getting classified that way.
I've been using histre.com for years, which builds a personal search engine for the pages you visit by adding a browser extension. It's freed me from the habit of compulsively bookmarking everything in case I might need it again. I also keep a local text index for grepping which is plenty fast even with years of history and ripgrep, and comes in handy often.
Can Hister handle indexing of large local file shares? I've got 30-50TB of Word, PowerPoint, and Excel files with no easy way to search them currently, beyond Agent Ransack.
Does Hister handle this well? If not, can anyone suggest other options?
A recent discussion about this tool
https://news.ycombinator.com/item?id=49351802
Saw on Discord that they have to change their name, since https://histre.com sent them a letter.
Integrate it with linkwarden so it searches the bookmarked pages.
It does that already. https://hister.org/docs/import#importing-from-linkwarden
Thanks, that looks interesting, I will test it out and see if it continuously sync or must be manually imported from time to time, or if it can replaces linkwarden entirely. My linkwarden instance also saves as a pdf not just html and bookmarks are in GB in size, if hister does it more efficiently it’s even better.
I had the same problem for a very long time but it is largely solved now. I started to simply ask chatgpt "hey I read something about x, y month ago but can't find it now". There is a surprisingly high chance chatbot can just give the exact answer back to me, usually with extra interesting reading materials as a plus.
Is all your browsing history already with chatgpt or something?
This has an MCP server specifically so a workflow like that would work for you. This is just made to gold the data, and I'm a human accessible way should your AI fail you
No I don't share anything with chatgpt. But I do have a $20 subscription, if it matters. I feel It's just capable enough to find what I want from my usually vague and inaccurate description.
Or something similar enough to what you wanted that you don’t notice it’s a different thing. That’s awful.
And now you are even more dependent on OpenAI...
You didn't solve the problem, you are just trading pain points.
Nothing about this depends on the provider, you could spin up a local Qwen and give it a search tool like SearXNG or something. At this point local models are more than good enough for simple tasks like that. Using ChatGPT is just (usually) faster and simpler
There should be no real vendor lock in in my opinion. You can ask the same question with pi + qwen (or any harness + good enough model) with internet access and it will work. Chatgpt is just one option came in handy.
"Goddammit, I'm wholly dependent on Merriam-Webster, what ever am I going to do".
Ooh, very nice! I have my own tool I’ve been using for this [https://github.com/bradrn/full-history-search/], and it’s incredibly useful, but it’s also pretty primitive. This one looks a lot nicer.
Google Chrome did this in 2008. Full-text search over all visited pages, stored offline. It was very useful and I miss it.
Nobody seems to remember it, even though it was a headline feature. Was removed in 2013, I think due to technical constraints.
Will definitely try this.
I remember this as well. I hadn't noticed it was gone until just now, but you're right.
Edit: Found it. Thanks Claude.
https://github.com/ssnangua/google-chrome-comic-hd/blob/main...
https://dfir.blog/history-index-files-removed-from-chrome-v3...
I think due to shareholders wanting new sportcars. The offline pages don't show Google Ads.
There was also Google Desktop Search for several years: https://en.wikipedia.org/wiki/Google_Desktop
with RCE and no privacy
I.e. like any good tool?
Now Chrome can't even remember what addresses you went to more than 90 days ago. It's such a nerfed browser.
Still boggles my mind that people went from ridiculing people who installed Ad companies browser toolbars, to actually running their browser.
...And don't give me the tired "it was faster". this horse was already beaten to death and it was 110% marketing.
When chrome was literally first released it was in fact faster than IE and Firefox, by quite a lot, and had some nice features that neither had, too. But that gap didn't last for long.
It was so much faster you could not believe it. It was a revelation and even though "degoogling" was already a thing, Chrome was so much better than the rest that you just had to use it. Tabs actually worked without crashing your PC.
The risks were clear from day one but Google and Chrome were great to both users and devs, and it stayed like that for a long time.
IE5 only on the mac, did this too.
Not sure if the same product. I think the one I used was Google Desktop.
I even hacked it for a company I was working for at the time: I installed it in a machine that had a lot of pdfs from some other client company of them.
I don't recall the exact details, but I did some sort of proxying between the Microsoft Web Server that came with NT? at the time and G Desktop, and then an entire team of first support agents had almost instant search across all those docs. Good times.
Now we have no browser capable of searching in anything - not even Firefox. I routinely try, in several browser, to find a tab among open tabs, a bookmark among open bookmarks, or a history entry (both from "omnibox" and dedicated history pane), and it never seems to find it - not by name, not by URL - until it gets a 100% unique match.
It's like there's a timer or a cache somewhere, with aggressive limit, saying "only scan these top 100 results and then abort if it takes more than 10 ms to findf anything", or something. Making this completely useless.
That's on top of occasional deletion of browsing history past few weeks.
Have you tried searching with @tabs, @bookmarks or @history? It works reasonably well for me.
Yes. Try it regularly, against inputs I know correspond to things visited or bookmarked within last couple months. Almost never gives the actual result unless it's literal full-string match. That's why I'm complaining.
Maybe stop using the mickey mouse browsers? I mean Firefox is pretty much a lost cause.. unless you start using extensions. I agree those are basic features that should be built-in. In qutebrowser I use them reliably all the time. E.g press T (keybinding for :tab-focus command) - type keyword (matches against tab ID, page title, page URL & the tab's process ID) - press Tab - menu is populated with results - cycle through them using Tab/Shift+Tab - press Enter to jump to it. Similar workflow for history, different bookmark types, etc. History can also be loaded as an HTML page and jumped through with regex, etc. If you want to stick with
This is really cool. I like the idea of combining it with a offline Wikipedia cache.
I've been using this since the last time it came up on here. I don't have it index every page I visit, I use the browser plugin to tell it to index specific ones. It is useful for sure, but I think it will really shine once I've been using it long enough for it to build up a bigger index of things that are old enough that I've actually forgotten about them.
Ohi, author here! Thanks for posting Hister. Feel free to A.M.A. My first free software search project was Searx, a privacy respecting metasearch engine, but because of the limitations of the metasearch concept, I've decided to take a different approach.
Hister builds a personal search index from pages you visit, bookmarks, browser history, local files, and crawled websites. It stores extracted content with offline result previews, so information remains searchable even when the original page changes or disappears. It supports full text and semantic search, can run entirely on your own machine, and includes a web interface, command line tools, and an MCP endpoint for assistant integrations.
Website: https://hister.org/
Tiny read-only demo: https://demo.hister.org/
Ps.: It looks like our name conflicts with a registered trademark in the US. The owner of the other project has asked us to change it, so we’ll probably need to comply sooner or later.
Name suggestions are welcome! Ideally, the new name should be relatively short, sound good, and have an available .org domain.
Thanks!
Thanks so much for this, I'm using it all the time. I self host a few things, but I'm using this the most.
histro.org is available.
Unfortunately, it is still considered too similar from a legal standpoint.
In that case, clipshot.org is also available.
historea.org is available.
It sounds like history, storage and ethereal at the same time.
that exactly how the Greek word sounds :)
ιστορία, if you wanna copy paste.
and yes, the English word comes from the Greek word!
I doubt it. Trademark “infringement “ only happens when the two parties compete in the same space. I think if the other party is the music party game, you’re pretty much in the clear. They may still sue you and lose unless you cave.
Nothing stopping them from threatening an open-source dev. The ""recent"" incident of Hoarder rebranding to Karakeep comes to mind.
Are you aware of ArchiveBox?
https://archivebox.io/
What does Hister do differently? Search seems like a major differentiator, I'm wondering if leveraging the existing archivebox project for archival and implementing good search on top would be more efficient
The main difference I see is Hister focuses on creating an active knowledge base and finding information quickly, while ArchiveBox focuses on preserving web content for the long term.
Thanks for answering. Do you think these dovetail? Both archive everything you browse, so that's common functionality that could be factored out. I only want one archive, having two separate archives because one focuses on search and the other on long term archival is inefficient. What do you do for long term archival - or do you not have this use case?
Does it work accross multiple computers? Ideally the service runs on a linux box on my tailnet, and my windows and mac systems share the same server.
Edit: I RTFD - and it seems yes.
Sure, as long as you (and the browser extension) can reach the server, it can be used from as many machines as you want even in a multi-user setup.
"Optional global or personal access token used to authenticate extension requests."
Looks like you can even set authentication up so you can run it at home but connect while you're away too...
It feels like I'm the only person using this but I'd like to throw another potential bookmark manager integration into the ring, cherry https://github.com/haishanh/cherry
Not even a readme?
Never even noticed that was missing and it's probably why nobody else uses it. I took it from https://www.reddit.com/r/selfhosted/comments/xyepiu/cherry_a... and https://cherry.haishan.me/ and just worked from the Dockerfile
Thanks for making Hister, I've been using it for a few days (~7k docs) and I'm impressed so far.
Histerekishi / Histereki - れきし/歴史 means history in Japanese. reki れき/歴 is a suffix which means (history of)
Histeri
MyHister(i)
Hyster(y)
Also, I have been using your app for two months now. I have only had to rely on it a few times, but each time I did it worked beautifully. Thank you.
"It looks like our name conflicts with a registered trademark in the US. "
So? Where are you based? For what class was the trademark filed? When was it filed?
I doubt that he has any leverage, but I don't know the background.
Thanks so much for creating this. Installed last time it was posted and have been loving it. The MCP server and extensions and userscripts are great QOL additions, as well. Always wondered if something was out there like this and you answered my prayers! New name suggestion: MisterHistory
"No mandatory cloud - A complete personal setup can run on one local machine."
How does it sync via several computers?
Tailscale is one option
I built something similar at the start of the year, using tailscale for auth (multi user on my tailnet/home network) and for access wherever I was, whether at home or on the road (all compute/storage was on my Mac mini.) Worked a treat.
Would like: * Local web page interface or even browser UI element (since extension needed anyway) * Ability to add notes to history * Flag if bookmarked, allow filtering "bookmarks only" * Keep old versions of pages * Human-readable text diff vs current live page
"hister 2: histlectric histerloo"
OMG, you win!!! :-D
is this like a pihole? is there a design difference you are going for here?
What about "searchy.me"?
Hi @asciimoo , related to a name suggestion, how about something like...
* chronilog.org ...as in, a log of one's chronicles.
* And if you will include this into KDE, then can use a 'k' instead, such as kronilog.org :-)
Both seem to be available. ;-)
This is a great suggestion, thanks! I'll definitely add it to the list of candidates. My plan is to do a vote on our social platforms if we have a few decent candidates.
Genuinely curious, how could one fight pre-emptive domain squatters once any candidate is publicly suggested?
When I have suggested names in other situations like this in the past, I spent the ~$10 to get the domain, and offered the transfer the free. Of course, not everyone would do this.
What about Krionicle? References Chronological Chronicle, cryo- (freezing knowledge for later use), and a robotic toy from 2001
Unless you are really strapped for cash, register all the candidates before you start that voting.
Hi asciimoo, seems like this is the second time Hister is hitting the HN front page in a month, so congrats on the success!
Question for you: For the less tech savvy of us on here, is there any chance Hister can be can hosted on something like Pikapods? https://www.pikapods.com/
Yes, that's something I'd like to support. The main missing piece for a user-friendly hosting option such as PikaPods is a configuration UI. At the moment, customizing Hister requires editing a configuration file, which isn't practical for this kind of hosted service.
Appreciate the response! I'll be eagerly following Hister's progress. For now, I've settled on a mix of Instapaper and using SingleFile uploads to Dropbox.
On HN does it capture both the HN post page and the target page?
E.g.: for this submission I would want both https://news.ycombinator.com/item?id=49743097 and https://github.com/asciimoo/hister captured.
The extension captures the content of the opened tabs, it does not create new requests. If you open both, it captures both.
You may be the first "search engine" capable of indexing instagram and other closed sites.
Exactly, this is the biggest advantage of the extension. It is fully invisible for the websites, so no captcha, anti-bot protection, no authentication issues, every common bottleneck of a classic crawler is solved by the browser/user.
Oh, I haven't considered the possibility of indexing things like Instagram or Discord with this. I am now much more interested than before
hisect (history and bisect)
Seekfold (seek and manifold)
Seekdex (seek and index)
I gather rss feeds from the websites I visit and it's hard to express how interesting they are. The gut says it borderlines some random collection but that couldn't be more wrong. I also enjoyed YaCy, that project should have a good amount of ideas for you. I kinda end up assigning more and more bandwidth until it gets in the way and I forget to enable it again. The turtle button on some torrent clients is a good invention.
Histeria
Srchr
The thing I most struggle with in this domain is recalling information from videos. I watch/listen to a lot of hour+ lectures and I rely on this website deeply:
https://filmot.com/
It lets you search YouTube transcripts. If you could somehow integrate video transcripts into this tool, I would be extremely interested in trying it out
We have a `yt-dlp` based extractor that can fetch the subtitles/transcripts from the sites `yt-dlp` supports: https://hister.org/docs/extractors#ytdlp
May I suggest Yahoox!
Been using hister for a number of weeks now; i'm coming across sites whose content would be better handled with a custom extractor; but it looks like extractors need to be bundled into the build in order to work? Is that correct?
Put another way, i can't write an extractor for Reuters and then point a config to it from my current hister binary?
I love Hister so much.
I ran it for most of this year but encountered some problems with it I couldn't fix and thus have not had it hooked up to anything since June when I finally couldn't take it anymore.
In short, I serve a good number of apps from an Nginx reverse proxy. Maybe 25% of them are exposed to the WWW while everything else is limited to the LAN but I still get valid TLS for all of it.
Hister, though, kept breaking my whole reverse proxy and I could never figure out EXACTLY why so I could fix it. After running fine for a few days, it would hog the whole server and everything else proxied by Nginx would become unreachable. I tried tuning the config for it to no avail.
One day when I'm less lazy, I'll probably hook it back up via it's LAN IP to every machine I've got again. I REALLY liked that I could log my browsing history from any machine anywhere in the world without a VPN and I was really disappointed when I had to disable its config in Nginx.
I still use it a lot to go find stuff I flagged as important quickly.
I'm curious if this is something you've heard of before, or if I've got a one off problem here.
I even ported the config to a brand new VM with NGINX and still had the same problem.
Are you sure it was the proxy and not JavaScript in your browser? I've seen similar behaviour from one particular website where using it in a certain way causes it to process a lot of data slowly and block the main thread. This somehow persisted across tabs, even if I closed all the tabs and tried again that site was still hanging until that process finished. But if I used incognito or another browser it would he responsive.
It might be something similar if all of your sites are subdomains. Try incognito at the same time next time
That's a good call out but it is something I tested originally and ruled out.
I've got some applications used daily by friends all over the world and the services would all become unavailable to them when this started happening. Only fix I found was restarting NGINX service and then it could happen again an hour later or 3 days later. Once I removed the proxy config for Hister from the service, the issue never happened again.
I'll repro the issue and get the details intoa. Github Issue this weekend.
I've never experienced/heard similar behavior. Could you open a GitHub issue or join our Discord/IRC to identify the root cause?
Yes, I should have some time this weekend to reproduce the problem and provide useful information for ya'll to look at...even if it's just to determine the problem is for me to fix and not a bug with Hister.
histsearch
Regarding the name, how about Ascimo or Askimo? :)
Whatever you do, try not to chose a name which collides with nostrodamus' predictions about .. (ok, he actually used "Hister" to refer to the Danube it seems, but popular legend has another take which is .. unfortunate)
I will definitely try this in my home-lab!
And for the name, what about "Historex" (although already taken as well) o "Histearch", mesh-up of "history" and "search"?
My suggestion is Lookdown. Kind of a play on words reminiscent of Markup/Markdown --> Lookup/Lookdown. But also a lookdown is a distinctive looking fish with a cute concave profile so you've got an instant mascot.
Call your project hipster. Just a one letter change ;-)
Hyster (not Hister as far as I can tell) is a registered trademark in the US. Regardless:
"The HYSTER trademark is filed in the category of Education and Entertainment Services" [0], so you can safely ignore any demands to rename, as it doesn't conflict. Embarrassing for them that their lawyers don't understand even the basics of trademark law.
Edit to clarify as some folks here are as confused as sHyster's lawyers: Trademarks are not exclusive, they're restricted to a category or categories. You can be Apple in the category of computers, but not in music if there's already an Apple in that category (unless you have $500M to spare [2]).
Or more likely do, but hope that you don't...
Not a Lawyer, but Hister is a common, old word. Unless you're in the same business as the trademark holder, I would think you have grounds to continue? I note you have the domain name registered, and any deep-pocketed hostile trademark owner would already have reclaimed that. Unfortunately, legal advice is expensive, and the system is open to abuse.
I am happy to see the idea of history search more. I am on my 3rd version of my own. the use of local LLMs has made it easier to support features like weekly summarized and recipe extraction.
I like the search ui. my projects become functional but never polished. https://github.com/sbeckeriv/memoir
I've been trying this out the past few weeks. I was literally just in there searching for a link 5 minutes ago.
It's badly needed, and so far it's working well for me.
Is there any site/project that works as a fully customizable personal front-end to all other SERPs?
When I search for something, I always want a link to the best Wikipedia result. This should always be in the same place and have a giant icon/picture.
Then there could be easily clickable links to the SERP pages for Google, DDG, etc. for that query.
A big link to route it to your favorite LLM.
Seems like you could have a really useful "homepage" for all searches that sat in front of all the other sites. It could be local only and would not require indexing the web. Also wouldn't be a files search thing, as Hister appears to be.
Kind of related to this in that I built it to hoard knowledge from web pages I've visited along with implementing a Karpathy-style LLM Wiki, but the knowledge is collected automatically from sources I browse.
I have it up on GitHub, but I don't think anyone should use my implementation.
Loosely, what I built:
* On each of my machines I have a cron job running that looks at all my web browser history (usualy it's inspecting the brower's SQLlite across firefox and chrome). If it matches my rule list: hacker news stories, certain reddits, etc. it'll grab the page, convert to markdown and drop in my Obsidian Vault incoming.
* It has a whole de-duping architecture since I might open the same page on multiple machines. Uses the CloudFlare SQLITE D1 storage for tracking the processed links.
* it'll then trigger the LLM to do some Karpathy wiki style taxonomy assignment to the articles, organize them, create an index etc.
It's then available for my "bot" stuff to do writings for me.... I will probably write more about it at some point. I'm not certain it's totally useful and not just a yak-shave on hoarding knowledge.
Ai-drafted article on this [1]
Example AI-Drafted article based on some discussions the other day on Ollma vs LLama.cpp [2]
[1] https://taude.xyz/posts/how-archivore-turns-browsing-into-a-...
[2] https://taude.xyz/posts/skip-ollama-run-llama-cpp-directly-o...
Why don't you think people should use your implementation? Just curious
I guess he meant it in a "look, I made a cool thing that is useful to me, but don't go throwing away your current organizational method just yet nor leave it open to the internet" way.
I vibed most of it (and though I like the code that was output, I coached it with some custom skills). If I were to share it out, I'd probably clean up some of the tools to make their interfaces smaller and cleaner. And make the docs a lot simpler. I'd probably also create some form of dashboard so you can see what's happening (all the docs scraped and saved), etc.
EDIT: it's also the type of thing that feels very personally customized for my needs. I encourage you to build something similar on the idea. Much like how Karpathy Wiki was suggestive and not a runtime to just use...
I feel like this could be useful for my Karpathy-style LLM Wiki, but then again I think, in this day and age most of what I'm reading about is outdated in a few weeks. Not only are the tools/methods coming and going, but the ones that stick around drastically change. It would probably turn into a dump of antiquated markdown that could cause confusion.
As far as the need for private search, well, I've already searched for or visited those pages, so...
Yeup, as I mentioned, it kind of feels like a Yak-shave....but it was fun building it, and gave me some experience with agentic coding and new technologies I don't normally work with. It's nice to dig into for some research.
The biggest win was the realization that both firefox and chrome maintain all the links you visit in a very queryable SQLite database. I've been poking at that for a lot of custom tools, like WHAT JIRA tickets am I paying attention to this week, etc....
Webpages used to have meta keyword tags until spammers hijacked them for irrelevant keywords.
I think browsers can play a part in building a local search index for URLs based on those keywords the page declares and cross verify/accept only those that are in prominently visible content, or may be delegate to an external engine(like LLMs) via an extension etc. This is particularly useful for cases where full text indexing is not feasible or desirable.
I doubt Google will ever add such feature in chrome though.
Meta keyword tags have always sucked even without malice. Because they're invisible, authors frequently forget to update them, copying <head> boilerplate between documents.
"I can't practice minimum quality control as a web dev" doesn't sound like a problem with the standard.
When designing a standard like this you need to apply systems thinking.
The poor data quality is a problem for anyone who wants to use the tags, which has seen everyone almost universally reaching for other solutions. Search engines have preferred anchor tags, bookmarking solutions have applied user tagging.
With keyword tags it's been a vicious circle of poor data quality and neglect since day one. Even in documents from the early 1990s when people were really trying, the data quality is inconsistent at best.
Did irrelevant keywords ever work for the spammer? You could add "naked" as a keyword because it had a lot of searches compared to "compiler". Now what happened to those looking for naked cats when they got to your website about code compilation. It's not like they would stop and think "oohh I'll look at this instead"
ditto, it's an experiment in near-vibe coding, which also uses Typesense for queries using BM-25 & RAG with fusion. I have the web search/fetch/crawl features persisting raw intermediate values (api responses, search result lists) because I might re-use them one day... at least good for auditability if I need to
related, it is using Hister author's prior project SearXNG as one of the search providers
Interesting, I actually very recently built a similar project [1]. I was unaware of this...If I were I probably wouldn't have bothered!
[1] https://git.brucewillis.sexy/~tombert/fs_index I promise, safe for work, despite the URL.
I was fascinated by hister initially, but now I'm fixated on your URL.
Hah, I bought that URL a long time ago, mostly as an in-joke between me and some friends since Bruce Willis was my favorite actor. Then later I needed a dev URL for some work I was doing, and the only one I had free was brucewillis.sexy. Then I kept making subdomains on it for different things and eventually it just became the default.
I like it.
Can you add viewed tweets?
Yes: https://hister.org/posts/how-hister-makes-the-social-web-sea...
I attain this without involving an untrustworthy third party, with one simple trick: Print to PDF.
Every single web page I’ve found interesting, since the advent of the Web, I have printed to PDF and stored locally for my own personal reference.
Something like 80,000+ files - my own copy of my own Internet - indexable, searchable.
Available offline. Something to read when I am far out to sea.
There is no need to involve third parties in your Internet history - no matter how trustworthy they seem to want to appear.
Print to PDF, and you’ve got everything you need, safe and sound.
Not a bad idea, and I used to save lots of web pages as PDFs in the distant past, but I've noticed that a large percentage of sites will not print out correctly as a PDF these days. I see myriad problems these days: the page is truncated on the right (no matter how much you zoom out), or all pages come out blank after the first page, or the PDF gets rendered as an image (taking many megabytes per page) rather than as text, or the outer frame prints but inner frames with the actual content are missing.
The more "modern" the site, the worse it is. Surprisingly, government websites often print correctly since they've done the least amount of work to make the site modern looking.
Very true.
Even full page screenshot doesn’t always capture the non visible part of the page (below the viewport).
Reader mode.
Except search. I want search. Going to try this project.
Yeah, about search:
Very effective, very fast, very private. Bonus points if the PDF filename itself is derived from a well formulated <title> tag, such that you can just use “ls” ..
You could combine it with existing products like DevonThink that are meant for researchers organizing documents and provide tagging, semantic search, similarity graphs, and so on.
I'd like to use it, but I'm hesitant to use anything that isn't a reviewed and approved package in my Linux distribution. Even if the chance is 1% that a program I download has malware or security problems that even the author doesn't know about (eg., due to libraries used), odds are that my system's going to be compromised if I run 50 such programs. This extends to browser add-ons, bookmarklets, and extensions too.
How do other people handle this dilemma?
Even solution I can think of involves are a great amount of extra work.
Clone the repo and ask your llm of choice to audit any security risks
And then build from source. And make sure it doesn't auto-update so no new malware gets in. This is my idea of a lot of extra work.
Building from source is nowadays writing one sentence in a chat box. Your idea of extra work is either unbelievably lazy or perhaps outdated by a few years.
Why even ask the question?
After that I run them in containers, no network access, ro filesystem.
Not very practical for a solution that requires a browser plugin. The browser is where most of my interesting data is.
good luck auditing all transitive dependencies
Distro maintainers aren’t infallible either. At the end of the day it’s up to you to decide where and how much trust you place and do your due diligence from there.
One thing that can be helpful when reasoning about things like this is figuring out what your actual threat model is. What does system compromise look like to you? Data exfiltration, arbitrary code execution, something else?
I think the best answer lies somewhere in compartmentalization and fine-grained permissions. In this case: run it in some kind of secure container which has access to read browser history, and write to its database, but definitely does not have network access.
Unfortunately there's no one-size-fits-all solution for this yet, but there are a lot of groups attacking it from different angles: Qubes, GrapheneOS, Firejail, Bubblewrap, Android/iOS app permissions, Landlock, App Sandbox, etc.
We should be doing this with all software, regardless of provenance, anyway. Least privilege applies to servers just as much as it does to users. Even if the software isn't untrustworthy you can be it has vulnerabilities.
My first go-to is network segmentation because I spend most of my time doing networking work. For every vendor who has shit-talked me to Customers ("Wah, wah! Your networking vendor is making this so much harder because they want us to enumerate our traffic!") I have concrete examples I can cite when attacks were stopped by network segmentation (preventing shellcode from downloading a payload, preventing C2 communication, firing off alerts when unexpected network traffic starts coming out of a host, etc).
Beyond network segmentation, I am very suspicious of software that needs to run as a privileged user. So many attacks get easier when privilege escalation in the host OS is already done for you.
And it's a proper way to use computer nowadays.
Apart from high-overhead solutions like VMs and containers, there are seamless and maintenance-free solutions (after the initial setup):
- systemd service hardening [0] [1]
pretty powerful, but it's a blacklist approach - whack-a-mole
- AppArmor [2]
Whitelist, proactive approach. Contrary to SElinux, it's not a programming language, and could be grasped pretty quickly. I made a tool to easily convert AA logs into usable rules. [3]
[0] https://github.com/alegrey91/systemd-service-hardening
[1] https://github.com/desbma/shh
[2] https://presentations.nordisch.org/apparmor/
[3] https://github.com/nobody43/apparmor-suggest
For me: consider this a form of paranoia and ignore it, while worrying more about cleanup costs of non-vetted packages.
Like, even if there is 5% chance that a program I download will start downloading global python or node packages, odds are within a year I'll deal with couple that have mutually incompatible requirements and are impossible to run without more VM surgery than I have patience for, and that I'll discover this only after a botched installation bricks software that used to work before.
But that's solvable with less extra work. Just throwaway containers. With no hand-wringing about read-only access or isolating it from network, because my threat modeling doesn't consider loss of privacy or any data leak from my personal local side to be realistic or impactful threat event (I mean, everything that matters is in someone else's cloud and by design not trivial to access) - OTOH, it assigns great magnitudes to loss of personal time.
Bonus point for having an IRC channel for community forum.
I thought that said Hitler at first.
It's really great you've done all that work for importing from other apps - I use Karakeep and at first didnt know how much redundancy I have between the two, but now I am going to try this since I have so much of it already setup.
Had a double take as initially read it as Hitler...
https://bugzilla.mozilla.org/show_bug.cgi?id=342916
Can I add NOTES about pages? This might be a good spot to do that...? Maybe the interface can be in a web page instead of terminal?
Before Google took off there was a vibrant ecosystem of FOSS dev around search, all different little aspects of it. Then after Google people stopped fiddling with search, search became "solved" or maybe "must be coded by the big boys". Shame.
Thank you for this, looooong time coming
The default interface is web based: https://demo.hister.org/
Notes are not supported yet, only labels. But it is a useful addition, added to my TODO.
Been running hister on my work machine for a month or two now. It's one of those things I don't look at until I need to, but when I do need it, it solves the dreaded hunting through the last month of browser history.
I also have it index my Obsidian notes, which is another little bonus for global search.
I did need to build up quite a few exclusion rules early on, but it's been hands off since.
Imagine the security vulnerabilities
first line of the open-source readme: ~download the binary for windows~ -- paved with good intentions?
Roughly in the same space is Zotero <https://www.zotero.org/> which is intended as a way of organizing research materials but is also a great way of quickly archiving web pages you've visited, including quick tagging and full text search.
Another very useful project is SingleFile. I was ecstatic when I found out about its existence.
https://github.com/gildas-lormeau/SingleFile
"SingleFile helps you to save a complete web page into a single HTML file. SingleFile is a Web Extension (and a CLI tool) compatible with Chrome, Firefox (Desktop and Mobile), Microsoft Edge, Safari, Vivaldi, Brave, Waterfox, Yandex browser, and Opera."
I use LinkDing for website bookmarking and storage/archiving needs. It is a great and stable piece of software. It archives using a Chrome web driver. Sometimes that fails, e.g. on Captchas, very heavy JS sites or sites behind login. Those I save with SingleFile and attach in LinkDing manually. Simple and works!
SingleFile can send to self-hosted LinkWarden. So good
It can also send to a self-hosted linkding, quite nice: https://linkding.link/archiving/#using-the-singlefile-browse...
Don't most browsers do this natively? Firefox saves single pages as html. Chrome saves pages as mhtml which isn't supported in firefox but can be easily converted if there's ever a need.
It doesn't work well with assets served via CDN, for example.
No it doesn't. Firefox (not sure about Chrome) saves to html, which:
1. Leaves all kinds of css, image file, which might be hundreds for each saved page. SingleFile saves everything in a convenient, working, single file. 2. is not really saving all the info.
I got burned when I was using Mozilla/Internet Explorer to save mhtml files, which ended up not being supported anymore. Additionally, turns out, they were saving the original versions of pages, without the Javascript changes, meaning that all the opened threads of comments I wanted to save were never saved! Never again!
Firefox has a "complete HTML" option in the save dialog which puts all those assets in a separate directory.
Will definitely be giving this a try. The marketing website looks good. Did you have an LLM do the design?
This is amazing and something I'd like to integrate with my personal AI assistant. Is there a way to make it also index pages visited from an Android phone?
What browser do you use? If you can install the extension is should work very easily
I use Chrome
at first glance i thought it was called hitler
I'd love a extension setting to only send tabs that were visible for ~4+ seconds.
I built myself a little extension last year that tracks what information I was looking at, but focused on generating "new info" recaps for the day / week.
I realized that I open / quick view a lot of pages and close them, which is a strong signal that I don't care about that specific page, and it shouldn't be a source of "new insights" that I learnt that day (since I probably don't care about that topic).
I'd love to re-try a simpler version of that project that builds on Hister as a backend actually.
Agree on this. There area lots of links I click and immediately close, because I immediately recognize it's AI Slop for instance. No need to register these type of stuff immediately to the hister database.
Adding a timer constraint would be really nice and I guess it might be quite easy to do it since it's only a concern in the browser extension.
Love this kind of system, so many useful mashup apps to build on top!
I've been using Hister for over 2 weeks. So far, so good. I really like the interface, the search, everything. Thank you!
Completely random but o remember reading back in the day that Nostradamus had predicted the rise of a Hitler like figure except he had named a Hister, not the actual.
https://www.history.co.uk/articles/did-nostradamus-really-pr...
Hi, was wondering if you would be alright with a github set private fork done by someone else if they got bored and wanted to add some private features? Thanks. Now back to my steak frites! :9
I was just thinking about a tool like this this morning.
Great product concept. I explored this some time ago and created a browser extension product. Check it out.
https://stashpad.ai/
The local file indexing sounds useful. Often forget where I saved that important PDF and Spotlight fails me.
I can see using this to index the thousands of bookmarks I have and my every growing reading list and see if my local model and find a pattern and/or help surface anything interesting related to the papers I read
Opera browser has this feature baked in a long time ago, before the Chromium era.
This is pretty useful, actually. I’ve been using it for the past 2–3 days, and I didn’t find it through YC Hacker News but through some other channel. It’s great to see that so many other people are already using it and praising it—congrats on that!
One of the most useful use cases for me, especially since I work in GTM, is keeping track of new ways to get replies from prospects, whether through cold outbound or things like SEO/GEO optimization. I read at least 2-3 articles a day on this, and it genuinely helps me figure out which ideas are worth trying because I can now keep track of everything I’ve read.
Is the plugin compatible with Brave?
I use Hister as my default search engine. I’m quite happy with it. If I know I need to branch out, I use the double-bang before my query “!! Hacker News Fujitsu” and it kicks straight to the configured search engine (Kagi in my case).
Wtf with everyone suggesting new names? Is this an LLM thing?
Do you have thoughts on the prospects for inter-operation between the "recoll" application and hister? Like, maybe an adapter that let's hister read recoll's xapian database/index? Or, a tool that converts/syncs beween hister's store and recoll's?
I use Betula (https://codeberg.org/bouncepaw/betula/) for this purpose of a self-hosted personal Google (for websites).
(For file search, I use voidtools' Everything, and I'm not sure why anyone other than Microsoft would want to mix local file results and web results)
This project looks cool, though I misread the name as "Hipster" initially [sips almond milk macha coffee]
I used to use it, but it would use a lot of CPU and hurt battery life, is the idea that you self host on a different machine?
My issue with this is that as I had my notes that I curated there was never return on investment for doing that.
Running this would be nice but it still takes time and still there is no ROI for me.
Of course there will be people who find it useful but I am pretty much done with building knowledge bases or having todo lists.
Stuff that I need to do or remember - everything else if I forget nothing happens and it doesn’t impact my life or work.
It would be nice if it could also search through emails. I'm using emails to myself often as notes and bookmarks. Would be nice if they could be included in the search index.
[flagged]
Can you please not post AI-generated or AI-edited comments to HN? It's not allowed here - see https://news.ycombinator.com/newsguidelines.html#generated and https://news.ycombinator.com/item?id=47340079.
Of course, it's impossible to know for sure what was LLM processed or not, but some of your posts (like this one) have been getting classified that way.
I've been using histre.com for years, which builds a personal search engine for the pages you visit by adding a browser extension. It's freed me from the habit of compulsively bookmarking everything in case I might need it again. I also keep a local text index for grepping which is plenty fast even with years of history and ripgrep, and comes in handy often.
Can Hister handle indexing of large local file shares? I've got 30-50TB of Word, PowerPoint, and Excel files with no easy way to search them currently, beyond Agent Ransack.
Does Hister handle this well? If not, can anyone suggest other options?
I just wanted to say thank you for not letting the LLM write the README.md for you n