Compare commits

...

2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 3c3da6a139 feat: Add user feedback analysis documentation and tools
Co-authored-by: arvinxx <28616219+arvinxx@users.noreply.github.com>
2025-11-05 06:44:18 +00:00
copilot-swe-agent[bot] fd22601035 Initial plan 2025-11-05 06:35:32 +00:00
5 changed files with 928 additions and 0 deletions
@@ -0,0 +1,146 @@
# LobeChat 用户需求反馈分析报告
> 生成时间: 2025-11-05
> 数据来源: GitHub Issues (标题包含 [Request])
## 📊 概览
基于 GitHub Issues 的分析,共有 **1232** 个功能请求。
## 🔥 用户反馈最多的功能 TOP 30
按用户赞同数(👍 reactions)排序:
| 排名 | 状态 | 功能需求 | 👍 | 💬 | Issue |
|------|------|----------|----|----|-------|
| 1 | ✅ | 关于 gpt-image-1 模型使用的问题 (P图功能) | 20 | 18 | [#7552](https://github.com/lobehub/lobe-chat/issues/7552) |
| 2 | ⏳ | Support for Realtime API (实时语音对话) | 15 | 2 | [#4246](https://github.com/lobehub/lobe-chat/issues/4246) |
| 3 | ✅ | LLM 适配 (多模型支持) | 15 | 36 | [#151](https://github.com/lobehub/lobe-chat/issues/151) |
| 4 | ✅ | 支持 DeepSeek-R1 模型,及其思考过程的展示 | 15 | 7 | [#5528](https://github.com/lobehub/lobe-chat/issues/5528) |
| 5 | ✅ | 自定义嵌入模型 Custom Embedding model | 12 | 26 | [#3785](https://github.com/lobehub/lobe-chat/issues/3785) |
| 6 | ⏳ | require auth on database deployment (强制登录) | 11 | 10 | [#4382](https://github.com/lobehub/lobe-chat/issues/4382) |
| 7 | ✅ | 支持Azure AI (不是Azure OpenAI) | 10 | 40 | [#5628](https://github.com/lobehub/lobe-chat/issues/5628) |
| 8 | ✅ | Support Claude 3.7 Sonnet and extended thinking | 9 | 13 | [#6488](https://github.com/lobehub/lobe-chat/issues/6488) |
| 9 | ✅ | 能否增加一个在聊天界面,上传文件的功能 | 8 | 5 | [#1710](https://github.com/lobehub/lobe-chat/issues/1710) |
| 10 | ✅ | 提供一种轻量的,无特效的前端模式,改善性能问题 | 8 | 12 | [#3728](https://github.com/lobehub/lobe-chat/issues/3728) |
| 11 | ⏳ | Support Gemini API native file upload | 7 | 6 | [#5347](https://github.com/lobehub/lobe-chat/issues/5347) |
| 12 | ✅ | Claude Artifacts (双窗口展示) | 7 | 7 | [#2981](https://github.com/lobehub/lobe-chat/issues/2981) |
| 13 | ✅ | 能不能在顶部的模型处加一个切换模型 | 6 | 9 | [#1432](https://github.com/lobehub/lobe-chat/issues/1432) |
| 14 | ⏳ | Server-side configuration for custom model providers | 6 | 6 | [#6311](https://github.com/lobehub/lobe-chat/issues/6311) |
| 15 | ⏳ | Add custom model providers via .env during deployment | 6 | 16 | [#6975](https://github.com/lobehub/lobe-chat/issues/6975) |
| 16 | ⏳ | 同时与多模型对话方便对比各模型回复效果 | 6 | 9 | [#3122](https://github.com/lobehub/lobe-chat/issues/3122) |
| 17 | ✅ | disable streaming option (禁用流式输出) | 6 | 7 | [#6491](https://github.com/lobehub/lobe-chat/issues/6491) |
| 18 | ✅ | 希望deepseek-R1支持联网搜索能力 | 6 | 16 | [#5921](https://github.com/lobehub/lobe-chat/issues/5921) |
| 19 | ✅ | 请求增加一个"是否开启流输出"的按钮 | 6 | 21 | [#4820](https://github.com/lobehub/lobe-chat/issues/4820) |
| 20 | ⏳ | Future knowledge base feature requests | 5 | 84 | [#6054](https://github.com/lobehub/lobe-chat/issues/6054) |
| 21 | ⏳ | Add fully server-side request feature | 5 | 11 | [#6375](https://github.com/lobehub/lobe-chat/issues/6375) |
| 22 | ⏳ | Enhance global text search functionality | 5 | 4 | [#7422](https://github.com/lobehub/lobe-chat/issues/7422) |
| 23 | ⏳ | Unified UI Toggles for Provider-Native Tools | 5 | 2 | [#8203](https://github.com/lobehub/lobe-chat/issues/8203) |
| 24 | ⏳ | SYSTEM_AGENT environment variable support | 5 | 3 | [#6437](https://github.com/lobehub/lobe-chat/issues/6437) |
| 25 | ⏳ | Add thinking capability to Claude Sonnet 3.7 on Bedrock | 5 | 5 | [#6596](https://github.com/lobehub/lobe-chat/issues/6596) |
| 26 | ⏳ | 渲染答案时停留在起始位置而不是自动滚动 | 5 | 4 | [#4068](https://github.com/lobehub/lobe-chat/issues/4068) |
| 27 | ✅ | Add support for setting region in vertex ai | 5 | 8 | [#8104](https://github.com/lobehub/lobe-chat/issues/8104) |
| 28 | ✅ | dall-e3 支持 | 5 | 23 | [#453](https://github.com/lobehub/lobe-chat/issues/453) |
| 29 | ✅ | Support Anthropic's new native web search API | 5 | 4 | [#7736](https://github.com/lobehub/lobe-chat/issues/7736) |
| 30 | ✅ | 多对话同时进行功能请求 | 5 | 9 | [#7863](https://github.com/lobehub/lobe-chat/issues/7863) |
## 📂 功能分类统计
根据issue标签分类的热门功能领域:
### 1. 模型提供商相关 (Model Provider)
- **provider:gemini**: Gemini相关功能
- **provider:azure**: Azure AI相关功能
- **provider:ollama**: Ollama本地模型
- **provider:vertex**: Google VertexAI
- **Model Provider**: 通用模型提供商配置
### 2. 文件和知识库 (feature:files)
- 文件上传功能
- 知识库管理
- PDF文档解析
- Gemini原生文件上传
### 3. 搜索功能 (feature:search)
- 联网搜索
- 知识库搜索
- 全局文本搜索
### 4. 语音功能 (feature:tts / feature:dalle)
- 实时语音API
- 文字转语音(TTS)
- 图像生成(DALL-E)
### 5. 数据同步 (feature:data-sync)
- 云同步功能
- WebDAV支持
### 6. 性能优化 (⚡️ Performance)
- 轻量化前端模式
- 减少动画效果
## 💡 主要需求方向总结
### 已完成的热门功能 ✅
1. **多模型支持** - LLM适配,支持各种AI模型提供商
2. **DeepSeek-R1** - 思考过程展示
3. **文件上传** - 聊天界面支持文件上传
4. **Claude Artifacts** - 双窗口展示功能
5. **Azure AI** - Azure AI Foundry支持
6. **流式输出控制** - 可选择禁用流式输出
7. **Claude扩展思考** - Claude 3.7 Sonnet思考能力
8. **DALL-E3** - 图像生成支持
### 进行中/最受关注的需求 ⏳
1. **实时语音API** - Realtime API支持,用于语音对话学习 (15👍)
2. **强制登录** - 数据库部署时的认证要求 (11👍)
3. **Gemini文件上传** - 原生文件API支持 (7👍)
4. **服务端模型配置** - 统一管理自定义模型提供商 (6👍+6👍)
5. **多模型对比** - 同时与多个模型对话 (6👍)
6. **知识库2.0** - 增强知识库功能 (5👍, 84💬)
7. **全局搜索增强** - 改进文本搜索和高亮 (5👍)
8. **服务端请求** - 完全服务端处理响应 (5👍)
## 🎯 核心洞察
### 最受用户关注的功能类型:
1. **模型和AI能力扩展** (40%+)
- 新模型支持 (DeepSeek, Claude, Gemini等)
- 思考过程可视化
- 多模型对比
- 实时语音交互
2. **文件和知识管理** (25%)
- 文件上传和处理
- 知识库功能增强
- PDF智能解析
- 文档向量化
3. **用户体验优化** (20%)
- 性能优化(轻量模式)
- 搜索功能增强
- UI/UX改进
- 认证和安全
4. **部署和配置** (15%)
- 服务端配置选项
- 自定义模型提供商
- 环境变量支持
- 云同步
## 📈 趋势观察
1. **CoT模型热度高** - DeepSeek-R1, Claude thinking等思考模型相关需求很多
2. **多模态需求增长** - 图像、语音、文件处理的需求明显
3. **企业部署需求** - 认证、权限、服务端配置等企业级功能需求增加
4. **知识库重要性** - 知识库相关功能讨论热烈(84条评论)
5. **性能关注** - 轻量化、性能优化的需求持续存在
---
**说明**:
- ✅ = 已完成并关闭
- ⏳ = 进行中或待处理
- 👍 = GitHub reactions (+1)
- 💬 = 评论数
@@ -0,0 +1,153 @@
---
title: User Feedback Analysis
description: Statistical analysis of the most requested features by LobeChat users
tags:
- Feature Requests
- User Feedback
- Community
---
# User Feedback Analysis
:::info
This document is automatically generated based on GitHub Issues, showcasing the most requested features by users.
Last Updated: 2025-11-05
:::
## 📊 Overview Statistics
Based on GitHub Issues analysis, there are **1,232** feature requests.
- **Total Feature Requests**: 1,232+
- **Completed**: ~600+
- **In Progress/Pending**: ~600+
## 🔥 TOP 30 Most Requested Features
Sorted by user endorsements (👍):
| Rank | Status | Feature Request | 👍 | 💬 | Issue |
| :--: | :--: | :-------------- | :-: | :-: | :---- |
| 1 | ✅ | gpt-image-1 model usage (Image editing feature) | 20 | 18 | [#7552](https://github.com/lobehub/lobe-chat/issues/7552) |
| 2 | ⏳ | Support for Realtime API (Real-time voice conversation) | 15 | 2 | [#4246](https://github.com/lobehub/lobe-chat/issues/4246) |
| 3 | ✅ | LLM Adaptation (Multi-model support) | 15 | 36 | [#151](https://github.com/lobehub/lobe-chat/issues/151) |
| 4 | ✅ | Support DeepSeek-R1 model with thinking process display | 15 | 7 | [#5528](https://github.com/lobehub/lobe-chat/issues/5528) |
| 5 | ✅ | Custom Embedding model | 12 | 26 | [#3785](https://github.com/lobehub/lobe-chat/issues/3785) |
| 6 | ⏳ | Require auth on database deployment (Forced login) | 11 | 10 | [#4382](https://github.com/lobehub/lobe-chat/issues/4382) |
| 7 | ✅ | Support Azure AI (not Azure OpenAI) | 10 | 40 | [#5628](https://github.com/lobehub/lobe-chat/issues/5628) |
| 8 | ✅ | Support Claude 3.7 Sonnet and extended thinking | 9 | 13 | [#6488](https://github.com/lobehub/lobe-chat/issues/6488) |
| 9 | ✅ | Add file upload feature in chat interface | 8 | 5 | [#1710](https://github.com/lobehub/lobe-chat/issues/1710) |
| 10 | ✅ | Lightweight, effect-free frontend mode for performance | 8 | 12 | [#3728](https://github.com/lobehub/lobe-chat/issues/3728) |
| 11 | ⏳ | Support Gemini API native file upload | 7 | 6 | [#5347](https://github.com/lobehub/lobe-chat/issues/5347) |
| 12 | ✅ | Claude Artifacts (Dual-window display) | 7 | 7 | [#2981](https://github.com/lobehub/lobe-chat/issues/2981) |
| 13 | ✅ | Add model switcher at the top | 6 | 9 | [#1432](https://github.com/lobehub/lobe-chat/issues/1432) |
| 14 | ⏳ | Server-side configuration for custom model providers | 6 | 6 | [#6311](https://github.com/lobehub/lobe-chat/issues/6311) |
| 15 | ⏳ | Add custom model providers via .env during deployment | 6 | 16 | [#6975](https://github.com/lobehub/lobe-chat/issues/6975) |
| 16 | ⏳ | Chat with multiple models simultaneously for comparison | 6 | 9 | [#3122](https://github.com/lobehub/lobe-chat/issues/3122) |
| 17 | ✅ | Disable streaming option | 6 | 7 | [#6491](https://github.com/lobehub/lobe-chat/issues/6491) |
| 18 | ✅ | DeepSeek-R1 web search capability | 6 | 16 | [#5921](https://github.com/lobehub/lobe-chat/issues/5921) |
| 19 | ✅ | Toggle for enabling/disabling stream output | 6 | 21 | [#4820](https://github.com/lobehub/lobe-chat/issues/4820) |
| 20 | ⏳ | Future knowledge base feature requests | 5 | 84 | [#6054](https://github.com/lobehub/lobe-chat/issues/6054) |
| 21 | ⏳ | Add fully server-side request feature | 5 | 11 | [#6375](https://github.com/lobehub/lobe-chat/issues/6375) |
| 22 | ⏳ | Enhance global text search functionality | 5 | 4 | [#7422](https://github.com/lobehub/lobe-chat/issues/7422) |
| 23 | ⏳ | Unified UI Toggles for Provider-Native Tools | 5 | 2 | [#8203](https://github.com/lobehub/lobe-chat/issues/8203) |
| 24 | ⏳ | SYSTEM_AGENT environment variable support | 5 | 3 | [#6437](https://github.com/lobehub/lobe-chat/issues/6437) |
| 25 | ⏳ | Add thinking capability to Claude Sonnet 3.7 on Bedrock | 5 | 5 | [#6596](https://github.com/lobehub/lobe-chat/issues/6596) |
| 26 | ⏳ | Stay at starting position instead of auto-scrolling | 5 | 4 | [#4068](https://github.com/lobehub/lobe-chat/issues/4068) |
| 27 | ✅ | Add support for setting region in vertex ai | 5 | 8 | [#8104](https://github.com/lobehub/lobe-chat/issues/8104) |
| 28 | ✅ | DALL-E3 support | 5 | 23 | [#453](https://github.com/lobehub/lobe-chat/issues/453) |
| 29 | ✅ | Support Anthropic's new native web search API | 5 | 4 | [#7736](https://github.com/lobehub/lobe-chat/issues/7736) |
| 30 | ✅ | Multiple simultaneous conversations | 5 | 9 | [#7863](https://github.com/lobehub/lobe-chat/issues/7863) |
:::tip
✅ = Completed, ⏳ = In Progress/Pending
:::
## 📂 Popular Feature Categories
Based on issue labels:
### Model Provider Related
- **provider:gemini** - Gemini-related features
- **provider:azure** - Azure AI features
- **provider:ollama** - Ollama local models
- **provider:vertex** - Google VertexAI
- **Model Provider** - General model provider configuration
### Feature Types
- **feature:files** - File upload and knowledge base
- **feature:search** - Search functionality
- **feature:tts** - Voice features
- **feature:dalle** - Image generation
- **feature:data-sync** - Data synchronization
### Others
- **⚡️ Performance** - Performance optimization
## 📈 Trend Observations
Based on user feedback data, we observe the following trends:
### 1. **AI Capability Expansion**
Continuous growth in requests for new model support and thinking process visualization. Users want to experience the latest AI model capabilities, including DeepSeek-R1 reasoning display and Claude's extended thinking.
### 2. **Multimodal Interaction**
Significant increase in image, voice, and file processing demands:
- Realtime voice conversation API
- Image editing and generation (gpt-image-1, DALL-E)
- File upload and intelligent processing
### 3. **Enterprise Deployment Needs**
Rising demand for enterprise-level features like authentication, permissions, and server-side configuration:
- Forced authentication
- Unified server-side model provider configuration
- Full server-side request mode
### 4. **Knowledge Base Importance**
High interest in RAG, document processing, and knowledge management. Issue #6054 has 84 discussions, indicating strong user attention to knowledge base features.
### 5. **User Experience Optimization**
Persistent demand for performance optimization and interface improvements:
- Lightweight mode
- Enhanced global search
- Multi-model comparison
- Auto-scroll control
## 🎯 Core Insights
### Most Popular Feature Categories:
**1. Model and AI Capability Expansion (40%+)**
- New model support (DeepSeek, Claude, Gemini, etc.)
- Thinking process visualization
- Multi-model comparison
- Real-time voice interaction
**2. File and Knowledge Management (25%)**
- File upload and processing
- Knowledge base enhancement
- Intelligent PDF parsing
- Document vectorization
**3. User Experience Optimization (20%)**
- Performance optimization (lightweight mode)
- Enhanced search functionality
- UI/UX improvements
- Authentication and security
**4. Deployment and Configuration (15%)**
- Server-side configuration options
- Custom model providers
- Environment variable support
- Cloud synchronization
## 🤝 Get Involved
If you have new feature suggestions, you're welcome to:
- 📝 [Submit a Feature Request](https://github.com/lobehub/lobe-chat/issues/new?template=2_feature_request.yml)
- 💬 Participate in discussions on existing issues
- 👍 Upvote features you're interested in
Your feedback is invaluable in helping us understand user needs and prioritize the most popular features!
@@ -0,0 +1,234 @@
---
title: 用户需求反馈分析
description: LobeChat用户最关注的功能需求统计分析
tags:
- 功能需求
- 用户反馈
- 社区
---
# 用户需求反馈分析
:::info
本文档基于GitHub Issues自动生成,展示用户反馈最多的功能需求。
最后更新: 2025-11-05
:::
## 📊 概览统计
基于GitHub Issues的分析,共有 **1,232** 个功能请求。
- **总功能请求**: 1,232+
- **已完成**: ~600+
- **进行中/待处理**: ~600+
## 🔥 用户反馈最多的功能 TOP 30
以下功能按用户赞同数(👍)排序:
| 排名 | 状态 | 功能需求 | 👍 | 💬 | Issue |
| :--: | :--: | :------- | :-: | :-: | :---- |
| 1 | ✅ | 关于 gpt-image-1 模型使用的问题 (图片编辑功能) | 20 | 18 | [#7552](https://github.com/lobehub/lobe-chat/issues/7552) |
| 2 | ⏳ | Support for Realtime API (实时语音对话) | 15 | 2 | [#4246](https://github.com/lobehub/lobe-chat/issues/4246) |
| 3 | ✅ | LLM 适配 (多模型支持) | 15 | 36 | [#151](https://github.com/lobehub/lobe-chat/issues/151) |
| 4 | ✅ | 支持 DeepSeek-R1 模型,及其思考过程的展示 | 15 | 7 | [#5528](https://github.com/lobehub/lobe-chat/issues/5528) |
| 5 | ✅ | 自定义嵌入模型 Custom Embedding model | 12 | 26 | [#3785](https://github.com/lobehub/lobe-chat/issues/3785) |
| 6 | ⏳ | require auth on database deployment (强制登录) | 11 | 10 | [#4382](https://github.com/lobehub/lobe-chat/issues/4382) |
| 7 | ✅ | 支持Azure AI (不是Azure OpenAI) | 10 | 40 | [#5628](https://github.com/lobehub/lobe-chat/issues/5628) |
| 8 | ✅ | Support Claude 3.7 Sonnet and extended thinking | 9 | 13 | [#6488](https://github.com/lobehub/lobe-chat/issues/6488) |
| 9 | ✅ | 能否增加一个在聊天界面,上传文件的功能 | 8 | 5 | [#1710](https://github.com/lobehub/lobe-chat/issues/1710) |
| 10 | ✅ | 提供一种轻量的,无特效的前端模式,改善性能问题 | 8 | 12 | [#3728](https://github.com/lobehub/lobe-chat/issues/3728) |
| 11 | ⏳ | Support Gemini API native file upload | 7 | 6 | [#5347](https://github.com/lobehub/lobe-chat/issues/5347) |
| 12 | ✅ | Claude Artifacts (双窗口展示) | 7 | 7 | [#2981](https://github.com/lobehub/lobe-chat/issues/2981) |
| 13 | ✅ | 能不能在顶部的模型处加一个切换模型 | 6 | 9 | [#1432](https://github.com/lobehub/lobe-chat/issues/1432) |
| 14 | ⏳ | Server-side configuration for custom model providers | 6 | 6 | [#6311](https://github.com/lobehub/lobe-chat/issues/6311) |
| 15 | ⏳ | Add custom model providers via .env during deployment | 6 | 16 | [#6975](https://github.com/lobehub/lobe-chat/issues/6975) |
| 16 | ⏳ | 同时与多模型对话方便对比各模型回复效果 | 6 | 9 | [#3122](https://github.com/lobehub/lobe-chat/issues/3122) |
| 17 | ✅ | disable streaming option (禁用流式输出) | 6 | 7 | [#6491](https://github.com/lobehub/lobe-chat/issues/6491) |
| 18 | ✅ | 希望deepseek-R1支持联网搜索能力 | 6 | 16 | [#5921](https://github.com/lobehub/lobe-chat/issues/5921) |
| 19 | ✅ | 请求增加一个"是否开启流输出"的按钮 | 6 | 21 | [#4820](https://github.com/lobehub/lobe-chat/issues/4820) |
| 20 | ⏳ | Future knowledge base feature requests | 5 | 84 | [#6054](https://github.com/lobehub/lobe-chat/issues/6054) |
| 21 | ⏳ | Add fully server-side request feature | 5 | 11 | [#6375](https://github.com/lobehub/lobe-chat/issues/6375) |
| 22 | ⏳ | Enhance global text search functionality | 5 | 4 | [#7422](https://github.com/lobehub/lobe-chat/issues/7422) |
| 23 | ⏳ | Unified UI Toggles for Provider-Native Tools | 5 | 2 | [#8203](https://github.com/lobehub/lobe-chat/issues/8203) |
| 24 | ⏳ | SYSTEM_AGENT environment variable support | 5 | 3 | [#6437](https://github.com/lobehub/lobe-chat/issues/6437) |
| 25 | ⏳ | Add thinking capability to Claude Sonnet 3.7 on Bedrock | 5 | 5 | [#6596](https://github.com/lobehub/lobe-chat/issues/6596) |
| 26 | ⏳ | 渲染答案时停留在起始位置而不是自动滚动 | 5 | 4 | [#4068](https://github.com/lobehub/lobe-chat/issues/4068) |
| 27 | ✅ | Add support for setting region in vertex ai | 5 | 8 | [#8104](https://github.com/lobehub/lobe-chat/issues/8104) |
| 28 | ✅ | dall-e3 支持 | 5 | 23 | [#453](https://github.com/lobehub/lobe-chat/issues/453) |
| 29 | ✅ | Support Anthropic's new native web search API | 5 | 4 | [#7736](https://github.com/lobehub/lobe-chat/issues/7736) |
| 30 | ✅ | 多对话同时进行功能请求 | 5 | 9 | [#7863](https://github.com/lobehub/lobe-chat/issues/7863) |
:::tip
✅ 表示已完成,⏳ 表示进行中或待处理
:::
## 📂 热门功能分类
根据issue标签分类的热门功能领域:
### 模型提供商相关
- **provider:gemini** - Gemini相关功能
- **provider:azure** - Azure AI相关功能
- **provider:ollama** - Ollama本地模型
- **provider:vertex** - Google VertexAI
- **Model Provider** - 通用模型提供商配置
### 功能类型
- **feature:files** - 文件上传和知识库
- **feature:search** - 搜索功能
- **feature:tts** - 语音功能
- **feature:dalle** - 图像生成
- **feature:data-sync** - 数据同步
### 其他
- **⚡️ Performance** - 性能优化
## 💡 TOP 10 详细说明
### 1. ✅ 已完成 关于 gpt-image-1 模型使用的问题
- **赞同**: 20 👍
- **讨论**: 18 💬
- **Issue**: [#7552](https://github.com/lobehub/lobe-chat/issues/7552)
- **标签**: `Inactive, feature:dalle`
- **需求**: 希望能有P图片的功能,上传图片,然后对图片根据提示词修改
### 2. ⏳ 进行中 Support for Realtime API
- **赞同**: 15 👍
- **讨论**: 2 💬
- **Issue**: [#4246](https://github.com/lobehub/lobe-chat/issues/4246)
- **标签**: `Inactive`
- **需求**: 支持Realtime API以后可以通过Lobe进行语音对话,可以用于语言学习
### 3. ✅ 已完成 LLM 适配
- **赞同**: 15 👍
- **讨论**: 36 💬
- **Issue**: [#151](https://github.com/lobehub/lobe-chat/issues/151)
- **标签**: `released, Model Provider`
- **需求**: 独立LLM设置Tab,为上层助手角色提供丰富的大模型选项
### 4. ✅ 已完成 支持 DeepSeek-R1 模型,及其思考过程的展示
- **赞同**: 15 👍
- **讨论**: 7 💬
- **Issue**: [#5528](https://github.com/lobehub/lobe-chat/issues/5528)
- **标签**: `released`
- **需求**: DeepSeek-R1的API支持reasoning_content字段来展示思维链内容
### 5. ✅ 已完成 自定义嵌入模型 Custom Embedding model
- **赞同**: 12 👍
- **讨论**: 26 💬
- **Issue**: [#3785](https://github.com/lobehub/lobe-chat/issues/3785)
- **标签**: `provider:ollama`
- **需求**: 支持其他嵌入模型,或者提供模型remap的能力
### 6. ⏳ 进行中 require auth on database deployment
- **赞同**: 11 👍
- **讨论**: 10 💬
- **Issue**: [#4382](https://github.com/lobehub/lobe-chat/issues/4382)
- **标签**: `Inactive`
- **需求**: 当用户未认证时强制显示登录界面,而不是显示完整应用界面
### 7. ✅ 已完成 支持Azure AI (不是Azure OpenAI)
- **赞同**: 10 👍
- **讨论**: 40 💬
- **Issue**: [#5628](https://github.com/lobehub/lobe-chat/issues/5628)
- **标签**: `released, provider:azure`
- **需求**: Azure AI支持DeepSeek模型等非OpenAI的模型
### 8. ✅ 已完成 Support Claude 3.7 Sonnet and extended thinking
- **赞同**: 9 👍
- **讨论**: 13 💬
- **Issue**: [#6488](https://github.com/lobehub/lobe-chat/issues/6488)
- **需求**: 支持Claude 3.7 Sonnet与扩展思考能力
### 9. ✅ 已完成 能否增加一个在聊天界面,上传文件的功能
- **赞同**: 8 👍
- **讨论**: 5 💬
- **Issue**: [#1710](https://github.com/lobehub/lobe-chat/issues/1710)
- **标签**: `Inactive, released, feature:files`
- **需求**: 在聊天界面增加上传文件的功能,方便让AI帮分析上传的文件
### 10. ✅ 已完成 提供一种轻量的,无特效的前端模式,改善性能问题
- **赞同**: 8 👍
- **讨论**: 12 💬
- **Issue**: [#3728](https://github.com/lobehub/lobe-chat/issues/3728)
- **标签**: `⚡️ Performance`
- **需求**: 提供简约轻量的前端界面选项,减少动画特效以改善性能
## 📈 趋势观察
根据用户反馈数据,我们观察到以下趋势:
### 1. **AI能力扩展**
新模型支持、思考过程可视化等需求持续增长。用户希望能够体验最新的AI模型能力,包括DeepSeek-R1的推理展示、Claude的扩展思考等。
### 2. **多模态交互**
图像、语音、文件处理的需求明显增加。包括:
- 实时语音对话API
- 图像编辑和生成 (gpt-image-1, DALL-E)
- 文件上传和智能处理
### 3. **企业部署需求**
认证、权限、服务端配置等企业级功能需求上升:
- 强制认证
- 服务端统一配置模型提供商
- 完全服务端请求模式
### 4. **知识库重要性**
RAG、文档处理、知识管理相关需求热度高,#6054 issue有84条讨论,说明用户对知识库功能非常关注。
### 5. **用户体验优化**
性能优化、界面改进的需求持续存在:
- 轻量化模式
- 全局搜索增强
- 多模型对比
- 自动滚动控制
## 🎯 核心洞察
### 最受用户关注的功能类型:
**1. 模型和AI能力扩展 (40%+)**
- 新模型支持 (DeepSeek, Claude, Gemini等)
- 思考过程可视化
- 多模型对比
- 实时语音交互
**2. 文件和知识管理 (25%)**
- 文件上传和处理
- 知识库功能增强
- PDF智能解析
- 文档向量化
**3. 用户体验优化 (20%)**
- 性能优化(轻量模式)
- 搜索功能增强
- UI/UX改进
- 认证和安全
**4. 部署和配置 (15%)**
- 服务端配置选项
- 自定义模型提供商
- 环境变量支持
- 云同步
## 🤝 参与贡献
如果您有新的功能建议,欢迎:
- 📝 [提交功能请求](https://github.com/lobehub/lobe-chat/issues/new?template=2_feature_request.yml)
- 💬 在已有Issue中参与讨论
- 👍 为您关注的功能点赞
您的反馈对我们非常重要,帮助我们了解用户需求并优先开发最受欢迎的功能!
+122
View File
@@ -0,0 +1,122 @@
# Feature Analysis Workflow
用户需求反馈分析工具 - 分析GitHub Issues中用户最关注的功能需求
## 功能
- 自动获取所有带 `[Request]` 标签的GitHub Issues
- 按用户赞同数(reactions +1)排序
- 生成详细的功能需求分析报告
- 导出JSON格式的数据供进一步分析
## 使用方法
### 运行分析
```bash
# 从项目根目录运行
bun run scripts/featureAnalysisWorkflow/index.ts
```
### 输出文件
运行后会在 `docs/usage/features/` 目录下生成:
1. `user-feedback-analysis.mdx` - Markdown格式的分析报告
2. `feature-requests-data.json` - JSON格式的原始数据
## 配置
可以通过修改 `index.ts` 中的常量来调整:
- `OWNER`: GitHub仓库所有者 (默认: lobehub)
- `REPO`: GitHub仓库名称 (默认: lobe-chat)
- `OUTPUT_DIR`: 输出目录 (默认: docs/usage/features)
- `maxPages`: 获取的最大页数 (默认: 15)
## 环境变量
如果需要提高API限流额度,可以设置GitHub Token:
```bash
export GITHUB_TOKEN=your_github_token
```
## 报告内容
生成的报告包含:
- 📊 概览统计 (总数、已完成、进行中)
- 🔥 TOP 30 最受关注功能列表
- 📂 功能分类统计
- 💡 TOP 10 详细说明
- 📈 趋势观察
## 示例输出
```
🚀 LobeChat 功能需求分析工具
📊 正在获取功能请求数据...
✓ 第 1 页: 获取 100 个请求 (总计: 100)
✓ 第 2 页: 获取 100 个请求 (总计: 200)
...
✓ 总计获取 1232 个功能请求
📊 正在分析数据...
📝 正在生成报告...
✅ 报告已生成:
📄 docs/usage/features/user-feedback-analysis.mdx
📊 docs/usage/features/feature-requests-data.json
=== 数据摘要 ===
总功能请求数: 1232
已完成: 678
进行中: 554
TOP 5 最受关注功能:
1. ✅ 关于 gpt-image-1 模型使用的问题 (20👍)
2. ⏳ Support for Realtime API (15👍)
3. ✅ LLM 适配 (15👍)
4. ✅ 支持 DeepSeek-R1 模型 (15👍)
5. ✅ 自定义嵌入模型 (12👍)
```
## 自动化
可以设置为定期自动运行,例如通过GitHub Actions:
```yaml
name: Feature Analysis
on:
schedule:
- cron: '0 0 * * 0' # 每周日运行
workflow_dispatch: # 允许手动触发
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun run scripts/featureAnalysisWorkflow/index.ts
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: 'docs: update feature analysis report'
```
## 注意事项
- GitHub API有速率限制 (未认证: 60次/小时, 已认证: 5000次/小时)
- 脚本会自动添加延迟避免触发限流
- 建议使用GitHub Token以获得更高的API配额
+273
View File
@@ -0,0 +1,273 @@
import { Octokit } from '@octokit/rest';
import fs from 'fs/promises';
import path from 'path';
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN,
});
const OWNER = 'lobehub';
const REPO = 'lobe-chat';
const OUTPUT_DIR = 'docs/usage/features';
interface FeatureRequest {
number: number;
title: string;
state: string;
reactions: number;
totalReactions: number;
comments: number;
labels: string;
url: string;
createdAt: string;
}
/**
* 获取所有功能请求
*/
async function fetchFeatureRequests(maxPages = 15): Promise<any[]> {
console.log('📊 正在获取功能请求数据...\n');
const allIssues: any[] = [];
const perPage = 100;
for (let page = 1; page <= maxPages; page++) {
try {
const response = await octokit.search.issuesAndPullRequests({
q: `repo:${OWNER}/${REPO} [Request] in:title is:issue`,
sort: 'reactions-+1',
order: 'desc',
per_page: perPage,
page: page,
});
if (response.data.items.length === 0) break;
allIssues.push(...response.data.items);
console.log(` ✓ 第 ${page} 页: 获取 ${response.data.items.length} 个请求 (总计: ${allIssues.length})`);
if (response.data.items.length < perPage) break;
// 避免API限流
await new Promise((resolve) => setTimeout(resolve, 1000));
} catch (error: any) {
console.error(`获取第 ${page} 页时出错:`, error.message);
break;
}
}
console.log(`\n✓ 总计获取 ${allIssues.length} 个功能请求\n`);
return allIssues;
}
/**
* 分析和分类功能请求
*/
function analyzeFeatures(issues: any[]): {
topFeatures: FeatureRequest[];
stats: { total: number; open: number; closed: number };
categories: Map<string, number>;
} {
const topFeatures: FeatureRequest[] = issues.slice(0, 50).map((issue) => ({
number: issue.number,
title: issue.title.replace('[Request] ', ''),
state: issue.state,
reactions: issue.reactions['+1'] || 0,
totalReactions: issue.reactions.total_count || 0,
comments: issue.comments || 0,
labels: issue.labels?.map((l: any) => l.name).join(', ') || '',
url: issue.html_url,
createdAt: issue.created_at,
}));
const stats = {
total: issues.length,
open: issues.filter((i) => i.state === 'open').length,
closed: issues.filter((i) => i.state === 'closed').length,
};
const categories = new Map<string, number>();
issues.forEach((issue) => {
const labels = issue.labels?.map((l: any) => l.name) || [];
labels.forEach((label: string) => {
if (label.startsWith('feature:') || label.startsWith('provider:')) {
categories.set(label, (categories.get(label) || 0) + 1);
}
});
});
return { topFeatures, stats, categories };
}
/**
* 生成Markdown报告
*/
function generateMarkdownReport(data: {
topFeatures: FeatureRequest[];
stats: { total: number; open: number; closed: number };
categories: Map<string, number>;
}): string {
const { topFeatures, stats, categories } = data;
const now = new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });
let md = `---
title: 用户需求反馈分析
description: LobeChat用户最关注的功能需求统计分析
tags:
- 功能需求
- 用户反馈
- 社区
---
# 用户需求反馈分析
<Callout type="info">
本文档基于GitHub Issues自动生成,展示用户反馈最多的功能需求。
最后更新: ${now}
</Callout>
## 📊 概览统计
- **总功能请求**: ${stats.total}
- **已完成**: ${stats.closed}
- **进行中/待处理**: ${stats.open}
## 🔥 用户反馈最多的功能 TOP 30
以下功能按用户赞同数(👍)排序:
`;
// 表格
md += `| 排名 | 状态 | 功能需求 | 👍 | 💬 | Issue |\n`;
md += `| :--: | :--: | :------- | :-: | :-: | :---- |\n`;
topFeatures.slice(0, 30).forEach((f, idx) => {
const status = f.state === 'closed' ? '✅' : '⏳';
const titleShort = f.title.length > 70 ? f.title.substring(0, 67) + '...' : f.title;
md += `| ${idx + 1} | ${status} | ${titleShort} | ${f.reactions} | ${f.comments} | [#${f.number}](${f.url}) |\n`;
});
md += `\n<Callout type="tip">\n`;
md += `✅ 表示已完成,⏳ 表示进行中或待处理\n`;
md += `</Callout>\n\n`;
// 分类统计
md += `## 📂 热门功能分类\n\n`;
const sortedCategories = Array.from(categories.entries())
.sort((a, b) => b[1] - a[1])
.slice(0, 15);
sortedCategories.forEach(([cat, count]) => {
const displayName = cat.replace('feature:', '').replace('provider:', '');
md += `- **${displayName}**: ${count} 个请求\n`;
});
// 详细描述前10
md += `\n## 💡 TOP 10 详细说明\n\n`;
topFeatures.slice(0, 10).forEach((f, idx) => {
const status = f.state === 'closed' ? '✅ 已完成' : '⏳ 进行中';
md += `### ${idx + 1}. ${status} ${f.title}\n\n`;
md += `- **赞同**: ${f.reactions} 👍\n`;
md += `- **讨论**: ${f.comments} 💬\n`;
md += `- **Issue**: [#${f.number}](${f.url})\n`;
if (f.labels) {
md += `- **标签**: \`${f.labels}\`\n`;
}
md += `\n`;
});
// 趋势观察
md += `## 📈 趋势观察\n\n`;
md += `根据用户反馈数据,我们观察到以下趋势:\n\n`;
md += `1. **AI能力扩展** - 新模型支持、思考过程可视化等需求持续增长\n`;
md += `2. **多模态交互** - 图像、语音、文件处理的需求明显增加\n`;
md += `3. **企业部署** - 认证、权限、服务端配置等企业级功能需求上升\n`;
md += `4. **知识库重要性** - RAG、文档处理、知识管理相关需求热度高\n`;
md += `5. **用户体验** - 性能优化、界面改进的需求持续存在\n\n`;
md += `## 🤝 参与贡献\n\n`;
md += `如果您有新的功能建议,欢迎:\n\n`;
md += `- 📝 [提交功能请求](https://github.com/${OWNER}/${REPO}/issues/new?template=2_feature_request.yml)\n`;
md += `- 💬 在已有Issue中参与讨论\n`;
md += `- 👍 为您关注的功能点赞\n`;
return md;
}
/**
* 生成JSON数据文件
*/
function generateJSONData(data: {
topFeatures: FeatureRequest[];
stats: { total: number; open: number; closed: number };
categories: Map<string, number>;
}): string {
return JSON.stringify(
{
generatedAt: new Date().toISOString(),
stats: data.stats,
topFeatures: data.topFeatures,
categories: Object.fromEntries(
Array.from(data.categories.entries()).sort((a, b) => b[1] - a[1]),
),
},
null,
2,
);
}
/**
* 主函数
*/
async function main() {
try {
console.log('🚀 LobeChat 功能需求分析工具\n');
// 1. 获取数据
const issues = await fetchFeatureRequests();
if (issues.length === 0) {
console.log('⚠️ 未获取到任何数据');
return;
}
// 2. 分析数据
console.log('📊 正在分析数据...\n');
const analysis = analyzeFeatures(issues);
// 3. 生成报告
console.log('📝 正在生成报告...\n');
const markdownReport = generateMarkdownReport(analysis);
const jsonData = generateJSONData(analysis);
// 4. 确保输出目录存在
const outputPath = path.join(process.cwd(), OUTPUT_DIR);
await fs.mkdir(outputPath, { recursive: true });
// 5. 保存文件
await fs.writeFile(path.join(outputPath, 'user-feedback-analysis.mdx'), markdownReport, 'utf8');
await fs.writeFile(path.join(outputPath, 'feature-requests-data.json'), jsonData, 'utf8');
console.log(`✅ 报告已生成:\n`);
console.log(` 📄 ${path.join(OUTPUT_DIR, 'user-feedback-analysis.mdx')}`);
console.log(` 📊 ${path.join(OUTPUT_DIR, 'feature-requests-data.json')}\n`);
// 6. 打印摘要
console.log('=== 数据摘要 ===\n');
console.log(`总功能请求数: ${analysis.stats.total}`);
console.log(`已完成: ${analysis.stats.closed}`);
console.log(`进行中: ${analysis.stats.open}\n`);
console.log('TOP 5 最受关注功能:\n');
analysis.topFeatures.slice(0, 5).forEach((f, idx) => {
const status = f.state === 'closed' ? '✅' : '⏳';
console.log(`${idx + 1}. ${status} ${f.title} (${f.reactions}👍)`);
});
} catch (error: any) {
console.error('❌ 错误:', error.message);
process.exit(1);
}
}
main();