huangjianwu
6090982261
docs: 更新 README 至 v2.0.0,补充新功能说明和 Docker 部署方式
...
- 版本号升级为 2.0.0(README、tauri.conf.json、about 页面)
- 新增 v2.0.0 功能说明:RAG 问答、Function Calling、封面 Banner、面板折叠等
- Docker 部署改为推荐方式,支持 docker pull 预构建镜像
- 补充源码部署为方式二,修正前端访问端口为 3015
- 更新功能特性列表,补充快手、AI 问答等新功能
- TODO 标记 RAG 问答为已完成
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 17:52:30 +08:00
Jianwu Huang
5861ef4168
Merge pull request #300 from JefferyHcool/feature/ui-optimize
...
feat(ui): 工作区和生成历史面板支持折叠/展开
2026-03-23 16:12:32 +08:00
huangjianwu
27758f95dd
feat(ui): 工作区和生成历史面板支持折叠/展开
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 16:09:57 +08:00
Jianwu Huang
a2ab457f75
Merge pull request #299 from JefferyHcool/feature/note-qa-chat-optimize
...
Feature/note qa chat optimize
2026-03-23 16:00:15 +08:00
huangjianwu
795615f0f7
fix(ui): 修复 Banner 封面图不显示
...
MarkdownViewer 的 baseURL 去掉了 /api 前缀,导致
image_proxy 请求路径错误。改为组件内部直接读取
VITE_API_BASE_URL,与 NoteHistory 保持一致。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:59:02 +08:00
huangjianwu
c46c971e64
fix(ui): Banner 封面通过后端代理加载,移除来源链接模块
...
- 封面图通过 /image_proxy 代理请求,解决 B 站等 CDN 跨域问题
- 渲染 markdown 时过滤掉开头的「来源链接」行,
该信息已由 VideoBanner 的「原视频」按钮替代
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:56:48 +08:00
huangjianwu
55cc3bcd63
feat(ui): 笔记顶部新增视频封面 Banner
...
- 视频封面做模糊暗色背景,上方叠加视频信息
- 显示视频标题、作者/UP主、平台
- 右侧「原视频」按钮跳转原始链接
- 无封面时降级为渐变背景
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:54:36 +08:00
huangjianwu
05877a2197
feat(chat): 支持 function calling,模型可主动查询原文数据
...
新增三个工具供 LLM 调用:
- lookup_transcript: 查询转录原文(按时间范围、关键词、位置筛选)
- get_video_info: 获取视频元信息(标题、作者、简介、标签等)
- get_note_content: 获取完整笔记 Markdown 内容
实现 tool calling 循环(最多 3 轮),LLM 可根据问题
主动调用工具获取所需信息,不再完全依赖 RAG 检索。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:48:23 +08:00
huangjianwu
3e9f908d7b
fix(chat): 按固定配额检索,确保三种来源均被召回
...
之前各来源各取 n_results 条再按距离排序取 top-n,
markdown 距离普遍更近导致 transcript 被挤掉。
改为固定配额:meta 1 条、markdown 2 条、transcript 3 条。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:44:25 +08:00
huangjianwu
8a8e448e22
feat(chat): 索引视频元信息(标题、作者、简介、标签等)
...
- 新增 _build_meta_chunk,将 audio_meta 中的标题、UP主、
简介、标签、时长、平台、链接等构建为可检索的 chunk
- query 时同时从 meta/markdown/transcript 三种来源检索
- is_indexed 检测旧索引缺少 meta 时返回 false,自动触发重建
- system prompt 新增 [视频信息] 来源说明
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:41:07 +08:00
huangjianwu
a92c779dd6
fix(chat): RAG 检索同时召回笔记和转录内容
...
之前 query 只做一次全局检索,embedding 模型倾向匹配笔记,
导致转录原文几乎不会被召回。
- 改为分别对 markdown 和 transcript 各检索 n_results 条,
合并后按距离排序取 top-n
- 更新 system prompt,明确区分笔记和转录两种来源,
引导 LLM 根据问题类型选择合适的来源回答
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:35:31 +08:00
huangjianwu
ef1dec1e47
feat(chat): AI 回复支持 Markdown 渲染
...
通过 Bubble role 的 contentRender 使用 ReactMarkdown
渲染 AI 回复内容,支持列表、加粗、代码块等格式。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:31:55 +08:00
huangjianwu
fea376d1cb
fix(chat): 修复 avatar 传对象导致 React 渲染报错
...
avatar 属性类型是 ReactNode,不是 props 对象,
改为直接传 JSX 元素作为头像。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:30:15 +08:00
huangjianwu
b18277a3a0
fix(chat): 修复消息气泡左右布局不生效
...
- Bubble.List 的角色配置属性名是 role(单数)而非 roles
- 用户消息:右侧蓝色填充气泡 + 蓝色头像
- AI 回复:左侧描边气泡 + 灰色头像
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:29:09 +08:00
huangjianwu
d8fbceaadf
refactor(chat): 全屏/半屏切换移入 ChatPanel 内部
...
- Header 恢复单个"AI 问答"按钮,点击默认打开半屏模式
- ChatPanel 头部新增全屏/半屏切换按钮(Maximize2/Minimize2 图标)
- 半屏:markdown 与问答并排各占一半
- 全屏:问答占满内容区,隐藏 markdown
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:23:55 +08:00
huangjianwu
dea393e713
feat(chat): 问答面板支持半屏和全屏两种模式
...
- 半屏模式:ChatPanel 与 markdown 各占一半并排显示
- 全屏模式:ChatPanel 占满整个内容区域,隐藏 markdown
- Header 新增两个按钮(问答 / 全屏问答),点击切换,再次点击关闭
- 当前激活的模式按钮高亮显示
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:20:07 +08:00
huangjianwu
ae2bfe4d0a
fix(chat): 修复 ChatPanel 不显示的布局问题
...
- ChatPanel 容器添加 h-full shrink-0 确保有高度且不被压缩
- ScrollArea 从 w-full 改为 flex-1 min-w-0,为 ChatPanel 让出空间
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 15:15:14 +08:00
huangjianwu
2f2eb646a4
fix(chat): 索引改为后台异步执行,前端轮询状态并展示进度提示
...
后端:
- /chat/index 改为 BackgroundTasks 异步执行,立即返回
- /chat/status 返回细粒度状态(idle/indexing/indexed/failed)
- 内存追踪索引进度,避免重复触发
前端:
- ChatPanel 每 2 秒轮询索引状态,索引完成后自动停止
- 索引中显示"正在索引笔记内容..."及首次下载模型提示
- 索引失败显示重试按钮
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 14:46:37 +08:00
huangjianwu
fdc888512a
fix(chat): 修复 ChromaDB 1.x 兼容性问题导致索引失败
...
- ChromaDB 1.x delete/get 不存在的 collection 抛 NotFoundError
而非 ValueError,统一改为 except Exception
- 简化 _collection_name,UUID 格式本身就是合法的 collection name
- requirements.txt 放宽 chromadb 版本约束
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 14:43:57 +08:00
huangjianwu
3cd4c749c1
fix(chat): 修复 ChatPanel 无限重渲染导致的 Maximum update depth exceeded
...
- useTaskStore 选择器内调用 getCurrentTask() 每次返回新对象引用,
改为分别选取 currentTaskId + tasks 后用 useMemo 派生
- chatHistory[taskId] || [] 在选择器内每次创建新空数组引用,
改为选择器返回原始值,外部用 ?? [] 兜底
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 14:40:47 +08:00
huangjianwu
efadbc267d
feat(chat): 基于 RAG 的笔记内容 AI 问答功能
...
实现类似 Google NotebookLM 的效果:笔记生成后自动向量化,
用户可针对笔记内容进行 LLM 问答。
### 后端
- 新增 VectorStoreManager(ChromaDB),按标题/转录分块建立向量索引
- 新增 chat_service.py RAG 问答:检索相关片段 → 构建 prompt → 调用 LLM
- 新增 /chat/index, /chat/ask, /chat/status API 端点
- 笔记生成完成后自动建立向量索引
### 前端
- 使用 @ant-design/x Bubble.List + Sender 组件构建聊天面板
- 新增 chatStore(Zustand + persist)持久化聊天记录
- MarkdownViewer 右侧嵌入 ChatPanel,通过"AI 问答"按钮切换
- 首次打开自动检查/触发索引,支持重新索引
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 14:38:39 +08:00
Jianwu Huang
63b8ac7e2b
Merge pull request #298 from JefferyHcool/bugfix/performance-and-transcriber-config
...
fix: 性能优化、前端转写器配置、任务进度丢失及 MLX Whisper 回退问题修复
2026-03-23 14:23:03 +08:00
huangjianwu
c105342ded
fix: 性能优化、前端转写器配置、任务进度丢失及 MLX Whisper 回退问题修复
...
### 性能优化
- 后端任务执行从串行锁改为 ThreadPoolExecutor 并发执行(默认3线程)
- 添加 GZipMiddleware 响应压缩 + Nginx gzip 配置
- 数据库连接池参数优化(pool_size=10, max_overflow=20)
- 视频帧提取并行化(ThreadPoolExecutor)
- LLM 重试配置缓存到实例,避免每次请求读 env var
- 前端路由级代码拆分(React.lazy + Suspense)
- Vite manualChunks 拆分 markdown/markmap/vendor
- MarkdownViewer 用 React.memo + useMemo 减少不必要渲染
- NoteHistory Fuse.js 实例 useMemo 缓存
- useTaskPolling 无待处理任务时跳过轮询
- 移除 antd 依赖(NoteForm Alert、modelForm Tag),改用 shadcn/ui
### 前端转写器配置(新功能)
- 新增 TranscriberConfigManager(JSON 文件存储,替代环境变量)
- 新增 GET/POST /transcriber_config API 端点
- 新增 GET /transcriber_models_status 模型下载状态查询
- 新增 POST /transcriber_download 后台模型下载触发
- 前端转写器设置页面:引擎选择、模型大小选择、模型下载管理
- deploy_status 端点同步从配置文件读取
### Bug 修复
- 修复任务进行中切换页面后进度丢失:Home.tsx status 派生逻辑补全中间状态
- 修复 MLX Whisper 静默回退 fast-whisper:移除环境变量门控,macOS 下自动尝试导入
- MLX Whisper 不可用时抛出 RuntimeError 而非静默回退
- 前端展示 MLX Whisper 可用性状态,不可用时禁用保存
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-23 14:09:34 +08:00
huangjianwu
1cd8c33983
feat(note): 在笔记开头添加来源链接功能
2026-03-23 13:18:40 +08:00
Jianwu Huang
dd73e56c30
Merge pull request #273 from Sjshi763/Sjshi763/issue259
...
添加 Docker 构建工作流
2026-03-20 16:51:16 +08:00
Jianwu Huang
4a53b6aa32
Merge pull request #279 from CyanAutumn/master
...
🐞 fix: 增加错误之后对已解析段落的缓存功能,再次重试时不再重头开始
2026-03-20 16:50:52 +08:00
Jianwu Huang
15d851f0d0
Merge branch 'master' into master
2026-03-20 16:50:43 +08:00
Jianwu Huang
8172e64510
Merge pull request #275 from sibuchen/feature/deployment-monitor-clean
...
feat: 新增部署监控页面 (Deployment Monitor)
2026-03-20 16:49:46 +08:00
Jianwu Huang
7969d9a75c
Merge pull request #283 from wanderer99176/fix-timestamp-format
...
再次优化 B站时间戳跳转格式
2026-03-20 16:49:13 +08:00
wanderer99176
7fb4fcba77
fix: update bilibili timestamp link format to - [MM:SS](URL#t=MM:SS)
2026-02-25 11:57:16 +08:00
CyanAutumn
d9a7b89e7d
🐞 fix: 增加错误之后对已解析段落的缓存功能,再次重试时不再重头开始
...
解析长视频时,当附件大小过大时不再调用后进行报错,而是将附件进行分批次发送
在每篇笔记开头默认增加地址来源链接,对模糊处可溯源
2026-02-12 18:28:11 +08:00
sibuchen
8cd8c6f7b4
feat: add deployment monitor page
...
- Add /deploy_status API endpoint for system status check
- Create Monitor.tsx component with real-time status display
- Support CUDA, FFmpeg, Whisper model status monitoring
- Auto-refresh every 30 seconds with manual refresh option
2026-02-06 16:15:11 +08:00
圣达生物多
769aca10db
添加 Docker 构建工作流和完整应用镜像的 Dockerfile
2026-02-05 21:34:57 +08:00
Jianwu Huang
7b45db2f59
Update README.md
2026-02-05 16:50:51 +08:00
Jianwu Huang
a5f0211fcb
Merge pull request #262 from Sjshi763/Sjshi763/issue232
...
[BUG] 已经把ffmpeg加入到系统变量path了 还是检测不出来 ?
2026-02-05 16:05:03 +08:00
Jianwu Huang
658d29e72f
Merge pull request #268 from nbzcy/feature/subtitle-priority-and-export-enhancements
...
feat: Add subtitle priority fetching and enhance mindmap export
2026-02-05 16:04:38 +08:00
Jianwu Huang
2b3f850478
Merge pull request #271 from kxuer/master
...
修复哔哩哔哩视频原片url问题
2026-02-05 16:04:23 +08:00
xuerk
caa4619aab
修复哔哩哔哩视频原片url问题
2026-02-05 15:41:04 +08:00
sunnyclubcn
85b24dee40
feat: Add subtitle priority fetching and enhance mindmap export
...
## Subtitle Priority (Backend)
- Add download_subtitles() method to base downloader
- Implement Bilibili subtitle fetching with cookies support
- Implement YouTube subtitle fetching
- Support SRT and JSON3 format parsing
- Prioritize platform subtitles over Whisper transcription
## Mindmap Export Enhancements (Frontend)
- Add SVG vector export with proper viewBox handling
- Add XMind format export with Chinese character encoding fix
- Fix PNG/SVG export to capture full content by calling fit() before export
- Add JSZip dependency for XMind export
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 17:12:14 +08:00
Sjshi763
844e1a102a
[BUG] 已经把ffmpeg加入到系统变量path了 还是检测不出来 ?
...
Fixes #232
2026-01-03 14:57:42 +08:00
Jianwu Huang
10311c1438
Merge pull request #192 from HansYeoh/export-mind-map
...
Add an export mind map button to support exporting HTML and PNG.
2025-10-18 10:00:19 +08:00
Jianwu Huang
3a0f86e74e
Merge pull request #193 from HansYeoh/allow-all-domains
...
Modify to allow access from all domains
2025-10-18 09:59:58 +08:00
Jianwu Huang
208aed41a1
Merge pull request #217 from MgAlNa3PO4/master
...
修复了docker部署当中前端页面图片显示异常的问题
2025-10-18 09:59:35 +08:00
userName
6e385b8d75
Fixed the problem of abnormal display of front-end page pictures in docker deployment
2025-09-06 16:17:32 +08:00
userName
9ba895fa8d
Fixed the problem of abnormal display of front-end page pictures in docker deployment
2025-09-06 16:10:42 +08:00
Jianwu Huang
df72fa9366
Merge pull request #194 from Paper-Dragon/fixed_local_video
...
Refine local video form validation and update Docker configuration
2025-07-18 10:00:29 +08:00
Yang Han
6d077a4ed3
Update vite.config.ts
...
Modify to allow access from all domains
2025-07-17 01:29:59 +08:00
Yang Han
b1b0e87d85
Update MarkmapComponent.tsx
...
Add an export mind map button to support exporting HTML and PNG.
2025-07-17 01:27:33 +08:00
Yang Han
7d325517b3
Update MarkdownViewer.tsx
...
Add an export mind map button to support exporting HTML and PNG.
2025-07-17 01:27:09 +08:00
Paper-Dragon
dc29319a3e
Refine form validation and update Docker configuration
2025-07-09 13:34:26 +08:00