How hddevteam/smart-form-filler works
Smart Form Filler is a browser extension backed by an API service: users extract page content, chat with that data, and analyze and fill web forms using selectable cloud or local AI models. The extension also manages backend settings and connection status. The graph includes the documented popup modules and backend API/AI layers; some extension wiring and backend route details are not shown in the excerpts, so uncertain edges are omitted.
Main entry points: popupManager.js Popup coordinator · api.js API routes · AdapterFactory.js Adapter selection · apiService.js LLM requests
Components 30
Extension experience
- Popup entry
extension/src/popup-main.js - Popup coordinator
extension/src/modules/popupManager.js - Popup events
extension/src/modules/popupEventHandlers.js - Model selection
extension/src/modules/popupModelManager.js - Backend settings
extension/src/modules/popupSettingsManager.js - UI state
extension/src/modules/uiController.js - Results display
extension/src/modules/resultsHandler.js - API client
extension/src/api/apiClient.js
Page features
- Page extraction
extension/src/modules/dataExtractor.js - Data chat
extension/src/modules/chatHandler.js - Form filling
extension/src/modules/formFillerHandler.js - Form analysis
extension/src/modules/formAnalysisService.js - Form detection
extension/src/modules/formDetectionService.js
Backend API
- Backend server
backend/server.js - API routes
backend/routes/api.js - Extraction API
backend/controllers/dataExtractionController.js - Data analysis
backend/controllers/dataAnalysisController.js - Form analysis API
backend/controllers/formFillerController.js - Model and health API
backend/controllers/extensionCoreController.js
AI services
- Model configuration
backend/services/gptService/config.js - LLM requests
backend/services/gptService/apiService.js - Adapter selection
backend/services/gptService/modelAdapters/AdapterFactory.js - Adapter interface
backend/services/gptService/modelAdapters/BaseAdapter.js - Ollama adapter
backend/services/gptService/modelAdapters/OllamaAdapter.js - DeepSeek adapter
backend/services/gptService/modelAdapters/DeepSeekAdapter.js - O-series adapter
backend/services/gptService/modelAdapters/OSeriesAdapter.js - Prompt templates
backend/services/gptService/templates.js
Other components
- Browser user
- Ollama service
- Cloud AI providers
Connections 35
- Browser user → Popup entry: opens extension
README.md - Popup entry → Popup coordinator: initializes
README.md - Popup coordinator → Popup events: coordinates
README.md - Popup coordinator → Model selection: manages models
README.md - Popup coordinator → Backend settings: manages settings
README.md - Popup coordinator → Form filling: coordinates
README.md - Popup coordinator → UI state: coordinates
README.md - Popup coordinator → Results display: coordinates
README.md - Browser user → Page extraction: requests extraction
README.md - Browser user → Data chat: asks about data
README.md - Browser user → Form filling: requests filling
README.md - Form filling → Form detection: detects fields
README.md - Form filling → Form analysis: maps form fields
README.md - Page extraction → API client: sends extraction request
README.md - Data chat → API client: sends chat request
README.md - Form analysis → API client: requests mapping
README.md - API client → Backend server: calls API
README.md - Backend server → API routes: mounts routes
backend/server.js - API routes → Extraction API: routes requests
backend/routes/api.js - API routes → Data analysis: routes requests
backend/routes/api.js - API routes → Form analysis API: routes requests
backend/routes/api.js - API routes → Model and health API: routes requests
backend/routes/api.js - Data analysis → LLM requests: requests model response
backend/controllers/dataAnalysisController.js - Form analysis API → LLM requests: requests model response
backend/controllers/formFillerController.js - Model and health API → Model configuration: loads model configuration
backend/controllers/extensionCoreController.js - LLM requests → Model configuration: reads model settings
backend/services/gptService/apiService.js - LLM requests → Adapter selection: selects adapter
backend/services/gptService/apiService.js - Adapter selection → Adapter interface: creates adapter
backend/services/gptService/modelAdapters/AdapterFactory.js - Adapter selection → DeepSeek adapter: creates adapter
backend/services/gptService/modelAdapters/AdapterFactory.js - Adapter selection → O-series adapter: creates adapter
backend/services/gptService/modelAdapters/AdapterFactory.js - Adapter selection → Ollama adapter: creates adapter
backend/services/gptService/modelAdapters/AdapterFactory.js - Ollama adapter → Adapter interface: extends
backend/services/gptService/modelAdapters/OllamaAdapter.js - Model configuration → Ollama adapter: discovers local models
backend/services/gptService/config.js - Ollama adapter → Ollama service: calls local API
backend/services/gptService/modelAdapters/OllamaAdapter.js - LLM requests → Cloud AI providers: sends model requests
backend/services/gptService/apiService.js