# SolverOS 系统架构与 UIUX 设计

日期：2026-09-25  
版本：讨论稿 v0.1  
依据：[产品定义](产品定义.md)及本次 UI/UX 讨论。

本文描述整个网站的功能关系、页面结构、核心数据、操作流程与状态。已确认的方向是学习空间、中文界面、英文题目、独立的知识点管理，以及产品定义中的训练原则。具体导航、布局、规则与技术模块均为设计建议，等待讨论；本文不代表已实现或已验证。

## 1. 系统整体结构

SolverOS 围绕三项工作组织：教研人员建立可训练的知识与题目，学生持续完成训练，复核者用作答证据修正内容和学习判断。

```mermaid
flowchart TB
    C[课程与大纲版本] --> K[知识点与先备关系]
    K --> Q[题目与训练目标]
    S[解题能力维度] --> Q
    Q --> R[内容审核与可用题库]
    R --> P[训练计划与复习安排]
    P --> W[学生解题工作台]
    W --> E[作答与帮助记录]
    E --> V[评价与人工复核]
    V --> M[知识掌握与能力证据]
    M --> P
    M --> G[学生成长页面]
    V --> Q
```

系统同时提供学生学习空间和教学管理空间。同一个人可以拥有多个教学角色，通过明确的工作区切换进入不同界面。

### 学生学习空间

- 今日学习：继续任务、当天训练、到期复习。
- 知识地图：课程知识结构、节点详情、个人学习状态、针对性补练。
- 我的成长：能力变化、知识运用证据、下一步建议。
- 学习记录：作答、提示、复盘与已完成测评。
- 解题工作台：从任务进入的专注页面。
- 个人设置：账户、学习安排、界面偏好。

### 教学管理空间

- 工作台：待审核题目、待复核作答、暂停原因与计划缺口。
- 课程与知识：课程版本、知识结构、先备关系、能力维度与映射。
- 题库与生成：题目编辑、AI 候选题、审核、版本、训练与测评用途。
- 学生与计划：学生档案、知识基础、训练安排、到期复习。
- 作答复核：查看尝试过程、判断与纠正反馈。
- 试验与报告：前测、训练后测、延迟测评、个体变化。
- 系统设置：成员、角色、可配置规则、操作记录。

公开入口提供产品简述、登录和邀请入口。首轮采用邀请加入的建议方案，家长独立门户与公开购买流程留待实际需求确认。

## 2. 角色与操作边界

| 角色 | 核心操作 | 可见范围 |
|---|---|---|
| 学生 | 训练、查看知识点、复习、查看本人记录 | 本人的学习数据与已发布学习内容 |
| 教师或复核者 | 安排训练、复核作答、修正学习判断 | 被分配学生、相关课程和已授权题目 |
| 内容编辑者 | 编辑知识点、题目、提示与评分标准 | 所负责课程内容；不默认获得所有学生记录 |
| 管理者 | 配置课程、分配角色、管理内容发布与试验 | 所管理工作区 |

首轮人员可兼任编辑、审核和复核角色，保留具体操作人及时间。前端菜单和服务端数据访问使用相同的权限边界。学生接收的题目数据不包含隐藏答案、尚未请求的提示和管理备注。

## 3. 导航与页面清单

学生导航使用“今日学习 / 知识地图 / 我的成长 / 学习记录”四个入口。全局显示当前课程上下文；只有存在多个已加入课程时才显示切换控件。

