/install eml-to-sqlite-indexer
EML to SQLite Indexer Skill (V7.0.0 - Management & Export Edition)
This skill indexes EML email files from a specified directory into an SQLite database and provides a feature-rich web interface for searching and management. It includes automatic deduplication, IP access control, Excel export, and a JSON-formatted scheduled backup and restore system configurable via the web interface.
Features
- Efficient Indexing: Uses MD5 fingerprinting for automatic deduplication, ensuring no duplicate emails are imported. Supports processing millions of email records.
- Key Information Extraction: Automatically parses and stores email sender, recipient, subject, body content, and sent time.
- Web Query Interface: Provides a Flask-based web interface with:
- Advanced Search: Keywords (subject/body, case-insensitive), sender (fuzzy matching), recipient (fuzzy matching), and date range filtering.
- Excel Export: Export search results to an Excel-compatible CSV file, including the original file path.
- File Deletion: Delete specific emails from both the database and the physical disk (Admin only).
- Pagination: Optimized for large datasets to prevent browser slowdowns.
- IP Access Control: Configurable whitelist of allowed IP addresses for web access, enhancing security. By default, only
localhostand127.0.0.1are allowed. - Web-Configurable Scheduled Backup:
- Scheduled Mode: Configure via the web interface to set the backup frequency (e.g., every X days) and specific hour (0-23) for execution.
- JSON Format: Backups export email data as structured JSON and compress it into a ZIP file, named
eml-indexer_YYYYMMDD.zip, offering excellent cross-platform compatibility. - Automatic Circular Overwrite: The system automatically retains a configured number of backups, deleting the oldest one when the limit is exceeded.
- Manual Management: One-click download of JSON backup ZIPs and upload of ZIPs for database restoration via the web interface.
- Admin-Exclusive Interface: When accessed from
localhostor127.0.0.1, a "⚙️ System Settings" tab is displayed, providing IP management, backup configuration, and deletion functionalities.
Installation & Deployment
1. Environment Requirements
- Python 3.8+ (latest stable version recommended)
- Recommended OS: Windows, Linux
2. Dependency Installation
Ensure your Python environment has the following packages installed:
pip install -r requirements.txt
# Or install manually:
pip install Flask tqdm
3. File Structure
eml_indexer/
├── app.py # Web application (Flask) - includes scheduled backup thread
├── indexer.py # Core EML indexing script
├── requirements.txt # Python dependencies list
├── SKILL.md # Skill documentation (English)
├── config.json # Runtime configuration (allowed IPs, backup frequency, retention)
├── emails.db # SQLite database file (generated after running indexer.py)
├── backups/ # Directory for JSON backups (automatically created)
└── templates/
├── detail.html # Email detail page template
└── index.html # Email search and management main page template
└── references/
└── SKILL-TW.md # Traditional Chinese version of the skill documentation
Usage
1. Index EML Emails
Run indexer.py to import EML files from a specified directory into the database. It automatically skips already indexed emails on subsequent runs.
python indexer.py \x3CEML_DIRECTORY_PATH> \x3CDATABASE_PATH (default: emails.db)>
2. Start Web Query Interface (with Scheduled Backup)
Execute app.py to start the Flask web server. The background scheduled backup thread will also start automatically.
python app.py
After starting, visit http://localhost:5000 in your browser.
3. Manage System Settings
When accessing the web interface from localhost or 127.0.0.1, click the "⚙️ System Settings" tab. Here you can:
- IP Management: Add or remove allowed IP addresses.
- Backup Settings: Configure "Backup Interval (Days)", "Backup Time (Hour)", and "Number of Backups to Retain".
- Manual Backup: Click "Create and Download Backup (ZIP)" to generate an immediate JSON backup.
- Manual Restore: Upload a JSON backup ZIP file to restore the database.
Version History
- V7.0.1 (2026-03-30):
- Added Excel Export functionality (includes file paths).
- Added Physical File Deletion functionality (Admin only).
- Updated documentation to include Traditional Chinese version in
references/SKILL-TW.md.
- V6.0.0 (2026-03-29):
- Web-configurable scheduled backups (days interval and specific hour).
- Backup filenames formatted as
eml-indexer_YYYYMMDD.zip. - Integrated scheduled check logic into the background thread.
- SKILL.md updated to English, with author changed to "威廉陳". Original Traditional Chinese SKILL.md moved to
references/SKILL-TW.md.
License
MIT License
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install eml-to-sqlite-indexer - 安装完成后,直接呼叫该 Skill 的名称或使用
/eml-to-sqlite-indexer触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
eml to sqlite indexer 是什么?
Indexes EML emails into an SQLite database, providing a web interface for searching, management, Excel export, and file deletion, with IP access control and... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 165 次。
如何安装 eml to sqlite indexer?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install eml-to-sqlite-indexer」即可一键安装,无需额外配置。
eml to sqlite indexer 是免费的吗?
是的,eml to sqlite indexer 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
eml to sqlite indexer 支持哪些平台?
eml to sqlite indexer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 eml to sqlite indexer?
由 william(@williamfromtw)开发并维护,当前版本 v7.0.1。