Skip to main content
Besides REST and MCP, KiwiFS can expose your knowledge base over NFS, an S3-compatible API, WebDAV, and a FUSE client. Use them when a tool already speaks a filesystem or object-store protocol: an agent sandbox that runs grep, a backup job that runs aws s3 sync, or a desktop that maps a network drive. Every write, whatever the protocol, goes through the same pipeline: atomic write, git commit, search index update, and SSE broadcast.

Quick comparison

Enable protocols

The NFS, S3, and WebDAV servers start with kiwifs serve and listen on --host (default 0.0.0.0):
Terminal
GET /readyz reports whether each enabled protocol is accepting connections, and returns 503 if one isn’t.

NFS

KiwiFS runs a userspace NFSv3 server. Without --nfs-allow, only loopback clients (127.0.0.0/8 and ::1) can mount. There is no portmapper, so pass the port explicitly:
Agents then use ordinary shell tools:
Terminal
NFS supports symlinks, open-then-delete, and file handles that stay valid across server restarts. .git and .kiwi are hidden from listings.
NFS has no authentication. Access is controlled only by --nfs-allow, so allow the narrowest network range you can.

S3-compatible API

The whole knowledge base is one bucket named knowledge. With multiple spaces, each space is its own bucket. Object keys are file paths.
Terminal
The S3 server doesn’t check AWS signatures, so any access key works. It supports ListObjectsV2 with delimiters and pagination, which aws s3 sync, boto3, and rclone rely on.

WebDAV

Connect a desktop client to http://<host>:3335/:
  • macOS: in Finder, choose Go → Connect to Server and enter http://localhost:3335/.
  • Windows: map a network drive to http://localhost:3335/.
  • Linux: use davfs2, or open the URL in your file manager.
WebDAV supports MOVE, COPY, MKCOL, and DELETE. Large uploads are buffered to disk before they’re committed.

FUSE remote mount

kiwifs mount mounts a remote KiwiFS server as a local folder over HTTP. The mount point is a positional argument:
Terminal
Terminal
The mount stays in the foreground until you unmount it. FUSE reports sub-second mtimes, supports O_APPEND, symlinks, and directory renames, but not kernel mmap.
FUSE needs macFUSE on macOS or fuse3 on Linux. kiwifs mount isn’t available on Windows; use WebDAV or REST instead.

Authentication

S3 and WebDAV check only the global [auth] api_key. With perspace or oidc auth, or with no auth, they accept every request. Most S3 clients can’t send a bearer header, so in practice keep S3 and WebDAV on a private network or behind a firewall in production.

POSIX semantics

See POSIX and filesystem semantics for the full matrix.

Agent interface

How agents reach KiwiFS.

CLI commands

Full kiwifs serve and kiwifs mount reference.

POSIX semantics

What works on each mount.

Authentication

API keys, scopes, and OIDC.
Last modified on October 19, 2026