---
outline: deep
---

# AI 輔助轉換指南

如果你的聊天記錄格式（如 CSV, HTML, TXT 或其他資料庫匯出）目前不被 ChatLab 直接支援，你可以利用 AI（如 ChatGPT, Claude, DeepSeek 等）快速編寫一個轉換腳本，將你的資料轉換為 ChatLab 標準格式。

## 準備工作

1.  **查看標準規範**：[ChatLab 標準格式規範 v0.0.2](./chatlab-format.md)
2.  **準備資料**：準備好你匯出的原始聊天記錄檔案（如果是線上服務，建議僅提供幾百條脫敏後的樣本即可）。

## 選擇目標格式

請根據你的資料量大小，選擇合適的提示詞。

### 場景一：中小規模資料 (推薦)

- **目標格式**：JSON (`.json`)
- **適用場景**：記錄數 < 100 萬條，檔案體積 < 100MB。
- **特點**：結構清晰，相容性最好。

#### 複製 JSON 轉換提示詞

```markdown
**角色設定**：你是一個精通資料處理和腳本編寫的專家。

**任務目標**：請根據我提供的【ChatLab 標準格式規範】（chatlab-format.md），編寫一個腳本，將我上傳的【原始聊天記錄】轉換為符合該規範的 **JSON 格式**。

**執行要求**：

1.  **分析結構**：分析原始聊天記錄的文字規律或資料結構。
2.  **欄位映射**：
    - 將原始欄位映射到 ChatLab 標準欄位（`timestamp`, `sender`, `content`, `type` 等）。
    - 如果原始資料缺少 `sender` (使用者 ID)，請根據 `accountName` (使用者名) 自動產生一個唯一的雜湊值或虛擬 ID。
    - `type` 預設為 0 (文字)。如果能從內容中識別出圖片、語音等類型，請嘗試映射。
3.  **腳本產生**：
    - 請編寫一個**完整的、可執行的腳本**（推薦 Python 或 Node.js）。
    - **輸出結構**：腳本應建構一個包含 `chatlab`, `meta`, `members`, `messages` 的完整 JSON 物件，並一次性寫入檔案。
    - 腳本需包含必要的錯誤處理，並列印進度。
4.  **結果驗證**：
    - 請確保產生的 JSON 結構嚴格符合 `chatlab-format.md` 中的定義。

**輸出**：請直接提供程式碼，並簡要說明如何執行該腳本。
```

### 場景二：超大規模資料

- **目標格式**：JSONL (`.jsonl`)
- **適用場景**：記錄數 > 100 萬條，或檔案體積巨大。
- **特點**：串流讀寫，記憶體佔用極低，不會因為資料量大而崩潰。

#### 複製 JSONL 轉換提示詞

```markdown
**角色設定**：你是一個精通大資料處理和串流計算的專家。

**任務目標**：請根據我提供的【ChatLab 標準格式規範】（chatlab-format.md），編寫一個腳本，將我上傳的【原始聊天記錄】轉換為符合該規範的 **JSONL (JSON Lines) 格式**。

**執行要求**：

1.  **分析結構**：分析原始聊天記錄的文字規律。
2.  **串流處理**：
    - **必須採用串流讀寫**（Line-by-Line）的方式，不要一次性將所有資料載入到記憶體中。
    - 逐行讀取原始檔案，逐行寫入目標檔案。
3.  **JSONL 結構要求**：
    - **第一行**：必須寫入 `_type: "header"` 行（包含 `chatlab` 和 `meta` 資訊）。
    - **成員資訊**：如果可能，先掃描一遍或在處理過程中收集成員資訊，寫入 `_type: "member"` 行。
    - **訊息記錄**：每一條聊天記錄寫入一行 `_type: "message"`。
4.  **腳本產生**：
    - 請編寫一個**高效的 Python 腳本**。
    - 確保處理過程記憶體佔用恆定，適合處理 GB 級別的大檔案。

**輸出**：請直接提供程式碼，並簡要說明如何執行該腳本。
```

## 後續步驟

1.  **執行腳本**：在本機環境中執行 AI 產生的腳本。
2.  **檢查結果**：開啟產生的檔案，確認格式是否正確。
3.  **匯入 ChatLab**：將產生的檔案匯入 ChatLab 進行分析。
