# API Endpoint 驗證報告

**作者**：M4  
**日期**：2026-05-06  

---

## 測試環境

| 測試項目 | 在哪測試 | 說明 |
|---------|---------|------|
| 檔案管理 endpoint | M5 (192.168.110.201:3003) | 註冊/probe/process |
| 搜尋 endpoint | M5 | 需 LLM 或 Qdrant 資料的未通過 |
| 系統狀態 endpoint | M5 | inference health 通過 |
| Auth endpoint | M5 | 未驗證通過 |

---

## 驗證清單

### 1. 檔案管理（M5）

| Endpoint | Method | 結果 | 備註 |
|----------|--------|------|------|
| `/api/v1/files/register` | POST | ✅ PASS | file_uuid + metadata 正確 |
| `/api/v1/files/scan` | GET | ✅ PASS | 回傳 files/total/registered_count |
| `/api/v1/file/:uuid/probe` | GET | ✅ PASS | 完整 probe metadata |
| `/api/v1/file/:uuid/process` | POST | ✅ PASS | 回傳 job_id + status=PENDING |
| `/api/v1/file/:uuid/chunks` | GET | ❌ FAIL | 回傳 empty |

### 2. Job 管理（M5）

| Endpoint | Method | 結果 | 備註 |
|----------|--------|------|------|
| `/api/v1/jobs` | GET | ✅ PASS | 回傳 jobs list |
| `/api/v1/progress/:uuid` | GET | ❌ FAIL | 回傳 empty |

### 3. 搜尋（M5）

| Endpoint | Method | 結果 | 備註 |
|----------|--------|------|------|
| `/api/v1/search/smart` | POST | ❌ FAIL | 需 LLM，未設 `MOMENTRY_LLM_SUMMARY_URL` |
| `/api/v1/search/universal` | POST | ❌ FAIL | 同上 |
| `/api/v1/search/visual` | POST | ❌ FAIL | 需 Qdrant visual chunk 資料 |
| `/api/v1/search/visual/stats` | POST | ❌ FAIL | 同上 |

### 4. 5W1H Agent（M5）

| Endpoint | Method | 結果 | 備註 |
|----------|--------|------|------|
| `/api/v1/agents/5w1h/analyze` | POST | ❌ FAIL | 需 LLM + Rule 3 chunks |
| `/api/v1/agents/5w1h/batch` | POST | ❌ FAIL | 同上 |
| `/api/v1/agents/5w1h/status` | GET | ❌ FAIL | 同上 |

### 5. 系統狀態（M5）

| Endpoint | Method | 結果 | 備註 |
|----------|--------|------|------|
| `/api/v1/stats/inference` | GET | ✅ PASS | ollama OK, llama_server OK, latency 2ms |
| `/api/v1/stats/ingest` | GET | ❌ FAIL | 回傳 empty |
| `/api/v1/stats/sftpgo` | GET | ❌ FAIL | 回傳 empty |

### 6. Auth（M5）

| Endpoint | Method | 結果 | 備註 |
|----------|--------|------|------|
| `/api/v1/auth/login` | POST | ❌ FAIL | 回傳 empty |
| `/api/v1/auth/logout` | POST | ❌ FAIL | 回傳 empty |

---

## 通過率統計

| 類別 | 通過 | 總數 | 通過率 |
|------|------|------|--------|
| 檔案管理 | 4 | 5 | 80% |
| Job 管理 | 1 | 2 | 50% |
| 搜尋 | 0 | 4 | 0% |
| 5W1H Agent | 0 | 3 | 0% |
| 系統狀態 | 1 | 3 | 33% |
| Auth | 0 | 2 | 0% |
| **總計** | **6** | **19** | **32%** |

---

## 失敗分類

### 🔴 需 LLM
- search/smart, search/universal
- 5W1H analyze, 5W1H batch
- **解法**：設 `MOMENTRY_LLM_SUMMARY_URL=http://192.168.110.201:8081/v1/chat/completions`

### 🟡 需 Qdrant 資料
- search/visual, search/visual/stats
- **解法**：Qdrant collection 需有對應資料

### 🟠 Route 可能不存在或需特殊參數
- file/:uuid/chunks, progress/:uuid
- ingest/sftpgo, auth/login, auth/logout
- **解法**：需確認 route 是否有效、是否需要特定 body/header

---

## 結論

- **核心 API 正常**：register, probe, process, scan, jobs, inference health ✅
- **6/19 (32%) 通過**：需 LLM 的 endpoint 佔多數失敗
- **Auth endpoint**：可能預期使用 `/connect` TUI 流程而非 REST API
