{"id":44630474,"url":"https://github.com/hddevteam/smart-form-filler","last_synced_at":"2026-02-14T16:26:07.333Z","repository":{"id":300047603,"uuid":"1004834910","full_name":"hddevteam/smart-form-filler","owner":"hddevteam","description":"AI-powered form filling and data extraction browser extension","archived":false,"fork":false,"pushed_at":"2025-12-28T02:59:27.000Z","size":2753,"stargazers_count":36,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-30T08:54:31.389Z","etag":null,"topics":["ai-powered","browser-extension","chrome-extension","data-extraction","demo-site","developer-tools","form-automation","form-filling","github-pages","gpt-integration","javascript","local-ai","machine-learning","nodejs","ollama","privacy-focused","productivity-tools","web-automation"],"latest_commit_sha":null,"homepage":"https://hddevteam.github.io/smart-form-filler/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hddevteam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":".github/ROADMAP/milestone-1-cloud-first.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-19T08:54:03.000Z","updated_at":"2025-12-17T06:34:46.000Z","dependencies_parsed_at":"2025-06-19T16:47:21.745Z","dependency_job_id":null,"html_url":"https://github.com/hddevteam/smart-form-filler","commit_stats":null,"previous_names":["hddevteam/smart-form-filler"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/hddevteam/smart-form-filler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hddevteam%2Fsmart-form-filler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hddevteam%2Fsmart-form-filler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hddevteam%2Fsmart-form-filler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hddevteam%2Fsmart-form-filler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hddevteam","download_url":"https://codeload.github.com/hddevteam/smart-form-filler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hddevteam%2Fsmart-form-filler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29449369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-powered","browser-extension","chrome-extension","data-extraction","demo-site","developer-tools","form-automation","form-filling","github-pages","gpt-integration","javascript","local-ai","machine-learning","nodejs","ollama","privacy-focused","productivity-tools","web-automation"],"created_at":"2026-02-14T16:26:06.670Z","updated_at":"2026-02-14T16:26:07.316Z","avatar_url":"https://github.com/hddevteam.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart Form Filler - AI-Powered Browser Extension\n\nA standalone browser extension for intelligent data extraction and form filling using AI technology. Now with **Ollama local model support**!\n\n[![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)](https://github.com/hddevteam/smart-form-filler/releases)\n[![License](https://img.shields.io/badge/license-ISC-green.svg)](LICENSE)\n[![Chrome Extension](https://img.shields.io/badge/Chrome-Extension-orange.svg)](https://github.com/hddevteam/smart-form-filler)\n[![AI Powered](https://img.shields.io/badge/AI-Powered-purple.svg)](https://github.com/hddevteam/smart-form-filler)\n\n🌐 **[Live Demo \u0026 Documentation](https://hddevteam.github.io/smart-form-filler/)** | 📦 **[Download Latest Release](https://github.com/hddevteam/smart-form-filler/releases/latest)** | 📖 **[View Documentation](https://github.com/hddevteam/smart-form-filler/wiki)** | 🎥 **[Watch Demo Video](https://demoforgithub.blob.core.windows.net/videos/smart-form-filler-demo.mp4)**\n\n## 🌍 Language Versions\n\n- [🇺🇸 English](README.md) | [🇨🇳 中文](README_zh.md)\n\n## 📸 Screenshots\n\n![Smart Form Filler in Action](screenshots/screenshot_formfiller.png)\n\n*Smart Form Filler analyzing and auto-filling a complex web form*\n\n\u003e **💡 Tip**: The demo showcases all major features including AI-powered form filling, data extraction\n\n## 🚀 Features\n\n- **Data Extraction**: Extract structured data from web pages\n- **Smart Form Filling**: AI-powered automatic form completion with intelligent field mapping\n- **Multi-format Output**: Raw HTML, cleaned HTML, and Markdown formats\n- **Chat with Data**: Interactive Q\u0026A with extracted content\n- **Local AI Models**: Full Ollama integration for privacy-focused AI\n- **Cloud AI Models**: Support for GPT-4o, o series, DeepSeek, and other cloud providers\n- **Backend Configuration**: Built-in settings interface for configuring backend connections\n- **Service Status Monitoring**: Real-time backend connection status and error handling\n- **Intelligent Field Analysis**: Enhanced field descriptions including available options for dropdowns, radio buttons, and checkboxes\n- **Browser Integration**: Works seamlessly with Chrome and other Chromium-based browsers\n\n## 📁 Project Structure\n\n```\nsmart-form-filler/\n├── backend/                 # Backend API server\n│   ├── controllers/         # API controllers\n│   ├── services/           # Business logic services\n│   ├── routes/             # API routes\n│   ├── config/             # Configuration files\n│   └── server.js           # Main server file\n├── extension/              # Browser extension\n│   ├── src/                # Extension source code\n│   ├── manifest.json       # Extension manifest\n│   └── popup.html          # Extension popup UI\n└── package.json            # Root package configuration\n```\n\n## 📁 Architecture \u0026 Code Organization\n\n### Modular Structure\n\nThe Smart Form Filler extension has been refactored into a clean, modular architecture to improve maintainability and code organization. **All files are properly sized** for optimal maintainability.\n\n#### Core Modules\n\n**🎯 Main Entry Point:**\n- `popup-main.js` - Lightweight entry point that initializes the modular system\n\n**📦 Core Manager Modules:**\n- `popupManager.js` - Main coordinator orchestrating all popup functionality\n- `popupInitializer.js` - Handles DOM element initialization and validation\n- `popupEventHandlers.js` - Manages all user interactions and UI events\n- `popupModelManager.js` - AI model loading, selection, and management\n- `popupSettingsManager.js` - Backend configuration and settings persistence\n\n**🔧 Feature Modules:**\n- `formFillerHandler.js` - Form detection and filling functionality\n- `formAnalysisService.js` - Form content analysis and mapping\n- `uiController.js` - UI state management and visual feedback\n- `resultsHandler.js` - Results display and data management\n- `chatHandler.js` - Chat interface and AI interactions\n- `dataExtractor.js` - Page content extraction from web pages\n- `apiClient.js` - Backend API communication\n- `authManager.js` - User authentication handling\n\n#### Key Benefits of Modular Structure\n\n✅ **Maintainability**: Each module has a single responsibility  \n✅ **Modular Design**: Proper file sizes for easy navigation and maintenance  \n✅ **Testability**: Modules can be tested independently  \n✅ **Extensibility**: New features can be added as separate modules  \n✅ **Debugging**: Clear separation of concerns makes troubleshooting easier  \n\n#### Module Dependencies\n\n```\npopup-main.js\n    └── PopupManager\n        ├── PopupInitializer (DOM setup)\n        ├── PopupSettingsManager (backend config)\n        ├── PopupModelManager (AI models)\n        ├── PopupEventHandlers (user interactions)\n        └── Feature Modules\n            ├── FormFillerHandler\n            ├── UIController\n            ├── ResultsHandler\n            ├── ChatHandler\n            └── DataExtractor\n```\n\n## 🛠️ Installation \u0026 Setup\n\n### Prerequisites\n- Node.js (v14 or higher)\n- npm or yarn\n\n### Backend Setup\n```bash\n# Install dependencies\nnpm run install:all\n\n# Start development server\nnpm run dev\n```\n\n### Extension Setup\n1. Open Chrome and navigate to `chrome://extensions/` (`edge://extensions/` for Edge browsers)\n2. Enable \"Developer mode\"\n3. Click \"Load unpacked\" and select the `extension` folder\n4. The extension should now appear in your browser toolbar\n\n### 🎯 Interactive Demo\nExperience all extension features with our **live interactive demo** at:\n\n**🌐 [https://hddevteam.github.io/smart-form-filler/](https://hddevteam.github.io/smart-form-filler/)**\n\nThe demo includes:\n- **🍽️ Restaurant Feedback Form**: Complete with realistic scenarios\n- **📊 Data Extraction**: Interactive profile extraction demo  \n- **💬 AI Chat**: Chat with extracted data functionality\n- **🎯 Prompt Examples**: Specific scenarios like birthday celebrations, business dinners, family meals\n\n#### Demo Features \u0026 Prompt Examples\n```\n🍽️ Satisfied Customer:\n\"Fill this restaurant feedback form as John Smith (john.smith@techcorp.com) who just had dinner at Mario's Italian Restaurant. Give a 5-star rating and positive detailed comments about the seafood pasta and excellent service.\"\n\n🎂 Birthday Celebration:  \n\"Fill this feedback as someone who celebrated their birthday here. Mention the surprise dessert, decorations, and how the staff made the evening special.\"\n\n💼 Business Lunch:\n\"Complete this form as a business professional who brought clients here. Focus on the quiet atmosphere, prompt service, and quality food that impressed the clients.\"\n```\n\n## 🔧 Development\n\n### Backend Development\n```bash\ncd backend\nnpm run dev\n```\n\nThe backend server will start on `http://localhost:3001`\n\n### API Endpoints\n- `GET /api/extension/health` - Health check\n- `GET /api/extension/models` - Available AI models\n- `POST /api/extension/extract-data-sources` - Extract page data\n- `POST /api/extension/chat-with-data` - Chat with extracted data\n- `POST /api/form-filler/analyze-form-relevance` - Analyze form relevance\n- `POST /api/form-filler/analyze-field-mapping` - Generate field mappings\n\n## ⚙️ Configuration\n\n### Backend Configuration\n\nThe extension includes a built-in settings interface for configuring the backend connection:\n\n#### Using the Settings Interface\n1. **Open Settings**: Click the ⚙️ settings button in the extension header\n2. **Configure Backend URL**: Enter your backend server URL (default: `http://localhost:3001`)\n3. **Test Connection**: Click \"Test\" to verify the connection\n4. **Save Settings**: Click \"Save\" to apply the new configuration\n\n#### Features\n- **Persistent Storage**: Settings are saved across browser sessions\n- **Connection Testing**: Real-time validation of backend connectivity\n- **Error Handling**: Clear feedback for connection issues\n- **Auto-reload**: Models automatically refresh when backend changes\n\n#### Default Configuration\n```\nBackend URL: http://localhost:3001\n```\n\n### Environment Variables\n\nCopy `.env.example` to `.env` and configure your environment variables:\n\n```bash\ncd backend\ncp .env.example .env\n```\n\n### Ollama Configuration (Optional)\nFor local AI model support, add to your `.env` file:\n```env\nOLLAMA_URL=http://localhost:11434\n```\n\n## 🤖 Ollama Integration\n\nThis extension supports **Ollama local models** for privacy-focused AI! Use your own locally-hosted models alongside cloud providers.\n\n### 🚀 Quick Setup\n\n#### 1. Install Ollama\nVisit [https://ollama.ai/](https://ollama.ai/) and install Ollama for your platform.\n\n#### 2. Start Ollama Service\n```bash\nollama serve\n```\n\n#### 3. Download Models\n```bash\n# Recommended models for form filling and data extraction\nollama pull llama2\nollama pull mistral\nollama pull codellama\nollama pull qwen2.5:7b\nollama pull deepseek-r1\n```\n\n#### 4. Use in Extension\n1. Open the extension popup\n2. Click the 🔄 refresh button next to \"AI Model\"\n3. Select from **Local Models (Ollama)** or **Cloud Models**\n4. Enjoy private, local AI processing!\n\n### 🔧 Features\n\n- **Auto-Discovery**: Automatically detects running Ollama servers\n- **Model Hot-Loading**: Refresh model list without restarting\n- **Unified Interface**: Seamless switching between local and cloud models\n- **Privacy-First**: Data never leaves your machine with local models\n\n### 📋 Recommended Models\n\n| Model | Use Case | Command |\n|-------|----------|---------|\n| `llama2` | General tasks | `ollama pull llama2` |\n| `mistral` | High performance | `ollama pull mistral` |\n| `codellama` | Code understanding | `ollama pull codellama` |\n| `qwen2.5:7b` | Multilingual | `ollama pull qwen2.5:7b` |\n| `deepseek-r1` | Reasoning tasks | `ollama pull deepseek-r1` |\n\n### 🛠️ Troubleshooting\n\n#### Backend Connection Issues\n\n**Service Unavailable Message**\nIf you see \"⚠️ Service unavailable - Check backend connection\":\n1. **Check Backend Server**: Ensure the backend is running on the configured URL\n2. **Verify URL**: Click ⚙️ settings and verify the backend URL is correct\n3. **Test Connection**: Use the \"Test\" button in settings to verify connectivity\n4. **Check Network**: Ensure no firewall or network issues blocking the connection\n\n**Models Not Loading**\n1. **Backend Status**: Verify backend server is running (`npm run dev`)\n2. **URL Configuration**: Check settings for correct backend URL\n3. **Refresh Models**: Click the 🔄 refresh button\n4. **Check Logs**: Look at browser console for specific error messages\n\n#### Ollama Integration Issues\n\n**Models Not Showing?**\n1. **Check Ollama Status**: `curl http://localhost:11434/api/tags`\n2. **List Models**: `ollama list`\n3. **Restart Ollama**: `ollama serve`\n4. **Refresh Extension**: Click 🔄 button\n\n**Connection Issues?**\n- Ensure Ollama runs on `http://localhost:11434`\n- Check firewall settings\n- Update `OLLAMA_URL` if using custom port\n\n## 🧪 Testing\n\n```bash\n# Run tests\nnpm test\n```\n\n## 📦 Building for Production\n\n```bash\n# Build extension for production\nnpm run build:extension\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the ISC License.\n\n## 🔗 Related Links\n\n- [Chrome Extension Developer Guide](https://developer.chrome.com/docs/extensions/)\n- [Node.js Documentation](https://nodejs.org/docs/)\n- [Express.js Documentation](https://expressjs.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhddevteam%2Fsmart-form-filler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhddevteam%2Fsmart-form-filler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhddevteam%2Fsmart-form-filler/lists"}