smfs  by supermemoryai

Agent memory as a mountable, searchable filesystem

Created 1 month ago
400 stars

Top 72.0% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

A filesystem interface for AI agents and users, smfs (Supermemory Filesystem) allows interaction with Supermemory containers as standard directories. It offers state-of-the-art retrieval, automatic memory profiling, and background synchronization, enabling seamless integration of AI memory with existing file-based tools and workflows. This benefits developers building agent-based applications and power users needing efficient, semantic search across diverse file types.

How It Works

smfs exposes a Supermemory container as a mountable filesystem using FUSE on Linux and NFS on macOS. Files residing within designated "memory paths" are processed by Supermemory's pipeline, creating semantically searchable data. Other files function as durable storage. Writes are synchronized to Supermemory in the background, while remote changes are pulled periodically. For environments lacking a local filesystem, a TypeScript package (@supermemory/bash) provides a virtual bash tool, enabling agents to interact with memory via commands and semantic search (sgrep).

Quick Start & Requirements

  • Install: Execute curl -fsSL https://smfs.ai/install | bash.
  • Prerequisites: A Supermemory API key is required, obtainable from supermemory.ai.
  • Supported OS: macOS (arm64, x64) and Linux (arm64, x64).
  • Initial Steps: Run smfs login for authentication, followed by smfs mount <container_tag> to mount a Supermemory container as a local directory.
  • Documentation: Full quickstart and examples are available in the bash/README.md file for the TypeScript package.

Highlighted Details

  • Transparent Semantic Search: The standard grep command automatically performs semantic searches within smfs mounts when invoked without flags. A dedicated smfs grep command is also available.
  • Serverless Agent Integration: The @supermemory/bash TypeScript package provides a run_bash tool for AI agents in serverless, edge, or browser-based runtimes, including semantic search capabilities.
  • Background Synchronization: Local file modifications are pushed to Supermemory asynchronously, and remote changes are fetched automatically every 30 seconds by default.
  • Configurable Memory Paths: Users can specify which directories or files within a container should be processed for memory generation, allowing fine-grained control over the semantic indexing scope.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or project roadmap were found in the provided README.

Licensing & Compatibility

  • License: MIT.
  • Compatibility: The MIT license permits commercial use and integration with closed-source projects.

Limitations & Caveats

Operation relies on a Supermemory API key, indicating a dependency on an external service. Building from source requires Rust 1.80 or newer. The README mentions "SOTA retrieval" and "automatic memory profiles" without providing specific benchmarks or validation details.

Health Check
Last Commit

5 days ago

Responsiveness

Inactive

Pull Requests (30d)
16
Issues (30d)
3
Star History
404 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.