Files
2026-03-20 14:26:24 +08:00

205 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 学习助手 (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服务提供商