✨Feat: 构建对话终端
This commit is contained in:
@@ -1,3 +1,204 @@
|
||||
# agent-chain
|
||||
# 学习助手 (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服务提供商
|
||||
|
||||
Reference in New Issue
Block a user