Skip to main content
A markdown filesystem for agents and teams — a single Go binary with a web UI, git versioning, full-text and vector search, and access via REST, MCP, NFS, S3, WebDAV, and FUSE.
Obsidian is a desktop app. KiwiFS is a server with a web UI, agent APIs, git audit trail, and server-side search over the same markdown files.
Those tools store content in proprietary databases. KiwiFS stores plain markdown. cat page.md and git clone always work.
No. Git runs under the hood; the API and web UI hide it. Git is the audit trail, not the primary interface.
KiwiFS is in active development (currently v0.19). Core features are stable in internal production use. Public APIs may evolve before v1.0.

Installation

A single static Go binary. SQLite is embedded. The web UI is embedded via go:embed. Runs on macOS, Linux, and Docker.
Derived state — not your content. Safe to delete and rebuild with kiwifs reindex.

Agents

Three ways:
  1. Filesystem — NFS or FUSE mount: cat, echo, grep
  2. RESTPUT /api/kiwi/file
  3. MCPkiwifs mcp --root ~/knowledge (60+ tools)
Yes. kiwifs mcp --root ~/knowledge runs in-process against the directory. No HTTP needed.
See MCP.
Send X-Actor and X-Provenance on writes. KiwiFS injects derived-from into frontmatter automatically.
Use Ollama as the embedder and sqlite-vec as the store for fully local semantic search.

Protocols

See Alternate protocols.
Yes. Every write gets git commit, index update, and SSE broadcast regardless of entry protocol.

Data

Atomic writes (temp → fsync → rename). Git reflog aids recovery.
  • git push to any remote
  • kiwifs backup / [backup] in config
  • kiwifs restore --from ... --to ...
  • rsync the knowledge root

License

BSL 1.1 — self-host and embed freely. You cannot offer KiwiFS itself as a commercial hosted service. Each release converts to Apache 2.0 after four years.
Last modified on May 31, 2026