| 页面 | 建议路径 | 主要操作 |
|---|---|---|
| 登录与邀请 | `/login`、`/join` | 登录、接受邀请、加入已分配课程 |
| 今日学习 | `/learn` | 继续学习、开始训练、查看本周安排 |
| 知识地图 | `/learn/knowledge` | 查找知识点、查看状态、进入详情 |
| 知识点详情 | `/learn/knowledge/:id` | 查看解释、先备知识、自己的证据、开始补练 |
| 解题工作台 | `/learn/sessions/:id` | 作答、请求提示、上传图片、提交 |
| 训练小结 | `/learn/sessions/:id/summary` | 回顾本次表现、查看后续安排 |
| 我的成长 | `/learn/progress` | 查看知识与能力的变化依据 |
| 学习记录 | `/learn/history` | 检索任务、重看作答与复盘 |
| 管理工作台 | `/manage` | 处理待办与内容缺口 |
| 课程与知识 | `/manage/curricula` | 维护课程版本、知识结构与映射 |
| 知识点编辑 | `/manage/knowledge/:id` | 编辑内容、先备关系、关联题目与版本 |
| 能力维度 | `/manage/skills` | 定义观察项、行为描述和评分规则 |
| 题库与生成 | `/manage/questions` | 编辑、生成、预览、审核、停用 |
| 学生与计划 | `/manage/students` | 查看学生、安排训练与复习 |
| 作答复核 | `/manage/reviews` | 审核开放答案、修正反馈 |
| 试验与报告 | `/manage/studies` | 配置测评、查看个体变化与证据 |

详情页保持返回路径、列表筛选和滚动位置。题目、知识点、学生和作答记录之间可以直接跳转，并保留当前课程版本上下文。

## 4. 知识点管理

### 4.1 课程结构与知识概念

课程上下文记录考试体系、考试局、科目、课程代码、阶段和大纲版本。课程树按单元组织，但先备关系单独保存：一个知识点可以依赖其他单元中的知识点。

知识概念与课程映射分开保存。概念使用稳定 ID；每个课程版本记录它在大纲中的位置、学习要求及适用深度。跨课程复用需要人工确认，学生在一个课程中的掌握证据不自动转化为另一课程的掌握结论。

知识点粒度以“能够通过任务观察其理解或运用”为依据。首轮使用人工维护的小范围课程树；AI 可辅助从材料中提出拆分和映射草稿，由人检查后发布。

### 4.2 管理端布局

页面采用三部分：左侧课程树，中间知识点列表，右侧按需展开的详情编辑区。窄屏进入独立详情页。

- 顶部：课程版本、搜索、状态筛选、创建知识点、导入草稿。
- 左侧：单元层级与节点数量；提供按钮操作作为拖拽的替代。
- 中间：中英文名称、课程位置、内容状态、已审核题目覆盖、待处理问题。
- 右侧：基本信息、学习内容、先备关系、关联题目、版本与变更记录。

完整编辑可以进入独立页面，保留面包屑。关系图作为可选查看方式，树和列表承担日常管理。

### 4.3 知识点字段

| 字段组 | 内容 | 用途 |
|---|---|---|
| 身份 | 稳定 ID、中英文名称、别名 | 搜索与课程间映射 |
| 课程映射 | 课程版本、大纲条目、所属单元、学习要求 | 确定教学范围 |
| 学习目标 | 学生应该能完成的行为 | 连接题目与评价 |
| 学习内容 | 中文解释、英文术语、例子、资源引用 | 支持学生补学 |
| 先备关系 | 依赖节点、依赖原因 | 发现缺口与安排补练 |
| 易错表现 | 常见误解及可观察行为 | 给诊断提供参考 |
| 题目覆盖 | 作为主要目标或先备知识的关联题目 | 防止标签混用 |
| 发布信息 | 草稿、待审核、已发布、已停用及版本 | 控制内容可用性 |

知识点、题目之间是多对多关系。必须区分“主要考查知识点”和“作答所需先备知识”；一道多知识点题做错时，不把所有关联节点都判为未掌握。

### 4.4 管理流程与异常

创建或导入草稿 → 编辑知识目标与先备关系 → 关联题目 → 内容审核 → 发布。

- 导入先预览和逐项确认，不直接覆盖现有节点。
- 检查重复名称、缺失映射及先备关系循环。
- 重要内容修改生成新版本，提示受影响的题目和计划。
- 历史任务引用原版本；发布修改不重写学生过去看到的内容。
- 已使用的知识点可停用或合并。合并保留旧 ID 映射，显示题目与证据影响。
- 缺少可用练习题时明确显示覆盖缺口，阻止生成无法完成的训练安排。

### 4.5 学生端知识地图

