BHK格式DOCX生成器服务
使用BHK格式的专业Word文档生成器\ 版本: 2.0.0 | 状态: 生产| 上次更新 : 07.12.2025
基于微服务的系统,用于生成BHK格式化的Word文档 从Markdown文本,通过模型与Mistral聊天集成优化 上下文协议(MCP)。
______________________________________________________________________
🎯 概述
该服务由两个 Docker 容器组成:
- DOCX生成器后端 基于 Flask 的 REST API 用于 DOCX 生成
- MCP服务器 模型上下文协议服务器与SSE传输Mistral聊天集成
特性
✅ BHK 格式 - 自动应用BHK格式模板\ ✅ 标记语言→ DOCX - 将Markdown语法转换为格式化的Word文档\ ✅ MCP集成 - 通过SSE传输直接集成到Mistral聊天\ ✅ 基于模板 - 使用BHK模板进行一致的格式\ ✅ 自动存档 24小时后自动存档\ ✅ 健康监测 两项服务的综合健康检查
______________________________________________________________________
📁 项目结构
docx_service/
├── app.py # Flask Backend (Port 5000)
├── mcp_server_v2.py # MCP Server mit SSE (Port 7860)
├── docx_logic.py # DOCX-Generierungs-Logik
├── bhk_formatter.py # BHK-Formatierungs-Engine
├── requirements.txt # Python Dependencies
│
├── Dockerfile # Backend Container
├── Dockerfile.mcp # MCP Server Container
├── docker-compose.yml # Orchestrierung
│
├── templates/ # BHK Template
│ └── bhk-base.docx
│
├── .env.example # Environment Template
├── README.md # Diese Datei
├── ARCHITECTURE.md # Technische Architektur
└── NGINX_SETUP.md # Nginx Reverse Proxy Setup______________________________________________________________________
🚀 快速开始
1. 条件
- Docker&Docker编写
- Nginx(生产部署)
- 可选:Mistral聊天帐户(für MCP集成)
2.安装
# Repository klonen
cd /path/to/docx_service
# Environment konfigurieren
cp .env.example .env
nano .env # API Keys eintragen
# Container starten
docker-compose up -d
# Status prüfen
docker-compose ps3.环境变量(.env)
# API Authentifizierung
DOCKER_API_KEY=your_secure_api_key_here
# Public URL (für Download-Links)
PUBLIC_URL=https://mcp.eunomialegal.de
# Mistral Integration (optional)
MISTRAL_API_KEY=your_mistral_api_key
MISTRAL_AGENT_ID=your_agent_id4.服务URL
Backend API: http://localhost:5000
MCP Server: http://localhost:7860
MCP SSE: http://localhost:7860/sse
Health Checks: http://localhost:5000/health
http://localhost:7860/health______________________________________________________________________
🔧 API终点
DOCX后端(端口5000)
POST /generate_docx
从文本生成DOCX文档。
请求:
{
"text": "### Überschrift\n\n- Liste\n- Punkt 2\n\nAbsatz",
"filename": "optional_name",
"format_mode": "bhk"
}答复:
{
"download_url": "https://mcp.eunomialegal.de/download/251207_1200_dokument.docx",
"filename": "251207_1200_dokument.docx",
"format_mode": "bhk",
"expires_at": "2025-12-08T12:00:00",
"message": "DOCX generated successfully in BHK format."
}认证: Authorization: Bearer YOUR_API_KEY
GET /download/
下载生成的DOCX文件。
GET /health
健康检查端点。
GET /stats (需要授权)
服务统计。
______________________________________________________________________
MCP服务器(端口7860)
MCP工具
1. generate_docx_document(text: str) -> str
生成DOCX文档并返回下载链接。
使用Mistral Chat:
Erstelle ein Word-Dokument aus diesem Text:
[Ihr Text hier]2. check_service_health() -> str
检查服务状态
SSE端点: /sse
有关Mistral Chat MCP集成(请参阅NGINX_SETUP.md)。
______________________________________________________________________
🎨 BHK 格式
Markdown → DOCX 转换
| Markdown | DOCX输出 |
|---|---|
### Überschrift | Fetter文本 标准风格 BHK_Standard Style |
- Liste | 子弹列表 (•) 与 BHK_Standard |
**fett** 文本中的压力。 | |
*kursiv* | 文本中的斜体 |
| 标准段落 | BHK_标准段落 |
模板
系统使用 templates/bhk-base.docx 作为具有以下样式的基本模板:
- BHK_标准 主要段落格式(主要)
- BHK_结构 结构元素
- BHK合同 -Vertragsformat(可选)
自定义模板可以通过替换 bhk-base.docx 被纳入。
______________________________________________________________________
🐳 Docker容器
1.DOCX生成器后端
Container: docx-generator
Port: 5000
Image: Python 3.11 Slim
Dependencies: flask, python-docx, mistune2.MCP服务器
Container: mcp-docx-server
Port: 7860
Image: Python 3.11 Slim
Dependencies: fastmcp, mcp, uvicorn
Transport: SSE (Server-Sent Events)共享卷
docx_files/ - Generierte DOCX-Dateien
archive/ - Archivierte Dateien (>24h)
templates/ - BHK Template (read-only)______________________________________________________________________
🔒 生产部署
Nginx反向代理
如需使用外部 URL 进行生产部署,请参阅:
- NGINX_SETUP.md 完整的Nginx配置
- 建筑.md 系统架构详情
Nginx路由:
location /sse {
proxy_pass http://localhost:7860;
}
location /download/ {
proxy_pass http://localhost:5000/download/;
}SSL/TLS
Certbot 推荐用于 Let's Encrypt 证书:
sudo certbot --nginx -d mcp.eunomialegal.de______________________________________________________________________
📊 监控
健康检查
# Backend
curl http://localhost:5000/health
# MCP Server
curl http://localhost:7860/healthDocker日志
# Backend Logs
docker logs -f docx-generator
# MCP Server Logs
docker logs -f mcp-docx-server
# Beide Container
docker-compose logs -f服务统计信息
curl -H "Authorization: Bearer YOUR_API_KEY" \
http://localhost:5000/stats______________________________________________________________________
🛠️ 发展
Lokales测试
# Container neu bauen
docker-compose up -d --build
# Test DOCX Generation
curl -X POST http://localhost:5000/generate_docx \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "### Test\n\n- Punkt 1\n- Punkt 2",
"filename": "test"
}'日志和调试
# Live Logs
docker-compose logs -f
# Einzelner Container
docker logs -f docx-generator
# Container Shell
docker exec -it docx-generator bash
docker exec -it mcp-docx-server bash更新要求
# Neue Dependencies hinzufügen
echo "new-package>=1.0.0" >> requirements.txt
# Container neu bauen
docker-compose up -d --build______________________________________________________________________
🔄 维护
档案清理
存档于 archive/ 成为 不会自动删除.
# Alte Archive löschen (älter als 30 Tage)
find archive/ -type f -mtime +30 -delete
# Archive nach Datum löschen
rm -rf archive/YYMMDD/容器更新
# Services neustarten
docker-compose restart
# Kompletter Rebuild
docker-compose down
docker-compose up -d --build
# Volumes behalten
docker-compose down --volumes=false______________________________________________________________________
🐛 故障排除
问题:没有 BHK 格式的 DOCX
解决方案: 查看模板卷
docker exec mcp-docx-server ls -la /app/templates/
# Sollte bhk-base.docx zeigen问题:无法访问 MCP 服务器
解决方案: SSE 运输验证
curl http://localhost:7860/health
# Sollte {"status":"healthy"} zurückgeben问题:无法下载
解决方案: Nginx Routing 和 Volume Mounts
docker exec docx-generator ls -la /app/docx_files/
# Sollte generierte DOCX zeigen问题:找不到模板
解决方案: 卷装码头-compose.yml-prüfen
volumes:
- ./templates:/app/templates:ro # Read-only mount______________________________________________________________________
📚 更多文档
- 建筑.md - 详细的系统架构,数据流,组件
- NGINX_SETUP.md Nginx Reverse Proxy 配置
- 项目_结构.md 项目概述和清洁架构
- .env.示例 -带有allen选项的环境模板
______________________________________________________________________
📝 版本历史
| 版本 | 日期 | 更改 |
|---|---|---|
| 2.0.0 | 2025年12月7日 | ✅ SSE传输,卷安装,BHK格式化高效 |
| 1.5.0 | 01.12.2025 | MCP服务器集成,FastMCP框架 |
| 1.0.0 | 2025年11月 | Flask后端首次发布 |
______________________________________________________________________
🤝 支持
如有疑问或问题:
- 检查日志 :
docker-compose logs -f - 健康状况:
curl http://localhost:5000/health - 建筑师.md顾问
______________________________________________________________________
专为使用BHK标准创建专业法律文件而设计。
