<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gochi</title>
    <description>The latest articles on DEV Community by Gochi (@gochistuff).</description>
    <link>https://dev.to/gochistuff</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2175311%2F38d06f35-7c55-4d9c-91ba-fc86727c4373.jpg</url>
      <title>DEV Community: Gochi</title>
      <link>https://dev.to/gochistuff</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gochistuff"/>
    <language>en</language>
    <item>
      <title>Kensaku: Local Semantic File Search in Rust, with OCR and MCP for AI agents and Humans.</title>
      <dc:creator>Gochi</dc:creator>
      <pubDate>Tue, 27 Oct 2026 13:31:53 +0000</pubDate>
      <link>https://dev.to/gochistuff/kensaku-local-semantic-file-search-in-rust-with-ocr-and-mcp-for-ai-agents-and-humans-go1</link>
      <guid>https://dev.to/gochistuff/kensaku-local-semantic-file-search-in-rust-with-ocr-and-mcp-for-ai-agents-and-humans-go1</guid>
      <description>&lt;h1&gt;
  
  
  I Built Kensaku: A Local-First File Search Engine in Rust with Semantic Search, OCR, and MCP
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8qzka7k1xqdliaqmdhb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8qzka7k1xqdliaqmdhb5.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have you ever remembered exactly what a file contained but had absolutely no idea what you named it?&lt;/p&gt;

&lt;p&gt;You remember the code you wrote, the document you downloaded, or the screenshot you saved. But searching for it means guessing filenames, opening folders, and trying different keywords.&lt;/p&gt;

&lt;p&gt;I wanted to make that experience better, so I built &lt;strong&gt;Kensaku&lt;/strong&gt; — an open-source, local-first desktop search engine that helps you find files by their names, contents, and meaning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/yjid/kensaku" rel="noopener noreferrer"&gt;https://github.com/yjid/kensaku&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it
&lt;/h2&gt;

&lt;p&gt;Traditional file search works well when you know what you're looking for. Search the exact filename or a phrase inside a document, and you can usually find it.&lt;/p&gt;

&lt;p&gt;But what happens when you remember the idea rather than the words?&lt;/p&gt;

&lt;p&gt;For example, you might remember a document explaining database indexing but not remember whether its filename contains &lt;code&gt;database&lt;/code&gt;, &lt;code&gt;index&lt;/code&gt;, &lt;code&gt;notes&lt;/code&gt;, or something completely unrelated.&lt;/p&gt;

&lt;p&gt;That's where semantic search becomes useful.&lt;/p&gt;

&lt;p&gt;I wanted one local search tool that could combine multiple retrieval methods instead of forcing everything through filename matching alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Kensaku does
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Semantic search
&lt;/h3&gt;

&lt;p&gt;Kensaku supports searching for files by meaning, helping you find relevant content even when your query doesn't exactly match the words in a file.&lt;/p&gt;

&lt;p&gt;This complements traditional search rather than replacing it. Exact terms are still useful, and different retrieval methods have different strengths.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Full-text search with BM25
&lt;/h3&gt;

&lt;p&gt;Kensaku also uses BM25 for full-text retrieval. This helps rank documents based on how well their textual contents match a query.&lt;/p&gt;

&lt;p&gt;Combined with filename search and semantic retrieval, it gives you multiple ways to discover a file.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. OCR and document extraction
&lt;/h3&gt;

&lt;p&gt;Files aren't always clean, searchable text. Some contain scanned pages or image-based content.&lt;/p&gt;

&lt;p&gt;Kensaku includes OCR-oriented workflows and document extraction to make more of this material searchable. The goal is to bring documents and other useful local content into the same search experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Search your local files through MCP
&lt;/h3&gt;

&lt;p&gt;This is one of the parts I'm particularly interested in.&lt;/p&gt;

&lt;p&gt;AI agents are becoming better at reasoning, writing code, and working with information. But finding the right information in your existing local files can still be a separate problem.&lt;/p&gt;

