KiwiFS is a knowledge server built for both humans and automation. It positions itself as “PocketBase for knowledge”—a single binary that serves a file-based knowledge base with web UI, versioning, and search, all without configuration. Unlike traditional wikis or note-taking apps, KiwiFS treats plain Markdown files as the source of truth. Agents interact with it using standard Unix tools (cat, grep, echo), while humans browse and edit via a web interface inspired by Obsidian. Git handles version history, SQLite powers full-text and semantic search, and the entire system runs from one Go binary compiled for Linux, macOS, or Windows.
What it does
- Serves a local knowledge base as a web wiki with Obsidian-style navigation, graph view, and live search
- Accepts writes from scripts or agents via the filesystem—no API client or SDK required
- Uses Git for atomic commits, blame, diffs, and point-in-time restores
- Combines SQLite FTS5 (BM25) and pluggable vector search over the same Markdown files
- Enforces concurrency safety using ETags derived from Git blob hashes and standard HTTP
If-Matchchecks - Extracts YAML frontmatter into a SQLite
file_metatable for structured querying (e.g.,SELECT * FROM file_meta WHERE tags LIKE '%api%')
Getting it running
Installation is a single command. The project provides an install script that fetches and places the binary in $HOME/bin (or %USERPROFILE%\bin on Windows):
curl -fsSL https://raw.githubusercontent.com/kiwifs/kiwifs/main/install.sh | sh
After installation, initialize a knowledge root and start the server:
kiwifs init ./knowledge && kiwifs serve --root ./knowledge
That’s it. The server listens on http://localhost:3333 by default. No database setup, no config files, no environment variables. The ./knowledge directory becomes a Git repository, and all edits—whether via web UI or echo "# Hello" > ./knowledge/welcome.md—are committed automatically.
The binary requires Go 1.25 to build from source, but prebuilt binaries are available for download from GitHub Releases. Docker support is not mentioned in the README, and there’s no docker run command listed—only the native binary is documented as the supported deployment method.
Who this is for
KiwiFS targets teams building agent-augmented workflows where knowledge must be both machine-writable and human-reviewable. It fits environments where agents generate documentation, logs, reports, or API specs—and where those artifacts need version control, discoverability, and editorial oversight. Examples include:
- Internal developer portals fed by CI pipelines (
echo "## $VERSION" > ./docs/releases.md) - Research logs written by Python agents and reviewed in-browser
- Incident postmortems authored via script and linked in a wiki graph
- Onboarding documentation automatically updated by infrastructure-as-code tooling
It assumes familiarity with Unix tooling and Git. Users who expect point-and-click setup, hosted SaaS, or tight integration with commercial LLM APIs may find the tool too low-level. It does not provide built-in authentication, multi-tenancy, or external OAuth—those are left to reverse proxies or future extensions.
How it compares
KiwiFS distinguishes itself from alternatives by refusing to choose between “files” and “database.” Obsidian stores files but lacks a built-in web UI or agent-facing interface. Outline and Confluence offer web interfaces but lock content in proprietary databases. PocketBase (the reference in its tagline) provides a zero-config backend with admin UI—but for structured records, not flat files. Agent-VFS exposes a virtual filesystem to agents but omits human-facing search, version history, and UI.
Compared to static site generators like Hugo or Jekyll, KiwiFS adds real-time editing, search indexing, and Git-backed concurrency—without requiring rebuilds or deploys. Against vector databases like Chroma or Qdrant, KiwiFS keeps embeddings optional and rebuildable from source files, avoiding lock-in to a specific embedding model or storage format. It’s heavier than a raw git init + http-server, but lighter than full-stack wiki platforms requiring Postgres, Redis, and background workers.
The project is young—97 GitHub stars as of its latest public activity—and licensed under the Business Source License 1.1 (BSL-1.1), which permits free use but restricts production use in competitive SaaS offerings until the license changes or expires. The codebase is written in Go, with no external runtime dependencies beyond the standard library and SQLite. Pull requests are explicitly welcomed, and the CI pipeline runs on GitHub Actions.
KiwiFS is not a replacement for Notion, Obsidian Sync, or enterprise wiki software. It does not include user management, rich media embedding, or offline-first mobile apps. It does not abstract away Git—it expects users to understand commits, branches, and remotes. If you want a hosted knowledge base with Slack integration and AI-powered summaries out of the box, this isn’t it. If you want a single binary that turns a folder of Markdown into a versioned, searchable, agent-writable wiki—then KiwiFS delivers exactly that.
Source: https://github.com/kiwifs/kiwifs
Comments