> 完整主菜单与全局铁律见 `kb/kb.md`。以下为本菜单的执行细节（按需加载）。

### 菜单 6 — 🛠 自动整理知识库并更新知识链

运行 `maintain`，一次性完成三类关联（知识元↔知识元 `[[链接]]` + 知识元↔原始文件 + 知识元↔资源挂接）。

> 🔴🔴 **必须弹出 tkinter GUI 图形窗口**，让用户看到运行进度。严禁使用无头模式。
>
> ✅ **使用方式**（LLM 专用，解决超时截断问题）：
> ```bash
> python {skill_dir}/kb/scripts/ahkb.py maintain --detached --workspace <工作空间绝对路径>
> ```
> 此命令 1 秒内返回，GUI 窗口在独立进程中运行，不会被 LLM shell 超时截断。LLM 通过轮询临时文件获取进度。

**LLM 执行步骤：**

1. 执行上述命令，接收 JSON 返回
2. 若 `status` 为 `"already_running"`：
   - 告知用户："⚠️ 知识链构建任务已在运行中（PID: xxx），请等待当前任务完成，或手动关闭窗口后重试。"
   - 返回模块主菜单
3. 若 `status` 为 `"started"`：
   - 告知用户："✅ 知识链构建已启动（PID: xxx），独立窗口已打开。"
   - **每回合运行以下命令检查一次，直到 `status: "complete"`：**

   ```bash
   python {skill_dir}/kb/scripts/ahkb.py check-maintain-status --workspace <工作空间绝对路径>
   ```

   🔴🔴 **收到 phase1_incomplete 状态时的处理：**
   - 输出含 `"status": "phase1_incomplete"` → **立即停止**，回到 Phase 1 完成剩余文档！

   - `status: "complete"` → 汇总报告，继续菜单 7
   - `status: "cancelled"` → 返回主菜单
   - `status: "running"` / `"starting"` → 展示 `_display` 原文，约 10 秒后再次轮询
   - 🔴🔴 **其他状态 → 展示 `_display` 原文，等约 10 秒后再次轮询。禁止只内部检查不输出。**

> 🔴 `--detached` 模式下，GUI 窗口在独立进程中运行，LLM 命令 1 秒返回，不会被超时截断。
> 🔴 若返回 `status: "cancelled"`，说明用户手动关闭了窗口——不要重试，直接返回主菜单。
> 🔴 轮询期间不要阻塞对话——用户仍可发起其他操作。任务完成后继续菜单 7。

`maintain` 完成后自动执行菜单 7（重建知识地图 + HTML + 自动打开浏览器）。

完成后返回模块主菜单。

