# HOS-M2F v1.0

## 多场景结构化内容编译引擎

HOS-M2F = 面向 AI 写作与专业文档生产的 **内容编译器引擎**

Markdown 是源码，不同 Mode 是"目标行业标准"

## 核心功能

### 内置官方模式

| Mode      | 领域    | 核心产出           |
| --------- | ----- | -------------- |
| `paper`   | 技术文档  | 报告 / 论文排版      |
| `patent`  | 专利申请  | 合规专利文件         |
| `book` 📚 | 电子书出版 | EPUB / KDP     |
| `sop` 🛠  | 运维与实施 | 巡检 / 报错 / 实施报告 |

### 输出支持

| 平台         | 格式          |
| ---------- | ----------- |
| Amazon KDP | EPUB / DOCX |
| Kindle     | MOBI / AZW3 |
| 通用阅读器      | EPUB 3      |
| 印刷         | Print PDF   |
| 企业系统       | JSON / HTML |

## 安装

```bash
pip install -e .
```

## 使用方法

### CLI 命令

```bash
# 构建
HOS_M2F build input.md --mode book
HOS_M2F build report.md --mode sop --format pdf

# 校验
HOS_M2F check book.md --mode book --platform kdp
HOS_M2F check report.md --mode sop

# 批量
HOS_M2F build ./reports/ --mode sop --batch
```

### Python SDK

```python
from hos_m2f import Engine

engine = Engine()

result = engine.build(
    content=markdown_text,
    mode="book",
    output_format="epub",
    options={"platform": "kdp"}
)

with open("output.epub", "wb") as f:
    f.write(result.binary)
```

## 项目结构

```
hos_m2f/
├── engine/               # ⭐ 对外统一引擎接口
│   └── engine.py
│
├── modes/                # 内置模式
│   ├── book_mode.py
│   ├── patent_mode.py
│   ├── sop_mode.py
│   └── paper_mode.py
│
├── user_modes/           # 用户自定义模式
│   └── *.yaml
│
├── structure/            # 结构解析层
│   ├── semantic_parser.py
│   ├── book_parser.py
│   ├── patent_parser.py
│   └── sop_parser.py
│
├── renderers/            # 渲染适配层
│   ├── epub_renderer.py
│   ├── pdf_renderer.py
│   ├── docx_renderer.py
│   └── json_renderer.py
│
└── ide/                  # IDE 集成接口
    ├── api.py
    └── preview_server.py
```

## 扩展能力

### 语义校验引擎
- 专利是否缺少摘要
- 书籍是否缺版权页
- SOP 是否缺结论

### 风格主题系统
企业可统一视觉风格：

```yaml
theme: blue_enterprise
font: Source Han Sans
cover_style: minimal
```

### 增量构建能力
只更新修改过的章节，提高大书籍或长报告构建速度

### 结构化数据导出
SOP 报告可导出 JSON 供企业系统分析

### AI 协同接口（未来扩展）
让大模型直接输出符合某 Mode 的结构，而不是自由 Markdown

## 许可证
MIT License