reory/Word-Counter-Vault

GitHub: reory/Word-Counter-Vault

一套基于 Django 和 DuckDB 的全栈语言分析工具,提供实时文本 KPI、全球词源地图映射和自动化取证报告生成。

Stars: 0 | Forks: 0

# 📚 Word Counter Vault — 全栈语言分析套件

一个交互式智能仪表板和自动化报告工具,旨在分析语言模式和全球词源。该项目使用现代 Python 技术栈将原始文本输入转化为可操作的取证洞察。 ## 🎥 项目演示 [![在 LinkedIn 上观看演示](https://img.shields.io/badge/LinkedIn-Video_Walkthrough-blue?style=for-the-badge&logo=linkedin)](https://www.linkedin.com/posts/roy-p-74980b382_python-django-datascience-ugcPost-7431321183679045632-peek?utm_source=share&utm_medium=member_desktop&rcm=ACoAAF5yzmkBKYhDCqFaGGMG8mt7ntE88OY67k8) ## 📸 屏幕截图 在此查看完整图库:
点击展开截图
![主仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/d0c3764890194601.png) ![主仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/44c1305dbd194604.png) ![主仪表板地图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7d9b1f2847194606.png) ![主仪表板地图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fd6a4b250f194608.png) ![主登录界面](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9f4f31626f194611.png) ![PDF 报告](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/332a46b97d194614.png) ![Word 文档](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2bc1a99d7c194617.png) ![图表视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a6b4723b18194619.png) ![深度 UI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fd461f8243194623.png) ![主仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/30286c5cbe194625.png) ![查看删除按钮](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/b444b94892194629.png)
## 🛠️ 项目架构 该项目分为两个主要组件,以平衡实时用户交互与深度分析处理: ### 1. 交互式分析仪表板 (`views.py` & `templates/`) 项目的**“Frontend”**逻辑。它为用户提供了一个探索文本数据的实时界面。 * **动态地理空间地图:** 使用 **Folium** 在全球地图上精确定位词源,可视化文本的“地理 DNA”。 * **即时语言 KPI:** 实时计算词汇多样性 (TTR)、过度使用词汇和被动语态检测。 * **用户金库:** 一个持久的历史记录系统,允许用户安全地搜索、审查和管理他们的分析记录。 ### 2. 取证报告与数据引擎 (`services/` & `models.py`) **“分析后端”**。负责处理繁重的数据管理和文档生成任务。 * **双状态存储:** 在 **SQLite** 中管理持久的用户历史记录,同时将高速词源查询卸载到 **DuckDB** OLAP 引擎。 * **全球词源管道:** 一个自定义摄取层,将 500 多个单词映射到全球坐标(拉丁语、日耳曼语、阿拉伯语、梵语等)。 * **自动化文档生成:** 将发现结果汇编成专业的 PDF 报告(通过 **WeasyPrint**)和 Word 文档(**python-docx**),以供离线审查。 ## 📁 文件结构 * `word_counter/settings.py`:Django 环境的核心配置。 * `counter/views.py`:文本处理、正则表达式规范化和仪表板渲染的逻辑。 * `counter/services/seed_origins.py`:用于摄取全球词库的数据管道脚本。 * `counter/services/word_data.json`:包含 500 多条全球词源记录的“真理来源”。 * `word_vault_analytics.duckdb`:用于地理空间词汇查询的高性能数据库。 ## 🧰 技术栈 * **Python 3.10** (开发环境) * **Django 5.2:** 用于 Web 框架和用户认证。 * **DuckDB:** 用于高性能的本地分析型词源查询。 * **SQLite:** 用于持久的用户历史记录和会话管理。 * **Folium/Leaflet:** 用于交互式地理空间地图。 * **WeasyPrint / python-docx:** 用于自动化取证报告创建。 * **Regex:** 用于高速文本规范化和清理。 ## ⚙️ 安装与本地使用 要在本地运行此项目: 1. **克隆仓库:** `git clone https://github.com/reory/Word-Counter-Vault.git` 2. **安装依赖:** `pip install -r requirements.txt` 3. **填充全球词库:** `python -m counter.services.seed_origins` 4. **启动应用:** `python manage.py runserver` ## 🧪 质量保证与测试 该项目使用 **Pytest** 实施了全面的自动化测试套件,以确保分析管道中的数据完整性和安全性。 ### 测试覆盖范围: * **语言逻辑:** 验证正则表达式规范化、词频计算和词汇多样性指标。 * **安全与权限:** 确保严格的对象级访问控制(例如,用户无法查看或删除他人的分析历史)。 * **服务层与模拟:** 利用 `pytest-mock` 模拟 **DuckDB** OLAP 连接,从而实现无磁盘 I/O 依赖的高速测试。 * **文件提取:** 使用 Django 的 `SimpleUploadedFile` 验证对 `.txt`、`.pdf` 和 `.docx` 上传文件的稳健处理。 ### 本地运行测试: ``` pytest ``` ## 🙏 致谢 * **词源来源:** 在线词源词典,用于词根追踪。 * **社区:** 感谢 Django 和 DuckDB 社区提供的强大库支持。 ## 🛣️ 路线图 - [x] **核心架构:** 双引擎(Django + DuckDB)设置。 - [ ] **数据播种:** 集成 `Faker` 进行大规模压力测试。 - [ ] **地理空间地图:** 通过 Plotly/Mapbox 实现交互式词源起源。 - [x] **取证报告:** 文本分析的 PDF/CSV 导出功能。 - [x] **用户账户:** 语言历史记录的私密存储。 ## ⚖️ 许可证 该项目采用 MIT 许可证授权 - 详情请参阅 `LICENSE` 文件。 **由 Roy Peters 构建** 😁 [![LinkedIn](https://img.shields.io/badge/LinkedIn-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white)](https://linkedin.com/in/roy-p-74980b382/)
标签:Django, DuckDB, ESC4, Folium, Matplotlib, NumPy, OSINT, PDF生成, Python, 交互式地图, 仪表盘, 取证报告工具, 取证科学, 后端开发, 情报分析套件, 数据科学, 文本分析, 无后门, 自动化报告, 词源映射, 词频统计, 语言学分析, 资源验证, 逆向工具