How tayadj/semantic-file-system works
Semantic-File-System is a local multimodal file index with semantic search and a chat interface. Users browse or add indexed files, search by meaning, and work with chat sessions; the backend stores index, context, and knowledge state and uses a model-runner service for embeddings and generated descriptions or replies. The frontend also exposes file-type-specific views and knowledge skills. The README is only a title, so these capabilities and connections are based on the sampled runtime code; unsampled wiring is omitted.
Main entry points: main.py FastAPI application · engine.py Search and chat engine · pane.js Index browser and search · index.js Browser app
Components 19
HTTP application
- FastAPI application
src/main.py - Search and chat engine
src/core/engine.py
File indexing
- Index API and service
src/core/api/index.py
Chat and knowledge
- Context API and service
src/core/api/context.py - Knowledge API and service
src/core/api/knowledge.py
Browser interface
- Browser app
src/interface/index.js - Index browser and search
src/interface/scripts/index/pane.js - Directory view
src/interface/scripts/index/views/directory.js - Text view
src/interface/scripts/index/views/textual.js - Image view
src/interface/scripts/index/views/visual.js - Audio view
src/interface/scripts/index/views/audial.js - Chat sessions
src/interface/scripts/context/pane.js - Chat view
src/interface/scripts/context/views/chat.js - Skill and file mentions
src/interface/scripts/chip.js
Persistence and models
- Index JSON state
src/core/api/index.py - Context JSON state
src/core/api/context.py - Knowledge JSON state
src/core/api/knowledge.py - Model runner
Other components
- User
Connections 24
- User → Browser app: uses
- Browser app → FastAPI application: HTTP and WebSocket
- Browser app → Index browser and search: creates
- Browser app → Chat sessions: creates
- Index browser and search → FastAPI application: uploads and searches
- Index browser and search → Directory view: renders
- Index browser and search → Text view: renders
- Index browser and search → Image view: renders
- Index browser and search → Audio view: renders
- Chat sessions → FastAPI application: session requests
- Chat sessions → Chat view: renders
- Chat sessions → Skill and file mentions: uses mentions
- FastAPI application → Search and chat engine: dispatches search and chat
- FastAPI application → Index API and service: mounts routes
- FastAPI application → Context API and service: mounts routes
- FastAPI application → Knowledge API and service: mounts routes
- Search and chat engine → Index API and service: reads and updates
- Search and chat engine → Context API and service: reads and updates
- Search and chat engine → Model runner: requests model output
- Index API and service → Index JSON state: reads and writes
- Context API and service → Context JSON state: reads and writes
- Knowledge API and service → Knowledge JSON state: reads and writes
- Search and chat engine → Knowledge API and service: uses service
- Search and chat engine → Model runner: requests embeddings and descriptions