# KnowHub 前端重构设计文档

本文档基于 `reference.html` 的视觉风格和交互交互范式，以及 `knowhub_db/README.md` 中以 **“原子能力 (Atomic Capability)”** 为核心的全新数据库架构，详细规划 KnowHub 前端的重构方案。

## 核心设计理念

1. **扁平与沉浸式的现代 UI**：采用大圆角卡片、毛玻璃导航、动态阴影、高饱和响应式徽章，带来“现代操作系统”般的体验。
2. **连贯的钻取阅读模式 (SideDrawer)**：摒弃传统的多页面跳转，统一使用右侧滑出式的 `SideDrawer`（侧边抽屉）呈现任何实体的只读和交互详情，保持用户在上下文中的心流。
3. **数据驱动的四象限透视**：以 `需求 - 能力 - 工具 - 知识` 四个维度构建标签页，相互通过软关联（JSONB ID 数组）穿透数据孤岛。

---

## 页面内容结构与详情页 (SideDrawer) 字段级映射设计

前端共划分为五个主要层级（通过顶部 Tab 切换）。每一个 UI 元素严格映射至 `knowhub_db` 核心图谱内的字段结构。

### 1. Dashboard (全局观测板)

**设计目标**：宏观了解系统中能力的沉淀和覆盖情况。

- **页面内容**：
  - **全景统计图**：总能力集、总需求集、被满足的业务诉求占比、活跃工具覆盖度。
  - **需求拓扑图 (Node Tree)**：从顶部类别到底部业务需求的树状图谱，根据节点产生的实际下发热度（如 `requirement_table.source_nodes` 中的 posts 值累加）决定背景热力色深和尺寸。

### 2. 需求库 (Requirement Library)

**设计目标**：展现前端业务需求（`requirement_table`）的落地情况。

- **列表卡片 (Requirement Matrix)**：
  - **主标题**：取自 `description`。
  - **核心指标**：横向展现关联的原子能力个数（遍历 `atomics` 数组的长度）和热度总权重（汇总 `source_nodes` 中所有的帖子数）。
  - **满足状态**：Badge 呈现 `status`，如“已满足”、“未满足”。支持点击卡片随时触发 SideDrawer。
- **SideDrawer (需求详情 - `req`)** 排版线框：

```text
========================================================== ✖ (关闭) ====
|                                                                      |
|  [BUSINESS REQUIREMENT] (浅色小字)                                   |
|  爆款短视频脚本自动化 (超大黑体)                                     |
|                                                                      |
|  [  🔴 未满足  ] (巨型状态排版区，可能带有呼吸灯动效)                |
|                                                                      |
|  ------- 匹配分析结果 (Match Result Text) ------------------------   |
|  "当前语言模型在'口播感'上仍有不足，语气过于生硬，且长文本分镜切     |
|  片缺乏镜头语言的训练，需要持续调研更垂直的视频侧面 Agent 框架。"    |
|  (大段具有引用格式的高排版正文)                                      |
|                                                                      |
|  ------- 调用的链条系统 (Associated Atomics) ---------------------   |
|                                                                      |
|  🧠 [创意文本自动化] (Cap2)                                          |
|                                                                      |
|  ------- 数据生成源/痛点来源 (Source Nodes) ----------------------   |
|                                                                      |
|  📍 来源于节点: [生活状态] (累计带来 14,895 观测热度)                |
|                                                                      |
========================================================================
```

### 3. 能力库 (Capability Library) - ⭐️ 系统核心

**设计目标**：原子能力表（`atomic_capability`）的展现和操作大盘。

- **网格卡片 (Capability Cards)** 排版线框：

```text
╭────────────────────────────────────────────────────────╮
│                                                        │
│  [✨ Capability Fully Ready]    (状态徽章)     [ 🧠 ]  │
│                                                        │
│  AI 高精视觉生成                                       │
│  基于扩散模型的高保真图像生成与风格迁移能力。          │
│                                                        │
│  ────────── (细分割线) ──────────────────────────────  │
│                                                        │
│  🛠 实现工具:                          知识源:         │
│  [Midjourney] [SDXL]               [📚 2 份知识文件]   │
╰────────────────────────────────────────────────────────╯
```

- **SideDrawer (能力详情 - `cap`)** 排版线框：