默认展示单元列表和学习路径，展开后看到知识点；学生可以搜索中英文名称。每个节点显示名称、当前状态、到期复习提示，并能解释状态依据。

知识点详情包括“这是什么 / 我需要会什么 / 我的练习证据 / 下一步”。个人笔记和疑问可以附在节点下，不改变公共知识定义。

直接打开例题、讲解或已做题答案属于学习行为。若发生在当前任务中，保留记录供后续判断帮助程度；无提示测评使用独立模式，暂不提供补练和答案入口。

## 5. 知识掌握与解题能力

### 5.1 两类学习记录

知识点回答“学生能否理解和运用这个概念”。解题能力回答“学生怎样处理问题”。两类数据都来自具体尝试与评价，分别显示。

建议的能力维度如下，具体评分行为待课程信息明确后细化：

| 维度 | CS 训练中可以观察的行为 |
|---|---|
| 理解问题 | 识别输入、输出、限制条件，准确复述目标 |
| 建立表征 | 用变量、示例、表格或草图表达问题 |
| 设计方案 | 分解问题、选择算法结构、解释选择理由 |
| 执行与表达 | 将方案写成一致、可追踪的伪代码 |
| 检查与修正 | 设计检查案例、发现边界问题、修正推理 |

表内行为是产品设计示例，不代表特定考试局的评分规范。

### 5.2 状态表达

知识状态建议为“未观察 / 正在学习 / 需要巩固 / 已有独立运用证据”。另设复习状态“未到期 / 到期 / 逾期”，避免把逾期误当成不会。

能力页使用具体描述与证据数量，例如“近期两次独立发现终止条件问题”。数据少时显示“观察中”。完成学习内容、自我报告理解、提示后做对、独立迁移分别记录，不互相替代。

每条掌握判断保存课程上下文、知识或能力维度、作答版本、题目新颖性、提示记录、评价人或系统、时间与判断依据。算法生成的初步判断可以被复核纠正，并保留修改记录。

## 6. 题库与 AI 生成

### 6.1 题目组成

- 英文题干、输入输出要求、示例、必要附件。
- 课程版本、主要知识点、先备知识、目标能力。
- 题目家族与来源，区分原创候选、经允许使用的外部材料及其引用信息。
- 参考算法、可接受的替代解法、评分依据和验证案例。
- 分级提示，完整解答及其显示规则。
- 难度因素：知识范围、算法复杂度、表征负担、情境陌生程度；提示水平作为任务配置单独记录。
- 状态、内容版本、审核人、可用用途：训练或保留测评。

难度初始标签属于教研判断，后续用学生表现复核；不能把 AI 自评的难度直接视为经过验证的等级。

### 6.2 管理页面

题库列表支持按课程、知识点、能力、题目家族、状态和用途筛选。详情页并列展示学生可见内容与编辑信息，提供学生视角预览。

AI 生成入口先选择知识目标、先备范围、能力目标与本次改变的难度因素，再生成题干、解法、验证案例和提示草稿。失败时保留输入，可重试；候选题不进入学生可用列表。

题目状态：草稿 → 待审核 → 已批准；审核可退回修改，批准后可停用。修改影响答案或难度的内容后，需要重新审核。所有 AI 变式也走相同流程。

### 6.3 避免题目与测评混用

测评题及其高度相似变式使用题目家族级保留标记，不进入日常训练。学生接触过的题目或完整解答不能再作为该学生的陌生题独立表现证据。

发现已发布题有错时，暂停后续分发，列出受影响任务和学习判断。复核者修正评价后，再决定是否更新成长页与后续训练安排。

## 7. 学生首页与知识补练

### 今日学习

首屏顺序：课程与问候、继续未完成任务、今天推荐的训练、本周安排。主按钮只强调“继续学习”或“开始今天的训练”。到期复习并入任务安排，不与主行动争夺注意力。

每个任务说明目标和预计时长，例如“练习把条件组织成分支，约 20 分钟”。不在普通训练页面显示排名或强制倒计时。

新学生先看到课程分配与简短基线任务；没有可用题目时显示安排状态，并在教学端生成待办，不生成未经审核题目填补空缺。

