在浏览器里动手练 bash、zsh、fish,掌握 50 节分阶段 Linux 课程 含练习自动判题、AI 辅导、插件系统
- 3 大 Shell 模拟:bash / zsh / fish 完整 prompt 风格 + 内置别名
- 50 节分阶段课程:8 个阶段(Linux 基础 → 命令行核心 → Shell 深入 → 脚本编程 → 系统管理 → Hermes Agent → OpenClaw)
- 40+ 内置命令:
lscdcatgrepfindchmodpskillnanovimhtopcurlwgetsshtmuxscreenapt... - 真交互编辑器:
nano/vim/htop在 xterm 全屏跑,可光标移动、保存、退出 - 练习引擎:200+ 练习题,支持 stdout/stderr/exitCode/fileState/envVar 自动判题 + commandSequence 分步判题
- AI 辅导:AI Tutor / AI Hint / AI Error Diagnosis / AI Review(多 LLM 提供者)
- 内容生态系统:DSL 驱动的课程流水线、全文搜索、交叉引用、版本管理
- 插件系统:支持运行时注册新命令 + 判题规则,故障隔离
- 虚拟文件系统:内存中的标准 FHS(
/home/user/etc/var/usr...) - 进度持久化:Zustand + localStorage 记录学习进度、笔记、主题
- 玻璃拟态 UI:Tailwind 自定义
glass/accent/terminal主题色板
pnpm install # 安装依赖
pnpm dev # 启动开发服务器 (Vite HMR)
pnpm test:e2e # 运行 E2E 测试打开 http://localhost:5173 即可。
pnpm build # tsc 类型检查 + Vite 打包到 dist/
pnpm preview # 本地预览 dist/ 产物
pnpm lint # ESLint flat config (TypeScript + React Hooks)
pnpm test # Vitest 单元测试 (377 tests)
pnpm test:e2e # Playwright E2E (16 tests, 5 个关键用户流程)| 层 | 技术 |
|---|---|
| 框架 | React 19 + TypeScript 6 + Vite 7 |
| 样式 | Tailwind CSS 3 (玻璃拟态主题) |
| 状态 | Zustand 5 (persist 到 localStorage) |
| 路由 | React Router v7 (HashRouter, 适配静态托管) |
| 终端 | xterm.js + Fit + WebLinks addon |
| 内容 | marked (Markdown) + dompurify (XSS 防护) |
| 测试 | vitest (单元) + Playwright (E2E) |
| AI | OpenRouter / Claude / GPT 多提供者 |
| 包管理 | pnpm |
linux-learning/
├── src/
│ ├── main.tsx # 入口
│ ├── App.tsx # 根组件 + HashRouter
│ ├── components/
│ │ ├── terminal/ # Terminal + injectCommand
│ │ ├── practice/ # PracticePanel / ScoreDisplay / AIDiagnosis
│ │ ├── lesson/ # LessonViewer
│ │ ├── glass/ # GlassButton / GlassPanel
│ │ ├── layout/ # Sidebar / LiquidToolbar
│ │ ├── content/ # SearchBar / ContentTools
│ │ └── feedback/ # EmptyState / LoadingDots
│ ├── shells/
│ │ ├── VirtualFS.ts # 内存文件系统 (FHS)
│ │ ├── shells.ts # Shell 抽象 + 执行器
│ │ ├── commands/ # 40+ 内置命令
│ │ ├── interactive/ # nano/vim/htop TUI 会话
│ │ ├── engine/
│ │ │ ├── judge/ # 判题引擎 (registry 模式)
│ │ │ ├── plugin/ # 插件系统 + 故障隔离
│ │ │ ├── ai/ # AI 辅导 / 诊断 / 推荐
│ │ │ ├── content-pipeline/ # DSL 流水线
│ │ │ └── ...
│ │ └── types/ # CommandContext / JudgeRule / FSNode
│ ├── lessons/ # 50 节课程 + YAML DSL
│ ├── store/useAppStore.ts # Zustand 全局 store
│ └── pages/Home.tsx # 首页
├── tests/ # 377 单元测试 (vitest)
├── e2e/ # 16 E2E 测试 (Playwright)
├── docs/ # 架构文档 + 任务列表
└── playwright.config.ts # Playwright 配置
| 阶段 | 课程数 | 涵盖 |
|---|---|---|
| Linux 基础 | 3 | 概念、FHS、终端 vs Shell |
| 命令行核心 | 13 | 文件操作、nano/vim、文本三剑客、查找、权限、进程、网络 |
| Shell 深入 | 4 | bash 变量、管道与重定向、zsh、fish |
| 脚本编程 | 6 | 流程控制、函数、正则、实战 |
| 系统管理 | 8 | 包管理、systemd、用户、日志、网络配置、安全、备份、调优 |
| Hermes Agent | 6 | 概念、安装、CLI、技能、网关、高级功能 |
| OpenClaw | 4 | 概念、工作区、记忆、迁移 |
现代浏览器 (Chrome 100+, Firefox 100+, Safari 15+, Edge 100+)。需要 ES2020 支持。
MIT