NetLearner — 考纲驱动 · AI 动态出题
开源 CCNA/CCNP 备考平台。基于 Cisco 官方 Exam Topics,AI 实时生成试题,零版权风险。
纯前端,本地优先,每人拥有自己的数据。
传统刷题平台三大问题:
问题
NetLearner 的解法
题库版权风险
无静态题库,AI 基于官方考纲出题
数据归属平台
数据存在用户浏览器,不经过任何服务器
考纲更新滞后
更新大纲 PDF → 重新出题 → 立即生效
水平测试 ─→ 学习计划 ─→ 模拟考试 ─→ 错题本
│ │
└─────────────── 循环提升 ←───────────────────┘
功能
说明
水平测试
10 题快速摸底 → 评定等级(初级/中级/高级) → 生成学习计划
模拟考试
CCNA 60题 / CCNP ENCOR 60题,120分钟,按官方权重配比出题
错题本
自动收录、按域筛选、掌握度标记、错题重练
学习计划
等级对应 12/8/4 周计划,按薄弱域调整权重
数据管理
导出 JSON 备份 / 导入恢复 / 一键清除
项目
值
时长
120 分钟
题量
~100 题(模拟卷 60 题)
通过分
825/1000
题型
单选、多选、拖拽、模拟实验
知识域
权重
模拟题量
Network Fundamentals
20%
12
Network Access
20%
12
IP Connectivity
25%
15
IP Services
10%
6
Security Fundamentals
15%
9
Automation
10%
6
合计
100%
60
项目
值
时长
120 分钟
题量
~100 题(模拟卷 60 题)
通过分
825/1000
题型
单选、多选、拖拽、模拟实验
知识域
权重
模拟题量
Architecture
15%
9
Virtualization
10%
6
Infrastructure
30%
18
Network Assurance
10%
6
Security
20%
12
Automation & AI
15%
9
合计
100%
60
┌─────────────────────────────────────────────┐
│ 浏览器 (Chrome/Edge/Firefox) │
│ │
│ index.html (SPA, 路由内嵌) │
│ ├── main.css (设计系统) │
│ ├── router.js (哈希路由) │
│ ├── exam-engine.js (考试状态机) │
│ ├── storage.js (L1 localStorage + L2 JSON) │
│ ├── wrong-answer-service.js (错题本) │
│ ├── planner-generator.js (学习计划) │
│ └── app.js (主逻辑) │
└──────────────────────┬──────────────────────┘
│ fetch (带缓存爆破)
▼
┌─────────────────────────────────────────────┐
│ node server.js :8080 │
│ Cache-Control: no-store (所有浏览器不缓存) │
│ │
│ static/ │
│ index.html, assets/*.css, assets/*.js │
│ questions/index.json (题库元数据) │
│ questions/generated/*.json (AI 生成题库) │
└─────────────────────────────────────────────┘
防缓存策略(三层):
服务器返回 Cache-Control: no-store(所有浏览器标准)
fetch URL 追加 ?t=版本号(版本号写死在 app.js 配置区)
使用内置 Node.js 服务器,无第三方依赖,只有一个进程
# 唯一启动方式(没有第二种)
node server.js
# PC 浏览器打开
http://localhost:8080
# 手机打开(同一 WiFi)
# 1. 查电脑 IP:ipconfig | findstr "IPv4"
# 2. 手机浏览器访问 http://<电脑IP>:8080
📱 移动端支持 :手机与电脑连同一 WiFi 即可访问。
无需部署到服务器,无需 HTTPS,完美支持通勤刷题。
详细教程见 使用教程.md。
NetLearner/
├── server.js # 唯一服务器(内置,零依赖)
├── index.html # SPA 主页面
├── assets/
│ ├── css/
│ │ ├── main.css # 设计系统
│ │ └── responsive.css # 响应式
│ └── js/
│ ├── app.js # 应用主逻辑
│ ├── router.js # 哈希路由
│ ├── storage.js # 存储层
│ ├── exam-engine.js # 考试引擎
│ ├── wrong-answer-service.js
│ └── planner-generator.js
├── questions/
│ ├── index.json # 题库元数据
│ └── generated/ # AI 生成的题库
└── plugin-forge/ # 发布用 skill
🔒 你的数据在你自己的浏览器
• localStorage 存储,不清除就不丢失
• 导出 JSON = 完整备份,可导入恢复
• 没有任何数据经过服务器
• 不需要注册账号
1. 下载 Cisco 官方 Exam Topics PDF
2. 运行 Claude Code → 执行 ccna-question-generator skill
3. 输出 JSON → 放入 questions/generated/
4. 验证 → node plugin-forge/skills/ccna-question-generator/scripts/validate-questions.js
5. 提交 → GitHub Pages 自动部署