### Point Drill

可以从今日任务、知识点详情或解题中的知识缺口进入。页面沿用同一学习空间，清楚说明“正在补练什么”和返回原任务的路径。

补练由短讲解、主动回忆或小练习、反馈、后续复习安排组成。完成补练不自动表示原题已独立解决；返回后继续作答，并记录本次补练帮助。

## 8. 解题工作台

### 8.1 电脑布局

```text
返回今日学习    课程 / 当前任务                    已保存
──────────────────────────────────────────────────────
英文题目与示例（约 40%）  │ 我的草稿与伪代码（约 60%）
                         │
目标与条件               │ 自由输入、保留不完整尝试
附件与必要图示           │ 图片附件、识别结果核对
                         │
                         │ [提交作答]  我需要帮助
──────────────────────────────────────────────────────
请求帮助后展开提示区域；题目与当前作答保持可见
```

主操作为提交，求助采用明确且容易找到的次级按钮。帮助区域不自动展开，也不根据停顿时间推送解题线索。

草稿和伪代码可在同一作答区域切换或分段，保持状态。首轮不承诺执行任意伪代码；“提交作答”不伪装成运行按钮。若后续增加执行能力，需先明确支持的语法与判断边界。

### 8.2 关键交互

- 初始少量过程提问用于收集思路，不指出算法选择或隐藏测试条件。
- 点击求助才显示提示；请求更深提示需要新的操作。
- 查看解答前简短说明将记录为“查看了解答”，允许取消。
- 自动保存显示正在保存、已保存或保存失败；失败不清空编辑内容。
- 提交生成作答快照。重复点击不产生重复成绩。
- 提交后修改形成新的尝试，保留此前尝试与帮助记录。
- 反馈若提供了解题线索，后续尝试相应记录帮助，避免把修正答案重新算成首次独立完成。
- 提前退出可以继续；暂停与退出不被判为能力不足。

### 8.3 拍照与识别

本机可直接上传；电脑作答时可以显示本次任务的手机上传入口。上传入口绑定当前学生与任务，显示目标任务名称及有效状态，避免传错记录。

上传过程：选择图片 → 预览与旋转 → 上传 → 识别 → 核对识别文本 → 用于评价。保留原图和学生修订文本。无法识别时允许重新上传或交人工查看，不把识别失败变成解题错误。

### 8.4 反馈状态

提交后显示处理进度与当前结果类型。自动评价不确定时显示“等待复核”，保留已收到作答的确认；不假设教师即时在线。

允许给出明确标注的初步反馈。没有足够证据时，不宣称掌握或下降。后续复核修改结果，在学习记录中解释变化原因。

## 9. 训练安排与难度调整

训练计划包括当前课程单元、知识与能力目标、可用题目范围、频率、复习安排与完成条件。教学端可以覆盖系统建议并记录原因。

候选题选择依次考虑课程匹配、知识准备、目标能力、接触历史、当前帮助依赖和到期复习。候选不足时交给教学端处理。

逐步减少帮助的顺序：提示下完成 → 相近难度下独立完成不同情境题 → 混合题辨认方法 → 更复杂算法或更多知识组合。这个顺序是安排原则，具体推进阈值待试验制定。

间隔复习使用可配置安排并记录效果。四周、每周三次的试验节奏是训练安排；单个知识点的复习间隔另行配置，不直接声称套用某个固定科学最优值。

学生缺席后保留进度并重新安排，避免把所有逾期任务堆成当天负担。教师可以暂停计划。

## 10. 成长、记录与教学复核

### 我的成长

页面包含知识掌握概览、解题能力变化、近期证据和下一步建议。知识概览链接到知识地图，能力项链接到对应作答。

优先使用状态列表和小型时间趋势。证据稀少时不画看似精确的雷达图或综合分。知识覆盖数量与独立运用证据分别呈现。

### 学习记录

按日期、课程、知识点、任务类型和结果筛选。详情按时间顺序呈现题目、作答快照、请求的提示、评价、修订和复盘。重做产生新尝试；历史原记录保留。

