# learn **Repository Path**: imlzw/learn ## Basic Information - **Project Name**: learn - **Description**: 个人学习网页,记录学习过程内容知识 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: http://learn.imlzw.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-09 - **Last Updated**: 2026-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 知识体系学习系统 (AI Knowledge System) 这是一个基于 Go 后端和多页面前端架构的系统化 AI 学习平台。旨在为学习者提供清晰、现代且可交互的 AI 知识学习体验。 ## 🚀 核心功能 - **系统化课程**:涵盖从 AI 概览、数学基础、经典机器学习到大模型(LLM)与 RAG 的全方位知识。 - **可交互实验**:内置 Python 代码运行环境,支持在网页直接运行 AI 示例代码。 - **全文搜索**:基于后端的快速全文检索,秒级定位知识点。 - **跨平台支持**:提供 Windows, Linux, macOS 多平台可执行产出物。 ## 🛠️ 技术栈 - **后端**: Go (原生标准库) - **前端**: HTML5, JavaScript, Tailwind CSS (CDN) - **脚本环境**: Python 3 (用于代码执行示例) ## 📦 快速开始 ### 1. 运行服务 项目提供了管理脚本,支持后台运行、日志重定向及服务重启: #### **Windows (PowerShell)** ```powershell # 启动服务 (默认 8080) .\learn.ps1 start # 指定端口启动 .\learn.ps1 start -port 9090 # 停止 / 重启 / 查看状态 .\learn.ps1 stop .\learn.ps1 restart .\learn.ps1 status ``` #### **Linux (Shell)** ```bash # 启动服务 ./learn.sh start # 指定端口启动 ./learn.sh start -port 9090 # 停止 / 重启 / 查看状态 ./learn.sh stop ./learn.sh restart ./learn.sh status ``` 运行后,所有日志将输出到当前目录的 `log.out` 中。 ### 2. 源码启动 如果你已安装 Go 环境: ```powershell go run backend/main.go ``` ## ⚙️ 配置说明 系统支持灵活的配置方式,优先级为:**命令行参数 > 环境变量 > 配置文件 > 默认值**。 ### 常用参数 | 参数 | 命令行 | 环境变量 | 默认值 | | :--- | :--- | :--- | :--- | | **端口** | `-port` | `APP_PORT` | `8080` | | **主机** | `-host` | `APP_HOST` | `""` (监听所有接口) | | **配置文件** | `-config` | `APP_CONFIG` | `config.json` | | **访问密码** | - | `APP_PASSWORD_HASH` | - | ### 🔐 安全认证 为了防止互联网上的非法代码执行,系统集成了 JWT 安全认证。 1. **生成密码哈希**: 使用内置辅助命令生成加密后的密码: ```powershell .\ai-learning-system-windows-amd64.exe -set-password 你的密码 ``` 2. **配置密码**: 将生成的哈希字符串复制到 `config.json` 的 `access_password` 字段中。 3. **使用**: 在网页端点击“运行”代码时,系统会提示输入密码。认证成功后,Token 将保留在浏览器中(24小时有效)。 ### 示例:更改端口 ```powershell # 方式 A: 命令行 .\ai-learning-system-windows-amd64.exe -port 9090 # 方式 B: 配置文件 (config.json) { "port": 9090 } ``` ## 🏗️ 编译构建 项目包含一个自动化构建脚本 `build.ps1`,可一次性生成多平台二进制文件: ```powershell # 执行构建脚本 .\build.ps1 ``` 构建产物将存放在 `dist/` 文件夹下。 ## 📂 目录结构 - `backend/`: Go 后端源码及导航数据。 - `frontend/`: 前端页面、样式及 JS 逻辑。 - `dist/`: 编译后的可执行文件。 - `demo/`: 供前端调用的 Python 示例代码。 ## ⚖️ 许可证 本项目遵循 MIT 开源协议。