# 学习助手 (Learning Assistant) 一个基于AI知识的交互式学习工具,通过生成多种形式的内容帮助你快速掌握知识点。 ## 功能特性 - 🎓 **多形式学习内容**:为知识点生成5种不同形式的学习内容 - 📊 **Mermaid图表**:知识结构可视化,自动复制到剪切板 - 🎭 **郭德纲式讲解**:幽默风趣的知识讲解 - ✍️ **十道考核题**:带解析的选择题,检验学习效果 - 📝 **记忆卡片**:结构化的关键知识点总结 - 🏗️ **工程场景**:实际应用案例和代码示例 - 🖥️ **交互式TUI界面**:使用Bubble Tea构建的终端用户界面 - Tab切换查看不同内容 - 键盘导航(←/→翻页,↑/↓滚动) - 流畅的用户体验 - 🤖 **AI驱动**:基于硅基流动AI服务,使用DeepSeek模型 ## 安装 ### 前置要求 - Go 1.25.6 或更高版本 - 硅基流动API密钥 ### 安装步骤 1. 克隆仓库 ```bash git clone https://github.com/yourusername/learning-assistant.git cd learning-assistant ``` 2. 安装依赖 ```bash go mod tidy ``` 3. 构建程序 ```bash go build -o learning.exe cmd/main.go ``` 4. 设置API密钥 ```bash export SILICON_API_KEY=your_api_key_here ``` ## 使用方法 ### 基本使用 ```bash ./learning.exe ``` ### 操作流程 1. 程序启动后,输入你想学习的知识点 2. 按 Enter 键开始生成 3. 等待AI生成完成(后台并发生成5种内容) 4. 使用 ←/→ 键切换不同的Tab查看内容 5. 使用 ↑/↓ 键滚动长内容 6. 按 q 或 Ctrl+C 退出程序 ### 键盘快捷键 | 按键 | 功能 | |------|------| | Enter | 确认输入/开始生成 | | ← | 切换到上一个Tab | | → | 切换到下一个Tab | | ↑ | 向上滚动内容 | | ↓ | 向下滚动内容 | | q | 退出程序 | | Ctrl+C | 退出程序 | ## 配置文件 配置文件位于 `config/config.yaml`: ```yaml api: endpoint: "https://api.siliconflow.cn/v1" model: "deepseek-ai/DeepSeek-V3" timeout: 120 max_retries: 3 ui: width: 100 height: 30 colors: primary: "#7D56F4" secondary: "#04B575" text: "#FAFAFA" background: "#232323" border: "#586069" ``` ## 项目结构 ``` learning-assistant/ ├── cmd/ │ └── main.go # 程序入口 ├── internal/ │ ├── ai/ # AI集成层 │ │ ├── client.go # 硅基流动API客户端 │ │ ├── prompt.go # 提示词管理 │ │ ├── prompts/ # 提示词模板 │ │ └── generators/ # 内容生成器 │ ├── clipboard/ # 剪切板操作 │ └── tui/ # TUI界面层 │ ├── model.go # TUI模型 │ ├── view.go # 视图渲染 │ └── update.go # 事件处理 ├── config/ │ └── config.yaml # 配置文件 ├── go.mod ├── go.sum └── README.md ``` ## 技术栈 - **语言**:Go 1.25.6 - **TUI框架**:[Bubble Tea](https://github.com/charmbracelet/bubbletea) - **样式库**:[Lip Gloss](https://github.com/charmbracelet/lipgloss) - **剪切板**:[clipboard](https://github.com/atotto/clipboard) - **AI服务**:硅基流动(DeepSeek模型) ## 示例 ### 输入示例 ``` 🎓 学习助手 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 请输入您想学习的知识点: Redis缓存策略 ``` ### 输出示例 程序会生成以下内容: 1. Mermaid图表 - 显示Redis缓存策略的思维导图 2. 郭德纲式讲解 - 用幽默的方式讲解缓存策略 3. 十道考核题 - 测试对Redis缓存的理解 4. 记忆卡片 - 总结核心知识点 5. 工程场景 - 展示实际应用案例 ## 常见问题 ### Q: 如何获取硅基流动API密钥? A: 访问 [硅基流动官网](https://cloud.siliconflow.cn) 注册并获取API密钥。 ### Q: 生成失败怎么办? A: 检查以下几点: 1. API密钥是否正确设置 2. 网络连接是否正常 3. API额度是否充足 ### Q: 如何更改UI主题颜色? A: 编辑 `config/config.yaml` 文件中的 `ui.colors` 配置项。 ## 开发 ### 运行开发版本 ```bash go run cmd/main.go ``` ### 构建 ```bash go build -o learning.exe cmd/main.go ``` ### 依赖管理 ```bash go mod tidy go mod verify ``` ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request! ## 致谢 - [Bubble Tea](https://github.com/charmbracelet/bubbletea) - 强大的TUI框架 - [硅基流动](https://cloud.siliconflow.cn) - AI服务提供商