### 作答复核

左侧待办队列，中间学生尝试与帮助时间线，右侧题目、评分依据及 AI 初步判断。复核者可确认、改判或要求补充证据，填写学生可见反馈与内部备注。

重点检查有效的替代解法、学生思路与最终答案是否一致、帮助程度、识别错误，以及题目本身的问题。判断同一算法是否合理应依据要求和验证案例，不只匹配参考答案的文字。

### 学生详情

包含课程与计划、知识地图、能力证据、近期任务与复习安排。教师可以安排已审核题目或提出内容补充需求；直接修改掌握判断时必须填写依据，不能无痕改分。

## 11. 前测与试验报告

四周训练前完成基线任务；结束后与再间隔一周分别进行测评。测评使用同一课程范围与可比较的任务要求，保留陌生题。

测评模式在开始前说明无提示规则。进入后隐藏提示、答案和补练入口；若学生需要帮助，可以结束本次独立测评并进入有帮助的训练，保留已完成部分的性质。

教学端按学生展示三次测评的知识范围、作答质量、帮助情况及观察到的行为变化，并能回看原始作答。小样本报告说明个体结果、缺失记录和人工介入情况，不仅展示总体平均值。

评分量表、可比较题组和具体成功阈值等待考试局、阶段及单元明确后制定，不在界面中提前固化。

## 12. 中文界面与英文题目

已确认：导航、按钮、状态与系统说明使用中文；题目正文、题目中的要求与示例使用英文。

建议知识点使用中文名称配英文术语，保持关键术语可检索。AI 引导和反馈默认中文，引用题目和伪代码术语时保留英文；这一反馈语言细节待确认。

题干不自动替换为中文。是否提供词汇解释或按需翻译属于后续教学选择；如提供，需记录语言帮助，以便复核者区分语言理解与算法困难。

## 13. 视觉与响应式规范

### 视觉方向

温和、清晰的学习空间。浅暖灰背景、白色内容区、深色正文、克制的青绿色强调色。页面优先呈现题目、作答与具体反馈，保持足够留白。

以下为初始色值建议，实际组件仍需做对比度与状态检查：背景 `#F7F8F5`，内容区 `#FFFFFF`，正文 `#1F2937`，次要文字 `#4B5563`，强调色 `#0F766E`，边界 `#D5DDD8`。

中文正文使用清晰的系统无衬线字体与可用的中文回退字体；英文保持相同阅读气质，伪代码使用等宽字体。正文以 16–18px 为起点，避免把关键说明做成小字。

圆角和阴影适度。状态同时有文字与视觉标记。动画只用于打开帮助、保存反馈和页面状态变化，并支持减少动态效果。

### 响应式行为

| 场景 | 布局 |
|---|---|
| 宽屏学生页面 | 侧边导航与单列主要内容，限制正文行长 |
| 电脑解题 | 左题目、右作答，帮助按需展开 |
| 窄屏解题 | 题目与作答切换，保留内容和滚动位置；帮助作为可关闭面板 |
| 手机学生导航 | 今日、知识、成长、记录四项底部导航 |
| 管理页面 | 电脑优先，窄屏列表进入独立详情，保留关键复核操作 |

触控按钮采用足够大的点击区域，主要操作可通过键盘完成。树结构、对话框与上传控件提供清晰标签和焦点状态；关闭帮助后焦点返回触发位置。

## 14. 功能与数据架构

技术栈尚未选择。建议首轮采用模块清晰的单体应用加异步任务处理，便于围绕同一训练记录完成内容、评价与复核协作。

| 模块 | 负责内容 |
|---|---|
| 身份与课程访问 | 用户、角色、课程加入与教学分配 |
| 课程与知识 | 大纲版本、知识点、先备关系、能力定义 |
| 内容工作流 | 题目版本、生成任务、审核、发布、停用 |
| 学习会话 | 当前任务、作答快照、帮助事件、附件与恢复 |
| 评价与复核 | 初步评价、人工决定、评分依据与反馈 |
| 学习证据 | 知识与能力判断、来源、修订与不确定状态 |
| 计划与复习 | 选题、任务队列、间隔安排和教师覆盖 |
| 试验与报告 | 测评安排、保留题组、个体结果 |