```text
========================================================== ✖ (关闭) ====
|                                                                      |
|  [ATOMIC CAPABILITY] (浅色小字)                                      |
|  AI 高精视觉生成 (超大黑体)                                          |
|                                                                      |
|  [  🎯 核心评估标准 (Criterion)                            ]         |
|  [  "构图准确度 > 90%, 角色特征保持率 > 85%, 出图无变形"   ] (高亮区)|
|                                                                      |
|  ------- 下发工具执行链 (Implements Detail) ----------------------   |
|                                                                      |
|  ⚙️ Midjourney                                                       |
|  > 通过 /imagine 命令生成图像，效果优秀但不支持中文提示词。          |
|                                                                      |
|  ⚙️ Stable Diffusion XL                                              |
|  > 开源生态最丰富的图像生成引擎，支持本地部署，显卡显存需>16G。      |
|                                                                      |
|  ------- 辐射的需求矩阵 (Requirements) ---------------------------   |
|                                                                      |
|  [⚡ 需求] 生成二次元风格角色封面                                    |
|                                                                      |
|  ------- 支撑该能力的知识沉淀 (Source Knowledge) -----------------   |
|                                                                      |
|  🔗 [经验] 角色一致性控制方案 (#k1-xxxx)                             |
|  🔗 [工序] SDXL 采样器最优步数实验 (#k3-xxxx)                        |
|                                                                      |
========================================================================
```

### 4. 工具库 (Tool Library)

**设计目标**：展示系统中可利用的具集（`tool_table`）。

- **瀑布流 / 扁平卡片 (Tool Card)** 排版线框：

```text
╭────────────────────────────────────────────────────────╮
│                                                        │
│  [  Wrench Icon ]                  [🟢 可用] (Status)  │
│                                                        │
│  Midjourney (标题)      [ v6.0 ] (次级标签 version)    │
│                                                        │
│  全球领先的 AI 艺术生成工具，支持高精细节还原。        │
│                                                        │
│   ✨ MATURE 工具成熟率 (Based on case_knowledge)       │
│   ■■■■■■■■■■■■■■■■■■■■□□□□□□                 45 案例 │
╰────────────────────────────────────────────────────────╯
```

- **SideDrawer (工具详情 - `tool`)** ：
  - **图谱知识分布 (Knowledge Breakdown)**：将工具的知识关联拆成三张计分卡横排：**工具基础知识** (`tool_knowledge` 长)、**工序执行标准** (`process_knowledge` 长)、**落地实操案例** (`case_knowledge` 长)。
  - **详细技术指标**：区块化分别显式输出 `input` 和 `output` 的预设规格。
  - **操作向导**：全文区域化呈现 `tutorial`，支持代码与指令的高亮。
  - **驱动的能力**：提供 `capabilities` 反向能力关联标签。
  - **运维指标**：在卡片边缘呈现 `updated_time` 时间戳转换后的相对时间格式。

### 5. 知识库 (K-Data Center)

**设计目标**：沉淀生产、方法论（`knowledge`）的最佳实践。

- **数据表格视图**：
  - 列表呈现文章的主旨任务 (`task`)。
  - `types` 数组使用多种配色的独立标签进行并排呈现（如：工序/用例/工具/经验/定义/User Profile）。
  - 根据 `eval` 字典内的 `score` 字段展示可读带星级的评定结果。
- **SideDrawer (知识详情 - `know`)**：
  - **评估明细窗 (Eval)**：详细展示 `eval` 内部的四个核心参数键值（`score`、`harmful`、`helpful`、`confidence`）。
  - **业务标签系 (Tags)**：遍历解析 `tags` 字典以 KV 徽章组的形式排版。
  - **正文区**：宽体排版并呈现大面积 `content`。
  - **追溯属性 (Lineage/Source)**：横截面栏位展现创作者所属 `owner`、以及此条目生成的具体分类与端侧来源 (`source.category`, `source.agent_id`)。
  - **支撑实体挂载点 (Supports)**：罗列出这条知识最终是在辅助哪个原子能力 (`support_capability` 数组) 抑或是对齐着什么工具 (`tools` 数组)。

---

## 需增加/完善的后端 API 接口确认

> [!WARNING]
> 在目前的 `server.py` 中，主要暴露了关于 Resources 和 Knowledge 的 API 端点。要支撑上述完整的连贯体验，我们必须确保后端能够提供以下核心表的全量及详情查询接口，请用户确认是否已经实现或需要一并在此次迭代中增加：

1. `GET /api/atomic_capabilities`
2. `GET /api/requirements`
3. `GET /api/tools`
4. 数据聚合统计接口，如 `GET /api/dashboard/stats`（或由前端缓存上述列表自行聚合）

## 用户确认点

> [!IMPORTANT]
>
> 1. **前端框架选择**：因为原本是用 FastAPI 的 Jinja + Vanilla JS 做，而 `reference.html` 是基于 **React + Tailwind**。本次重构您希望使用工程化的 Vite 等完整前端方案，还是像 demo 那样以单文件 HTML + CDN 的极简无构建方式实现？
> 2. **后端 API 是否齐备**：目前 `server.py` 尚未看到 Capabilities、Requirements 等数据的访问路由。是否希望在这轮一并为您用 FastAPI 写好供前端调用的 REST API？
