[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1196":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},1196,"smfs","supermemoryai\u002Fsmfs","supermemoryai","A filesystem designed for agents, with SOTA retrieval, automatic memory profiles, sync engine. Drop any file type (pdf, images, videos), and grep through them.","https:\u002F\u002Fsmfs.ai",null,"Rust",421,31,308,1,0,8,12,86,24,4.52,"MIT License",false,"main",true,[27,28,29,30,31],"ai-agents","ai-memory","filesystem","memory","rag","2026-06-12 02:00:24","\u003Cimg width=\"728\" height=\"288\" alt=\"SMFS - folder icon\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F81aa246b-a1c9-489e-a643-0db0c875fa0a\" \u002F>\n\n\n# smfs\n\nYour Supermemory container, exposed as a filesystem. Read, write, and `grep` your memory like any local directory.\n\nTwo access flows depending on the runtime:\n\n- **Mount it as a directory.** A real local folder for editors, scripts, and any tool that reads files. Works wherever a kernel and filesystem exist (macOS, Linux, devcontainers, Codespaces, Docker, microVMs).\n- **Plug the virtual bash tool into the agent's tool-set.** A TypeScript package for runtimes with no local filesystem at all: Cloudflare Workers, serverless functions, edge runtimes, browser-based agents.\n\n## Contents\n\n- [Install](#install)\n- [Quickstart](#quickstart)\n- [Memory generation paths](#memory-generation-paths)\n- [Commands](#commands)\n- [Mount flags](#mount-flags)\n- [Semantic search](#semantic-search)\n- [`bash\u002F` virtual bash tool](#bash-virtual-bash-tool)\n- [Build from source](#build-from-source)\n- [License](#license)\n\n## Install\n\n```sh\ncurl -fsSL https:\u002F\u002Fsmfs.ai\u002Finstall | bash\n```\n\nSupports macOS (arm64, x64) and Linux (arm64, x64).\n\nYou'll need a Supermemory API key. Get one at [supermemory.ai](https:\u002F\u002Fsupermemory.ai).\n\n## Quickstart\n\n```sh\nsmfs login                  # one-time, stores your API key\nsmfs mount agent_memory     # mounts the container tag at .\u002Fagent_memory\u002F\nls agent_memory\u002F\ncat agent_memory\u002Fmemory\u002Fnotes.md\n```\n\n`smfs mount \u003Ccontainer_tag>` mounts the named Supermemory container as a real directory. By default the folder name matches the container tag and lands in your current working directory. Override with `--path \u002Fsomewhere\u002Felse`.\n\nInside the mount, files behave like any other folder: edit them, `cat` them, `grep` them, point your editor at them. Writes upload to Supermemory in the background; remote changes pull in every 30 seconds.\n\nUnmount when done:\n\n```sh\nsmfs unmount agent_memory\n```\n\n## Memory generation paths\n\nFiles stored in a mount are durable everywhere, but only files under the container's **memory paths** get processed by Supermemory's memory pipeline (the part that extracts structured facts and makes them semantically searchable). Everything else is plain durable storage.\n\nBy default the server applies its built-in path scope per container. Override it for a mount with `--memory-paths`:\n\n```sh\n# Scope memory generation to specific paths\n# Trailing slash = match any file inside that folder recursively\n# No trailing slash = exact file match\nsmfs mount agent_memory --memory-paths \"\u002Fnotes\u002F,\u002Fjournal.md,\u002Fwork\u002F\"\n\n# Disable memory generation entirely (mount becomes pure storage)\nsmfs mount agent_memory --memory-paths \"\"\n\n# Omit the flag entirely to leave the existing server config alone\nsmfs mount agent_memory\n```\n\nThe flag writes the configuration to the container tag, so the next mount sees the same scope until you change it again.\n\n## Commands\n\n```\nsmfs login                      one-time auth, stores API key locally\nsmfs whoami                     show current user, org, API endpoint\nsmfs mount \u003Ctag>                mount a container tag\nsmfs unmount \u003Ctag>              unmount and drain pending pushes\nsmfs list                       show all running mounts\nsmfs status \u003Ctag>               daemon health and queue depth\nsmfs logs \u003Ctag>                 tail the daemon log\nsmfs sync \u003Ctag>                 force a sync cycle now\nsmfs grep \"query\" [path]        semantic search inside a container\nsmfs init                       install the grep shell wrapper\nsmfs install                    self-install the binary to ~\u002F.local\u002Fbin\nsmfs logout                     remove stored credentials\n```\n\nRun `smfs --help` or `smfs \u003Ccommand> --help` for full flag listings.\n\n## Mount flags\n\n```\n--path \u003CDIR>             override the mount path (default: .\u002F\u003Ctag>\u002F)\n--backend fuse|nfs       defaults: fuse on Linux, nfs on macOS\n--foreground             run in foreground instead of detaching\n--memory-paths \"\u003Ccsv>\"   which paths produce memories (see above)\n--ephemeral              in-memory cache; nothing persists after unmount\n--clean                  wipe local cache before mounting\n--sync-interval \u003Csecs>   pull interval, default 30\n--no-sync                disable the pull side; local writes still push\n--drain-timeout \u003Csecs>   max wait at unmount to drain the push queue, default 30\n--key \u003CKEY>              API key (otherwise resolved from stored credentials)\n--api-url \u003CURL>          override the API base URL\n```\n\n## Semantic search via plain `grep`\n\nRun `smfs init` once. After that, `grep` inside any mount routes through Supermemory's semantic index automatically when called without flags. No new command to learn, no new tool to teach an agent.\n\n```sh\ncd agent_memory\u002F\n\ngrep \"OAuth refresh tokens\"          # semantic: finds files about the topic\ngrep \"design review notes\" work\u002F     # semantic, scoped to a directory\n\ngrep -F \"exact string\" notes.md      # any flag falls through to real grep\ngrep -rF \"literal\" .                 # also real grep (literal substring)\n```\n\nThe wrapper detects when your shell is inside an smfs mount via a hidden `.smfs` marker. Outside a mount, `grep` is unchanged. Inside a mount, flagless `grep` is semantic and flagged `grep` is literal: that split is the whole UX.\n\nIf you need to run a semantic search from outside a mount, `smfs grep \"query\" --tag \u003Ccontainer_tag>` does the same thing without the wrapper.\n\n## `bash\u002F` virtual bash tool\n\nA TypeScript package (`@supermemory\u002Fbash`) for AI agents running where there is no local filesystem to mount onto: Cloudflare Workers, serverless functions, edge runtimes, browser-based agents. The bash tool *is* the filesystem. Drop a single `run_bash` tool into the agent's tool-set, and the agent uses every Unix command it already knows, plus an `sgrep` command for semantic search across the whole container.\n\n```ts\nimport { createBash } from \"@supermemory\u002Fbash\";\n\nconst { bash, toolDescription } = await createBash({\n  apiKey: process.env.SUPERMEMORY_API_KEY!,\n  containerTag: \"user_42\",\n});\n\nawait bash.exec(\"echo 'hello' > \u002Fa.md && cat \u002Fa.md\");\nawait bash.exec(\"sgrep 'authentication tokens'\");\n```\n\nFull quickstart, options, and Vercel AI SDK examples: [`bash\u002FREADME.md`](bash\u002FREADME.md).\n\n## Build from source\n\n```sh\ncargo build --release\n.\u002Ftarget\u002Frelease\u002Fsmfs --help\n```\n\nRequires Rust 1.80 or newer.\n\n## License\n\nMIT. See [`LICENSE`](LICENSE).\n","supermemoryai\u002Fsmfs 是一个专为AI代理设计的文件系统，支持最先进的检索技术、自动记忆配置文件和同步引擎。用户可以将任何类型的文件（如PDF、图片、视频）存入其中，并通过grep命令搜索内容。该项目采用Python语言编写，具备强大的语义搜索功能，能够处理并存储各种格式的数据，同时提供两种访问方式：作为本地目录挂载或作为虚拟bash工具集成到无本地文件系统的运行环境中。适用于需要高效管理和检索大量数据的场景，比如开发环境、云服务函数、边缘运行时等。MIT许可证下开源，目前在GitHub上获得了318个星标，适合开发者和研究人员使用。",2,"2026-06-11 02:42:15","CREATED_QUERY"]