# AI Content Analyzer & Markdown Converter

一个集成了AI内容分析和Markdown转换功能的完整工具集。

## 核心逻辑链

**AI处理 → 生成Markdown → Markdown转JSON**

1. **AI内容分析器** (`json_openai.py`) - 使用AI分析文章并生成Markdown格式
2. **Markdown转换器** (`markdownToJSON.ts`) - 将AI生成的Markdown转换为JSON树形结构

## 项目功能

### 1. AI内容分析器 (`json_openai.py`)
- 使用智谱AI API分析文章结构
- 将分析结果转换为标准Markdown格式
- 支持标题层级和列表项生成
- 支持流式响应处理

### 2. Markdown转换器 (`markdownToJSON.ts`)
- 将Markdown文本转换为JSON树形结构
- 支持标题层级解析（# ## ###）
- 处理列表项和嵌套结构（- 列表项）
- TypeScript实现，类型安全

## 安装依赖

```bash
# 安装Python依赖
pip install openai

# 安装Node.js依赖
npm install
```

## 使用方法

### 完整流程演示

```python
# 运行完整流程测试
python3 test_simple_pipeline.py
```

### AI内容分析（生成Markdown）

```python
from json_openai import llm_format_text, EXTRACT_OUNTLINE_SYSTEM_PROMPT

# 配置API
model = "glm-4.5"
base_url = "https://open.bigmodel.cn/api/paas/v4/"
api_key = "your_api_key"

# 分析内容并生成Markdown
messages = [
    {"role": "system", "content": EXTRACT_OUNTLINE_SYSTEM_PROMPT},
    {"role": "user", "content": "你的文章内容"}
]

markdown_result = llm_format_text(model, base_url, api_key, messages, 2000)
print(markdown_result)  # 输出Markdown格式
```

### Markdown转换

```typescript
import { markdownToJSON } from './markdownToJSON.js';

const markdown = `# 主标题
## 第一章
内容...
- 列表项`;

const result = markdownToJSON(markdown);
console.log(JSON.stringify(result, null, 2));
```

## 运行测试

### 完整流程测试
```bash
python3 test_simple_pipeline.py
```

### 单独测试

#### Python测试（AI生成Markdown）
```bash
python3 test_json_openai.py
```

#### TypeScript测试（Markdown转JSON）
```bash
npm run build
npm test
```

## 项目结构

```
ai-content-analyzer/
├── json_openai.py              # AI内容分析主函数
├── test_json_openai.py         # Python测试文件
├── markdownToJSON.ts           # Markdown转换函数
├── test_markdown.ts            # TypeScript测试文件
├── tsconfig.json               # TypeScript配置
├── package.json                # Node.js项目配置
├── dist/                       # 编译输出目录
│   ├── markdownToJSON.js
│   ├── test_markdown.js
│   └── *.d.ts
└── README.md                   # 项目说明
```

## 输出格式

### AI生成的Markdown格式
```markdown
# 文章主标题

## 第一章
这是第一章的内容概述。

### 1.1 小节
这是小节的具体内容。

- 要点1
- 要点2
  - 子要点2.1
  - 子要点2.2

## 第二章
这是第二章的内容概述。
```

### Markdown转换结果
```json
{
  "nodeData": {
    "id": "root",
    "topic": "主标题",
    "root": true,
    "expanded": true,
    "children": [
      {
        "topic": "章节标题",
        "id": "unique_id",
        "direction": 0,
        "expanded": true,
        "children": []
      }
    ]
  },
  "linkData": {}
}
```

## 配置说明

### AI API配置
- **模型**: glm-4.5 (智谱AI)
- **基础URL**: https://open.bigmodel.cn/api/paas/v4/
- **需要**: 有效的API密钥

### TypeScript配置
- **目标**: ES2020
- **模块**: ES2020
- **严格模式**: 启用

## 功能特点

✅ **AI驱动的内容分析**  
✅ **智能结构识别**  
✅ **多层级标题解析**  
✅ **写作风格分析**  
✅ **Markdown到JSON转换**  
✅ **类型安全的TypeScript实现**  
✅ **完整的错误处理**  
✅ **流式响应支持**  

## 开发说明

- Python代码使用OpenAI库调用智谱AI API
- TypeScript代码提供本地Markdown解析功能
- 两种方法可以结合使用，提供更全面的内容处理能力
