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 withkiwifs serve and listen on --host (default 0.0.0.0):
Terminal
Protocol flags
Protocol flags
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:
Terminal
.git and .kiwi are hidden from listings.
S3-compatible API
The whole knowledge base is one bucket namedknowledge. With multiple spaces, each space is its own bucket. Object keys are file paths.
Terminal
ListObjectsV2 with delimiters and pagination, which aws s3 sync, boto3, and rclone rely on.
WebDAV
Connect a desktop client tohttp://<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.
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
Mount flags
Mount flags
Terminal
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
POSIX semantics
See POSIX and filesystem semantics for the full matrix.
Related
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.