Rendered at 17:53:21 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
linuxrebe1 2 days ago [-]
I had an issue. A documents folder with over 12k objects in it. A hodgepodge of folders and sub-folders. That over time had created a mess that no amount of file movement was ever going to make it usable. I wanted:
1) To keep my data local
2) be able to filter out PII and other data
3) Be able to find and delete duplicates
4) Get short synopsis of what a document is
5) Semantic and keyword search
6) All of this kept local to me requiring no internet access and no tokens spent to train someone elses AI.
The result I call DocuBrowser and in it's current form is FOSS (GPL-3) licensed for your personal use. The UI is in your browser. The AI models used are held local and are tiny, Available for Linux(RPM,Deb, and tgz) Windows and Mac. Let me know what you think and thanks for taking the time to try it out.
Key difference I see is that you point it to a folder instead of uploading to a system.
vsviridov 2 days ago [-]
I think paperless devs are working on AI integration, and there are 3rd party solutions. I'm holding out for an official one, so far.
It's pretty cool, I've set up a share where the scanner scans, and it automatically picks it up from there and ingests it into the system.
gatnoodle 1 days ago [-]
This looks really cool. Can you tell me the minimum specs required to run this? It would nice if you could add it to the readme as well.
linuxrebe1 22 hours ago [-]
I've run it on a VM with 4G ram and no GPU. It runs, But I really recommend 8G ram at least. If you have a GPU (like I do) with 4G vRAM that is ideal. Will get this in the readme. Thanks for the suggestion. I really tried to build this to minimal spec.
bobim 2 days ago [-]
Could it be extended so it also extracts pictures from pptx and xlsx and run vision to get a description to be added to the text content before indexing?
linuxrebe1 2 days ago [-]
Let me look into this
esperent 1 days ago [-]
I've been working on something related - extracting tons of data from various formats to allow searching them - and the solution I chose for xlxs and xls files was headless LibreOffice to convert them to CSV. There's also exceljs but I found it didn't work for many old xls files.
I didn't find screenshotting of spreadsheets worked well, vision wasn't very accurate on them. I do use it for PDFs though. For docx it's probably fine either way but I went with LibreOffice -> markdown.
linuxrebe1 23 hours ago [-]
I went with the python libraries (pydoc and pyxls for example), because it's portable and doesn't require a big download to a users system if they don't already have it installed.
bobim 21 hours ago [-]
My take was on pictures embedded into those documents, I'm not sure screenshotting would help as the text/numeric data is already there. Just saying.
clif_mcIrvin 2 days ago [-]
How about jpegs or other scanner images files? We have hundreds of scanned documents that were never pdf wrapped.
linuxrebe1 22 hours ago [-]
hmmmm :)
fnordian 1 days ago [-]
It’s either restricted to personal use, or it’s GPL-3. How can you have both?
linuxrebe1 23 hours ago [-]
By restricted for personal use I mean it's not networked. It's running on your system only. It's not a networked commercial product able to do SSO etc. It's not an enterprise level product.
password4321 2 days ago [-]
Personal use? I need this at work, dragging useful info from tarpits like Teams and GitLab.
Also need to search git repos including all branches and history (TIL/xkcd#153'd GitLab's web search can basically only do one branch at a time).
rukshn 1 days ago [-]
But how’d you access teams when it’s work teams and don’t have api access ?
password4321 19 hours ago [-]
Microsoft Graph API
linuxrebe1 2 days ago [-]
I creating DocuRepo as well. though not as fleshed out.
karmakaze 2 days ago [-]
I learned a solution is to turn the documents into vectors in say PostgreSQL (with pgvector) and do a cosine similarity search with a search vector. Doing a search for embed models on HuggingFace shows nomic-ai/nomic-embed-text-v1.5 and Qwen/Qwen3-Embedding-0.6B. I might have used a larger one like Qwen/Qwen3-Embedding-4B.
There's some info for AnythingLLM[0] which supports RAG. AnythingLLM has LanceDB out of the box but also supports others including pgvector.
I just had a wild thought. Combine Hister with my RepoSearch app. Point it at a companies Internal github/gitlab and have a searchable knowledge base of your git repos.
asciimoo 5 hours ago [-]
I like the idea. Could you share your RepoSearch app? Also, we have Discord & IRC channels, please join and start brainstorming.
hankbond 2 days ago [-]
I have not set up Hister yet but it's on my list to try out. How would I do something like host it on my Unraid box but have it index/persist my local MacBook browsing history?
LawrenceKerr 5 hours ago [-]
Many such open source projects already (which is fantastic). I lose track of them.
Today it happened I needed a simple way to embed & query 1TB+ of documents, and I was looking at open source options. Can anyone tell me what their go-to solution is now? Could this be the one?
And what are the key differences vs. other open source RAG tools like kotaemon?
kamranjon 1 days ago [-]
Wanted to share Antfly which I think serves a similar niche:
They’ve put a lot of effort into optimizing the local llm pipelines and I have a lot of faith in the devs working on it.
appstorelottery 1 days ago [-]
Anyone getting a bunch of permission errors when running (e.g. Traceback (most recent call last):
File "/Users/tron/Applications/DocuBrowse/venv/lib/python3.9/site-packages/psutil/_psosx.py", line 347, in wrapper
return fun(self, args, *kwargs)
File "/Users/tron/Applications/DocuBrowse/venv/lib/python3.9/site-packages/psutil/_psosx.py", line 508, in net_connections
rawlist = cext.proc_net_connections(self.pid, families, types)
PermissionError: [Errno 1] Operation not permitted (originated from proc_pidinfo(PROC_PIDLISTFDS) 1/2)
appstorelottery 1 days ago [-]
Living in bizarro world of AI. Install open source project, fails, feed into OpenCode w/DeepSeekFlash 4 -> feed error into it get fixed.
The kill_port function only catches ImportError from the psutil block, so when psutil is installed but raises AccessDenied (common on macOS), it crashes instead of falling back to lsof.
In platform_paths.py - add two lines after line 250:
except psutil.Error:
pass
Fixed. Now when psutil raises AccessDenied (as happens on macOS without elevated privileges), it falls through to the lsof/fuser fallback instead of crashing. Try docubrowser start again.
linuxrebe1 23 hours ago [-]
I fixed this in version 0.9.1 (just released) thanks for the bug (seriously)
appstorelottery 1 days ago [-]
Disappointed that it wasn't returning a list of paragraphs from eBooks that semantically match; search only appears to list the publications - not the actual match within the document.
linuxrebe1 1 days ago [-]
Noted the bug.
linuxrebe1 1 days ago [-]
I was building for mac on a VM install of OSX. Will take this as a bug, Thanks.
nickweb 1 days ago [-]
Honestly. This with Paperless-NGX might be game changing if both pointed to the same folder.
mune2gu-chan 1 days ago [-]
Not a fan of pushing every personal document to someone else's cloud. Nice to see a tool that keeps everything on disk instead.
NKosmatos 2 days ago [-]
Looks good, definitely going to try it. Extra thanks for creating something fully local, we need more projects like this one!
linuxrebe1 2 days ago [-]
thankyou
Ozzie_osman 1 days ago [-]
This is really cool. Can it play nice with gdrive or Dropbox? For better or worse, that's just where my data lives now but I'd love this layer.
linuxrebe1 1 days ago [-]
I use rclone to "mount" them locally. Then it becomes searchable.
hunmernop 1 days ago [-]
Can you make a dockerfile and docker compose file?
seba_dos1 1 days ago [-]
You can.
Avery29 2 days ago [-]
The hardest part of these projects is usually not making documents searchable
aucisson_masque 2 days ago [-]
I'm a huge fan of recall, going to test this out. This looks very interesting.
How do you feel about supporting an S3 compatible target as a feature request?
linuxrebe1 2 days ago [-]
I'm actually thinking of this for a commercial product feature. However, if you use a tool like Rclone on Windows, Linux or Mac. Mount the s3 bucket and you can then run DocuBrowse as if the s3 bucket were local.
subhobroto 2 days ago [-]
I love your project on many fronts. One, you're using Claude. Two, you used Python - but most importantly, you personally care about it.
I will be using this, and I will be making contributions to it as well.
> I'm actually thinking of this for a commercial product feature
Would you consider writing down which features you would like to make commercial product features and how you would like to price them?
linuxrebe1 1 days ago [-]
Consider it yes, However having experience in this ... not really. For now there is a file called Decisions.md in the repo that is my "notes to self" if you will about where and what I need to do.
1 days ago [-]
drizzler 2 days ago [-]
I just installed this and, after a few hiccups, got it up and running on my Ubuntu system. Works great, looks great. Thank you for this.
Half of my documents are OpenDocument format. Is there any chance you'll be supporting ODF in the future?
linuxrebe1 2 days ago [-]
Yes, not supporting it is an oversight I will correct.
linuxrebe1 1 days ago [-]
Will have version 0.9.1 out later today to support ODF formats.
linuxrebe1 23 hours ago [-]
v0.9.1 is in the repo and packages have been built. It now does all of the ODT formats.
jphorism 2 days ago [-]
Nice, what are you hoping to accomplish with this project?
linuxrebe1 2 days ago [-]
- Filling a need I personally have.
- Learning how to leverage AI for real world use not just to fill up a data center.
- Personal knowledge
-developing skills
The result I call DocuBrowser and in it's current form is FOSS (GPL-3) licensed for your personal use. The UI is in your browser. The AI models used are held local and are tiny, Available for Linux(RPM,Deb, and tgz) Windows and Mac. Let me know what you think and thanks for taking the time to try it out.
Key difference I see is that you point it to a folder instead of uploading to a system.
It's pretty cool, I've set up a share where the scanner scans, and it automatically picks it up from there and ingests it into the system.
I didn't find screenshotting of spreadsheets worked well, vision wasn't very accurate on them. I do use it for PDFs though. For docx it's probably fine either way but I went with LibreOffice -> markdown.
Also need to search git repos including all branches and history (TIL/xkcd#153'd GitLab's web search can basically only do one branch at a time).
There's some info for AnythingLLM[0] which supports RAG. AnythingLLM has LanceDB out of the box but also supports others including pgvector.
[0] https://docs.anythingllm.com/features/embedding-models
I'm working on a similar application called Hister (https://github.com/asciimoo/hister). I should borrow some of your ideas. =]
Today it happened I needed a simple way to embed & query 1TB+ of documents, and I was looking at open source options. Can anyone tell me what their go-to solution is now? Could this be the one?
And what are the key differences vs. other open source RAG tools like kotaemon?
https://antfly.io/
https://github.com/antflydb/antfly
They’ve put a lot of effort into optimizing the local llm pipelines and I have a lot of faith in the devs working on it.
The kill_port function only catches ImportError from the psutil block, so when psutil is installed but raises AccessDenied (common on macOS), it crashes instead of falling back to lsof.
In platform_paths.py - add two lines after line 250:
except psutil.Error: pass
Fixed. Now when psutil raises AccessDenied (as happens on macOS without elevated privileges), it falls through to the lsof/fuser fallback instead of crashing. Try docubrowser start again.
I will be using this, and I will be making contributions to it as well.
> I'm actually thinking of this for a commercial product feature
Would you consider writing down which features you would like to make commercial product features and how you would like to price them?
Pretty much in that order