关系型存储保存课程、题目、会话与证据关系；文件存储保存图片和课程附件；异步任务处理生成、识别和评价。界面显示异步状态，并允许重试或人工接手。

AI 能力通过各模块调用，其结果先进入相应草稿或初步评价状态。题目发布、最终复核和学生可见内容边界由系统工作流控制。

### 核心数据对象

| 对象 | 关键关系 |
|---|---|
| CurriculumVersion | 考试体系、考试局、科目、阶段和版本 |
| KnowledgeConcept / CurriculumMapping | 稳定知识概念与某课程要求的对应 |
| PrerequisiteRelation | 同一课程上下文中的先备依赖 |
| SkillDimension / RubricVersion | 能力与可观察评价标准 |
| QuestionFamily / QuestionVersion | 题目家族、内容版本和训练或测评用途 |
| QuestionKnowledge / QuestionSkill | 主要目标、先备知识与能力映射 |
| StudyPlan / LearningTask | 给具体学生安排的目标和题目版本 |
| Session / Attempt | 一次学习过程及历次提交快照 |
| AssistanceEvent / Attachment | 请求提示、查看答案、补练、图片与识别确认 |
| Evaluation / Review | 初步判断、复核、反馈及修订依据 |
| LearningEvidence | 连接尝试、帮助程度、课程、知识与能力 |
| ReviewSchedule / AssessmentRun | 复习安排和独立测评记录 |

学生可见的掌握状态是证据的归纳结果。原始尝试、题目版本与人工修改来源保持可追溯。

## 15. 页面状态与恢复

| 情况 | 学生或教师看到什么 | 系统保留什么 |
|---|---|---|
| 没有课程分配 | 加入状态与下一步说明 | 账户与邀请状态 |
| 知识点无题 | 暂无可用练习，教学端收到覆盖缺口 | 知识定义和学生原有记录 |
| AI 生成失败 | 失败原因与重试入口 | 生成配置、已有候选 |
| 图片识别失败 | 重新上传或人工查看 | 原图与学生输入 |
| 保存失败或断线 | 明确未保存状态与重试 | 当前本地草稿，恢复后处理版本冲突 |
| 提交处理中 | 已收到作答、处理状态 | 提交快照，防止重复入账 |
| 评价不确定 | 等待复核，可返回学习空间 | 初步判断与依据 |
| 复核改判 | 更正后的反馈与原因 | 旧评价及更改记录 |
| 题目停用 | 任务暂停或替换说明 | 历史题目版本和既有作答 |

页面的加载、空状态、错误和完成状态在设计阶段一并覆盖。

## 16. 交付组织与设计验收

完整系统按三条可验证流程组织实现和设计评审：

1. 内容准备：创建课程与知识点 → 关联先备知识 → 编辑题目与提示 → 审核发布 → 可被计划选中。
2. 学生训练：接受课程安排 → 开始任务 → 自由作答与主动求助 → 提交 → 反馈或待复核 → 查看知识与能力证据。
3. 教学验证：复核作答 → 修正判断 → 调整后续训练 → 完成前后与延迟测评 → 查看原始记录支持的报告。

首轮需要课程树与知识点管理、题库审核、学生分配、解题与拍照、逐级提示、人工复核、基本成长反馈和测评记录。可视化关系图、更丰富的批量导入、公开商业门户及多考试内容扩展，在同一模块边界内后续展开。

设计验收至少验证：知识点能追溯到题目，题目能追溯到知识目标，成长结论能追溯到作答；学生能够找回未完成草稿；提示不会主动泄露；未审核题不会被分发；复核等待与修改不会伪装成已确定结果；中文界面与英文题干一致；电脑和手机都能完成各自主要任务。

当前待补充的是考试局、课程代码、阶段和共同单元。其余页面结构可以先进入低保真设计，所有示例内容需标明示例，不冒充正式课程与真实学生数据。