&lt;p&gt;Kensaku exposes its local index through an MCP server, allowing compatible AI agents to query indexed files and retrieve relevant snippets.&lt;/p&gt;

&lt;p&gt;Instead of maintaining a separate cloud knowledge base for this workflow, an agent can work with the index on your machine.&lt;/p&gt;

&lt;p&gt;That creates an interesting possibility: &lt;strong&gt;the same search infrastructure can serve both direct human searches and AI-assisted workflows.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Built with Rust
&lt;/h3&gt;

&lt;p&gt;Kensaku uses Rust and Tauri for its desktop application.&lt;/p&gt;

&lt;p&gt;Semantic search uses a small, static quantized embedding table of approximately 7.7 MB, and semantic queries don't require a GPU.&lt;/p&gt;

&lt;p&gt;The broader goal is to keep the application lightweight and make local search useful without requiring dedicated AI hardware.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local-first by design
&lt;/h2&gt;

&lt;p&gt;Kensaku is designed around local file search rather than cloud-based indexing.&lt;/p&gt;

&lt;p&gt;Your files don't need to be uploaded to a hosted search service just to make them searchable. This is particularly useful for people who work with private documents, source code, research material, and personal archives.&lt;/p&gt;

&lt;p&gt;The project is open source under the MIT license, so you can inspect the implementation, report problems, and contribute improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's still a work in progress
&lt;/h2&gt;

&lt;p&gt;Kensaku is early, and there are still areas to improve.&lt;/p&gt;

&lt;p&gt;I'd particularly like feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semantic search relevance and ranking quality.&lt;/li&gt;
&lt;li&gt;Indexing speed and resource usage on large collections.&lt;/li&gt;
&lt;li&gt;OCR and document extraction coverage.&lt;/li&gt;
&lt;li&gt;The MCP interface and how AI agents should interact with local files.&lt;/li&gt;
&lt;li&gt;Installation experience and support across operating systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd rather get real feedback from developers using their own files than assume I've already solved every part of the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it out
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/yjid/kensaku" rel="noopener noreferrer"&gt;https://github.com/yjid/kensaku&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out the source, try the available release, and let me know what works and what doesn't.&lt;/p&gt;

&lt;p&gt;If the project sounds useful, please consider giving it a ⭐ on GitHub. Stars help more developers discover the project and motivate continued development.&lt;/p&gt;

&lt;p&gt;Issues, honest feedback, and contributions are all welcome.&lt;/p&gt;

&lt;p&gt;I'm building Kensaku in the open and looking forward to seeing what people do with it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rust</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Share file super fast &amp; easy. P2P file share with airdelivery.site</title>
      <dc:creator>Gochi</dc:creator>
      <pubDate>Thu, 17 Jul 2025 14:00:35 +0000</pubDate>
      <link>https://dev.to/gochistuff/share-file-super-fast-easy-p2p-file-share-with-airdeliverysite-1epm</link>
      <guid>https://dev.to/gochistuff/share-file-super-fast-easy-p2p-file-share-with-airdeliverysite-1epm</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1u9tsjteinmf14du1x27.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1u9tsjteinmf14du1x27.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I made a web application that lets user share files super fast and super easy. Which works perfectly when both user are on same network giving users features like one click connect or near by discovery.&lt;/p&gt;

&lt;p&gt;And it works in the browser only, so there is no need for any application. Just open the browser on any device and start sharing any file you want. &lt;/p&gt;

&lt;p&gt;Mainly designed to improve the workflow . &lt;br&gt;
Airdelivery.site is a powerful way to share files p2p .&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;End to End encrypted.&lt;/li&gt;
&lt;li&gt;No limit &lt;/li&gt;
&lt;li&gt;100 % Free to use &lt;/li&gt;
&lt;li&gt;fast transfer &lt;/li&gt;
&lt;li&gt;nearby discover or connect with Qr/code/link. any way you like . &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;you can try it out . &lt;br&gt;
giving the community something awesome .&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
