ValetFS GitHub Pages

ValetFS Quick Install Overview

ValetFS is a zero-backend, P2P, in-memory virtual file system desktop daemon. It is designed to expose short-lived tokens/keys to AI agents only while a paired mobile app allows it.

This repository contains the Go-based daemon (cmd/valetfs) and a Cloudflare Worker signaling stub for WebRTC bootstrap (signaling/).

Core Project Components

Install with curl + install.sh (Recommended)

On Linux, install the latest release with this one-liner:

curl -fsSL https://winm2m.github.io/valet-fs/install.sh | bash

The installer detects OS/architecture (amd64, arm64), downloads the matching binary from GitHub Releases, and installs it to /usr/local/bin/valetfs by default.

Optional Parameters

curl -fsSL https://winm2m.github.io/valet-fs/install.sh | VALETFS_VERSION=v0.1.0 INSTALL_DIR=$HOME/.local/bin bash

AI agent skill (Claude Code)

If you hand a connection key to a skill-capable agent, install the ValetFS skill on that machine as well. It makes the agent check your vault before reading credentials from disk or environment variables — in every later session, not just the one where you pasted the key.

curl -fsSL https://winm2m.github.io/valet-fs/install-skill.sh | bash

Installs to ~/.claude/skills/valetfs/. Set SKILL_DIR= to scope it to a single project instead.

Quick Start After Install

valetfs serve --dev
valetfs status

The daemon starts a local control API and WebDAV endpoint on loopback, and keeps running even when FUSE mounting is unavailable.

Two-Device Pairing Test (Vault + Serve)

You can validate the new vault-origin workflow with two machines: one runs serve as remote daemon, the other runs vault as controller.

Device A (serve target)

valetfs serve

If --signaling is omitted, default signaling URL is https://valetfs-signaling.winm2m.workers.dev. Keep this process running and copy the printed Session ID: ... value.

Device B (vault origin/controller)

export VALETFS_VAULT_PASSWORD='change-me'
valetfs vault init
valetfs vault add ./my-key.pem fs:/keys/my-key.pem
valetfs vault pair <SESSION_ID>

Optional follow-up commands:

valetfs vault sync <SESSION_ID> --signaling https://valetfs-signaling.winm2m.workers.dev
valetfs vault status <SESSION_ID> --signaling https://valetfs-signaling.winm2m.workers.dev
valetfs vault unmount <SESSION_ID> --signaling https://valetfs-signaling.winm2m.workers.dev

If follow-up commands time out when reconnecting to the same session, create a new serve session and pair again.

Verbose Mode for Pairing Diagnostics

If pairing fails with timeout, run both sides with verbose logs to inspect signaling, claim, answer, and ICE candidate exchange.

valetfs serve -v
valetfs vault -v pair <SESSION_ID>