{"id":79879,"date":"2026-08-03T18:46:56","date_gmt":"2026-08-03T18:46:56","guid":{"rendered":"https:\/\/owncloud.com\/?p=79879"},"modified":"2026-08-03T18:46:56","modified_gmt":"2026-08-03T18:46:56","slug":"chat-with-your-files-on-your-server-with-your-llm","status":"publish","type":"post","link":"https:\/\/owncloud.com\/de\/blogs\/chat-with-your-files-on-your-server-with-your-llm\/","title":{"rendered":"Chat With Your Files. On Your Server. With Your LLM."},"content":{"rendered":"<p>Two things happened in two weeks in the ownCloud web-extensions repository in June 2026. First, the repository was relicensed from AGPL-3.0 to Apache-2.0 \u2014 the first step in our systematic migration to Apache 2.0 across the oCIS ecosystem. Second, Lukas Hirt opened a PR for a new extension called web-app-chat-with-file, merged June 18.<\/p>\n<p>The timing is not a coincidence. Apache 2.0 is the licence that makes extensions like this one attractive to build.<\/p>\n<h3>What web-app-chat-with-file Does<\/h3>\n<p>When you open a PDF, TXT, or Markdown file in oCIS, a Chat sidebar panel appears. You can have a back-and-forth conversation with the file&#8217;s content: ask questions, get summaries, request clarifications about what&#8217;s in the document. And the part that makes this more than a read-only viewer: you can ask the LLM to rewrite or edit the file in place.<\/p>\n<p>That last capability is the interesting one. Most &#8222;chat with document&#8220; implementations are read-only. You send the content to an AI service, get a response, and the loop ends there. The document stays unchanged on some external server&#8217;s storage. This extension closes the loop: the AI can write back to your oCIS file, directly, through the same oCIS APIs the extension already uses.<\/p>\n<p>The sovereign angle writes itself. Your files are on your server. Your LLM endpoint is wherever you&#8217;ve configured it \u2014 self-hosted Ollama, a locally-managed inference server, or an enterprise AI deployment inside your perimeter. The conversation happens between your browser, your oCIS instance, and your LLM. Nothing leaves your infrastructure unless you&#8217;ve pointed it somewhere that leaves your infrastructure.<\/p>\n<h3>Two Weeks That Changed oCIS&#8217;s AI Story<\/h3>\n<p>Look at what&#8217;s shipped in the past two weeks:<\/p>\n<ul>\n<li><strong>June 14<\/strong> \u2014 oCIS MCP Server v1.0.0. 80 tools for giving AI coding assistants structured access to ownCloud Infinite Scale.<\/li>\n<li><strong>June 15<\/strong> \u2014 web-extensions relicensed to Apache-2.0. The extension framework moves to the most permissive and procurement-friendly licence. REUSE 3.x compliance added. Automated licence checks in CI.<\/li>\n<li><strong>June 16-18<\/strong> \u2014 web-app-chat-with-file opened, reviewed, and merged. An AI chat sidebar for PDF, TXT, and Markdown files, with in-place editing capability.<\/li>\n<\/ul>\n<p>The MCP Server gives AI agents programmatic access to oCIS from the outside. The chat extension gives users an AI interface from the inside. Complementary, not redundant. An AI agent using the MCP Server can create a file, move it into a Space, and create a share. The chat extension lets a user open that file and have a conversation with its content. Two different interaction models, same sovereign infrastructure.<\/p>\n<h3>Why the Extension Framework Matters<\/h3>\n<p>web-app-chat-with-file is a web extension, not a core feature. Core features are maintained by the core team, shipped with every oCIS release, and subject to the full product governance cycle. Web extensions are independent packages that plug into the oCIS web interface via the published extension API. A customer can install web-app-chat-with-file, configure it for their LLM endpoint, and ship it to their users without waiting for an oCIS release cycle.<\/p>\n<p>When we published the AI-Assisted Contribution Policy in May, we said: great ideas should not be blocked by someone&#8217;s programming seniority. The path from idea to deployed feature in a web extension is a PR, a review, and an npm install.<\/p>\n<p>Lukas wrote the relicensing PR. A week later he shipped an AI chat extension, merged after review. The extension framework, now Apache 2.0, is what made that speed possible.<\/p>\n<h3>What the PR Ships<\/h3>\n<p>web-app-chat-with-file is a new package in the web-extensions repository. It:<\/p>\n<ul>\n<li>Opens a Chat sidebar panel when a user views a PDF, TXT, or MD file in oCIS<\/li>\n<li>Provides a back-and-forth conversational interface about the file&#8217;s content<\/li>\n<li>Allows the LLM to rewrite or edit the file in place through oCIS file APIs<\/li>\n<li>Connects to a configurable LLM endpoint \u2014 bring your own model<\/li>\n<\/ul>\n<p>The extension follows the Apache 2.0 licence that now governs the entire web-extensions repository. Lukas&#8217;s commits carry DCO sign-offs. No CLA required.<\/p>\n<p><a href=\"https:\/\/github.com\/owncloud\/web-extensions\" target=\"_blank\" rel=\"noopener\">github.com\/owncloud\/web-extensions<\/a> \u00b7 <a href=\"https:\/\/github.com\/owncloud\/web-extensions\/pull\/454\" target=\"_blank\" rel=\"noopener\">PR #454<\/a><\/p>\n<h3>What Comes Next<\/h3>\n<p>The extension ecosystem is open. web-app-chat-with-file is one person&#8217;s idea of what a useful AI feature looks like. Your idea might look different.<\/p>\n<p>A version-history chat extension. An auto-summarise-on-upload extension (a related one, `web-app-ai-doc-summary`, merged the day before). A contract analysis sidebar. A translation extension that rewrites the file in another language. All of these are web extensions waiting to be built, on a framework that&#8217;s now Apache 2.0, with an AI contribution policy that says: if it works, it ships.<\/p>\n<p>The AI development guide is at <a href=\"https:\/\/owncloud.dev\" target=\"_blank\" rel=\"noopener\">owncloud.dev<\/a>. The extension framework is at <a href=\"https:\/\/github.com\/owncloud\/web-extensions\" target=\"_blank\" rel=\"noopener\">github.com\/owncloud\/web-extensions<\/a>. The MCP Server is at <a href=\"https:\/\/github.com\/owncloud\/ocis-mcp-server\" target=\"_blank\" rel=\"noopener\">github.com\/owncloud\/ocis-mcp-server<\/a>.<\/p>\n<p>Build something.<\/p>\n<hr \/>\n<p><em>Lukas Hirt is a Collaborator on ownCloud web-extensions. PR #454 authored June 16, 2026.<br \/>\n<\/em><em>ownCloud OSPO:<\/em> ospo@kiteworks.com \u00b7 <a href=\"https:\/\/kiteworks.com\/opensource\" target=\"_blank\" rel=\"noopener\">kiteworks.com\/opensource<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chat with your files. Edit them in place. Never leave your server. That&#8217;s what shipped in this oCIS extension, on a web-extensions repo that went Apache-2.0 the same week.<\/p>\n","protected":false},"author":7,"featured_media":79880,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[603,333,337,509,401,344,55,354],"tags":[],"class_list":["post-79879","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apps","category-community","category-foss","category-infinite-scale","category-marketplace","category-opensource","category-owncloud-product","category-release"],"acf":[],"_links":{"self":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/79879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/comments?post=79879"}],"version-history":[{"count":1,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/79879\/revisions"}],"predecessor-version":[{"id":79881,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/79879\/revisions\/79881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/media\/79880"}],"wp:attachment":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/media?parent=79879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/categories?post=79879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/tags?post=79879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}