II.
Page JSON
Structured · livepage:docs-supermemory-research-raw-03-smfs-github
SMFS GitHub Repository json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-supermemory-research-raw-03-smfs-github",
"_kind": "Page",
"_file": "wiki/docs/supermemory-research/raw/03-smfs-github.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/supermemory-research/raw/03-smfs-github.md",
"sourceKind": "repo-docs",
"title": "SMFS GitHub Repository",
"displayName": "SMFS GitHub Repository",
"slug": "docs/supermemory-research/raw/03-smfs-github",
"articlePath": "wiki/docs/supermemory-research/raw/03-smfs-github.md",
"article": "\n# SMFS GitHub Repository\n\nSource: https://github.com/supermemoryai/smfs\n\n## Core Concept\n\nSMFS is a filesystem designed to expose Supermemory containers as accessible directories. \"Your Supermemory container, exposed as a filesystem\" with capabilities for reading, writing, and searching memory like a local directory.\n\n## Dual Access Architectures\n\n### Local Mount\n\nMounts as a real directory on systems with kernel filesystem support (macOS, Linux, devcontainers, Docker, microVMs). Editors and standard Unix tools work transparently.\n\n### Virtual Bash Tool\n\nFor serverless and edge environments lacking local filesystems, a TypeScript package (`@supermemory/bash`) provides the same functionality as a pluggable agent tool without requiring actual filesystem mounting.\n\n## Installation\n\n```bash\ncurl -fsSL https://smfs.ai/install | bash\n```\n\nSupports macOS and Linux (both arm64 and x64). Requires a Supermemory API key.\n\n## Core Commands\n\n- `smfs mount <tag>` -- mounts a container as a directory\n- `smfs grep \"query\"` -- semantic search without flags; literal grep with any flag\n- `smfs login` -- one-time credential storage\n- `smfs unmount <tag>` -- unmount and drain pending writes\n\n## Memory Path Configuration\n\nOnly files under designated \"memory paths\" undergo Supermemory's processing pipeline for semantic indexing. The `--memory-paths` flag allows configuration:\n\n```bash\nsmfs mount agent_memory --memory-paths \"/notes/,/journal.md,/work/\"\nsmfs mount agent_memory --memory-paths \"\" # disables processing\n```\n\nTrailing slash = match any file inside that folder recursively. No trailing slash = exact file match.\n\n## Backend Implementation\n\n- **FUSE**: Linux containers and systems; requires `/dev/fuse` device and `SYS_ADMIN` capability\n- **NFS**: Default on macOS hosts; doesn't apply within Linux containers\n\n## Synchronization Behavior\n\nLocal changes upload asynchronously; remote changes sync every 30 seconds by default. `--sync-interval` adjusts pull timing; `--no-sync` disables pulling while preserving uploads.\n\n## Virtual Bash Tool Usage\n\n```typescript\nimport { createBash } from \"@supermemory/bash\";\n\nconst { bash } = await createBash({\n apiKey: process.env.SUPERMEMORY_API_KEY!,\n containerTag: \"user_42\",\n});\n\nawait bash.exec(\"echo 'hello' > /a.md && cat /a.md\");\nawait bash.exec(\"sgrep 'authentication tokens'\");\n```\n\n## Docker Deployment\n\nFUSE-enabled Docker runs require: `--device /dev/fuse --cap-add SYS_ADMIN`\n\n## Technical Stack\n\nRust (40.9%), Python (40.4%), TypeScript (18.1%). Rust 1.80+ required for source builds.\n\n## License\n\nMIT\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-supermemory-research",
"to": "page:docs-supermemory-research-raw-03-smfs-github",
"kind": "contains_page"
}
]
}