Commit Graph

909 Commits

Author SHA1 Message Date
Wenjie Zhang
82fd5846ea refactor: 命名统一 - db_id/dbId → kb_id/kbId 贯穿后端路由、模型、Schema 及前端 API
- 数据库列: db_id → kb_id (knowledge_bases, knowledge_files, knowledge_chunks, graph 相关表)
- 路由参数: path/query 中的 db_id → kb_id
- Schema 字段: resource_id → kb_id
- 前端 API 参数: dbId → kbId
2026-05-26 17:40:17 +08:00
Wenjie Zhang
1026b1d871 refactor: 评估系统重构 - 支持图检索; 重构 Benchmark 生成与 QuerySection 组件
- 后端: milvus_graph_service 增加图检索能力; benchmark_generation 重构为基于 service 的模式
- 后端: evaluation_service.py 迁移至 knowledge/eval/service.py
- 后端: 简化 milvus.py 实现, 抽离图逻辑到 graph service
- 前端: QuerySection.vue 大幅重构, 支持图检索模式与多视图切换
- 前端: BenchmarkGenerateModal 增加图检索配置选项
- 测试: 新增 service_generation 测试, 更新 benchmark_generation 测试
2026-05-26 17:40:17 +08:00
Wenjie Zhang
b728482d4c feat: 账户设置独立为设置页标签;评估组件 UI 重构与体验优化
- 新增 AccountSettingsComponent,将个人资料编辑从 UserInfoComponent 弹窗迁移至设置页"账户设置"标签
- SettingsModal 新增 initialTab 属性支持指定初始标签,默认标签根据权限智能切换
- AppLayout 移除废弃的 layoutSettings 与 useTopBar 相关逻辑
- RAGEvaluationTab 重构:评估启动改为下拉面板,新增最新评估卡片、进度轮询、Auto Refresh
- 调整次要 UI:主题色微调、文件面板描述移除、上传按钮样式增强
2026-05-26 17:40:17 +08:00
Wenjie Zhang
2938b4e794 feat: 优化技能和资源配置逻辑,支持默认选择当前用户可用的全部资源 2026-05-26 17:40:17 +08:00
Wenjie Zhang
d3979f6e7f chore: 清理无用空行,更新文档
- 移除多余空行(AgentConfigSidebar, FileTable, QuerySection, SkillCardList)
- 更新 roadmap.md 记录评估存储重构和并发数配置
- 更新 evaluation.md 说明 JSONL 仅为交换格式及并发数推荐
- 更新 REFACTOR.md 标记评估重构为已完成
2026-05-26 17:40:17 +08:00
Wenjie Zhang
52b5bff421 feat: DataBaseInfoView 导航改为顶部 tab; ModelSelector 增加搜索; 知识图谱交互优化
- DataBaseInfoView 左侧边栏改为顶部 tab 栏,与移动端布局统一
- ModelSelector 支持搜索过滤和 short/mini 显示模式,移除旧的刷新按钮位置
- 知识图谱面板抽离 toggleBuildPanel/toggleSettingsPanel 方法
2026-05-26 17:40:17 +08:00
Wenjie Zhang
a7f894691e refactor: 评估系统重构 - 前端 API 及评估组件适配
- API 层方法名和路径统一为 dataset/run 语义
- RAGEvaluationTab 重写为全屏面板、支持列宽拖拽
- EvaluationBenchmarks 重写为数据集管理视图
- 生成模态框增加并发数配置;上传模态框适配新接口
2026-05-26 17:40:17 +08:00
Wenjie Zhang
37179e233f fix: 修复 Notion 页面数据源验证逻辑;增加未知父级的异常处理 2026-05-26 17:40:17 +08:00
Wenjie Zhang
3db94eba6d fix: 修复 Tooltip placement 及工具过滤;更新文档
- McpCardList/SkillCardList/SubagentCardList 修复 Tooltip placement
- AgentConfigSidebar 工具选择按 buildin 分类过滤
- roadmap 和 REFACTOR.md 同步更新

Co-authored-by: xerrors <xerrors@qq.com>
2026-05-26 17:40:17 +08:00
Wenjie Zhang
e81b7ae847 refactor: 重构知识库详情页布局,废弃旧组件
- DataBaseInfoView 整体重构为侧边栏标签页布局
  - 新增顶部导航栏(返回、标题、编辑/复制操作)
  - 左侧功能导航(文件管理/检索测试/知识图谱/知识导图/RAG评估)
  - 文件管理面板增加统计卡片(待解析/待入库/总数/进度)
  - 检索配置从弹窗改为侧边内联面板
  - 编辑弹窗支持 Dify/Notion 连接器配置和共享设置
- 移除废弃的 DatabaseHeader.vue 和 KnowledgeBaseCard.vue
- FileTable 移除 rightPanelVisible prop 相关逻辑
- QuerySection 调整间距样式

Co-authored-by: xerrors <xerrors@qq.com>
2026-05-26 17:39:13 +08:00
Wenjie Zhang
5add3a070d feat: 知识图谱状态增加实体/关系数量统计
- KnowledgeGraphRepository 新增 count_by_db_id 方法
- MilvusGraphService.get_status 返回 entity_count 和 relationship_count
- 知识图谱管理面板展示实体与关系计数
- 修复重置按钮在构建中不可见的问题
- 调整默认并发数为 50

Co-authored-by: xerrors <xerrors@qq.com>
2026-05-26 17:39:13 +08:00
Wenjie Zhang
82af923cf1 feat: 知识库工具注册分类体系,ToolsCardList 展示 knowledge 分类
- kbs tools 添加 category=knowledge 和 tags 元数据
- registry 注释补充 knowledge 分类说明
- ToolsCardList 新增 knowledge 分类展示标签

Co-authored-by: xerrors <xerrors@qq.com>
2026-05-26 17:39:13 +08:00
Wenjie Zhang
c342f3e1ee feat: 收紧用户管理部门隔离并重构知识库共享权限
- 普通管理员创建用户时固定归属本部门,用户列表/访问选项/详情/更新/删除均限制在本部门
- share_config 改为三档:global(全局共享)、department(部门共享)、user(指定人可访问)
- 部门共享必须包含当前用户部门,指定人可访问必须包含当前用户
- 前端 ShareConfigForm 重构为三档卡片选择+下拉菜单选人/选部门
- 补充部门隔离和共享权限过滤的集成测试
2026-05-26 17:39:13 +08:00
Wenjie Zhang
5693fdd4a7 feat: 重构知识库注册机制,简化知识库类型注册并添加描述信息 2026-05-26 17:39:13 +08:00
Wenjie Zhang
213a542a87 feat: 新增知识库文档查找和打开工具,优化数据库信息展示 2026-05-26 17:39:13 +08:00
Wenjie Zhang
1a3ec71b2b feat: 新增Notion连接器 2026-05-26 17:39:13 +08:00
Wenjie Zhang
7be27ebc7e docs: 更新重构进度和 roadmap
- 更新 REFACTOR.md 中已完成的任务状态
- 补充 roadmap.md 新增功能记录
- 删除过时的图片资源
2026-05-26 17:39:13 +08:00
Wenjie Zhang
96abe655fc refactor(web): 前端重构,优化配置面板和用户管理
- 新增 SearchConfigPanel 组件,优化检索配置
- 重构 AgentFilePreview,改进编辑体验
- 添加用户管理和部门管理功能
- 优化知识库图谱配置面板
2026-05-26 17:39:13 +08:00
Wenjie Zhang
f1e6bcf6eb refactor: 统一使用 uid 而不是 user_id 2026-05-26 17:39:13 +08:00
Wenjie Zhang
78acc19a88 feat(kb): 新增从工作区导入文件功能,优化图谱配置面板与并发上限
- 后端新增 /files/import-workspace 接口,将工作区文件上传至 MinIO 并返回预处理结果
- 后端新增 resolve_workspace_file_path 工具函数,校验文件存在性与类型
- 前端 FileUploadModal 新增工作区文件选择模式,支持目录浏览与多选文件
- 前端 knowledge_api 新增 importWorkspaceFiles API
- 图谱抽取器并发上限从 20 提升至 1000
- 图谱配置面板浮动层级与样式微调(阴影、边框、告警文案精简)
- 知识库类型 milvus 标签颜色从 red 改为 blue
- 新增工作区导入后端单元测试
2026-05-26 17:39:12 +08:00
Wenjie Zhang
1344ae3f69 style(web): 微调工具调用折叠栏与文件表格样式,更新登录背景图
- 工具调用折叠栏简化按钮样式,调整缩进与间距
- ListKbsTool 紧凑内边距
- BaseToolCall loader 颜色调整
- FileTable 溢出菜单宽度统一
2026-05-26 17:39:12 +08:00
Wenjie Zhang
47d2afb3b8 feat(web): 图谱配置面板重构为卡片式抽取器选择,支持 Schema 与并发配置
- 抽取器类型改为卡片式选择,未配置时在图谱画布上显示配置入口
- LLM 抽取器支持 Schema 约束、并发队列数和模型参数 JSON
- 已锁定配置允许修改同类型参数,类型本身保持锁定
- GraphCanvas 修复 resize 时尺寸为零的问题,resize 后延迟 fitView
- 索引管理面板增加刷新按钮与修改配置入口
2026-05-26 17:39:12 +08:00
Wenjie Zhang
409df5b073 feat(kb): 新增检索配置、图种子查询、实体/三元组搜索与融合检索
- 新增 MilvusRetrievalConfig 数据类,支持向量/关键词/混合/图检索参数化配置
- 新增 query_seed_subgraph 和图检索融合逻辑
- MilvusGraphVectorStore 新增 search_entities/search_triples
- MilvusGraphService.get_status 支持构建任务状态与进度查询
- cypher 语句增加 entity_id/triple_id 属性
- 前端 KnowledgeGraphSection 和 SearchConfigModal 适配新配置
- 新增 igraph 依赖
2026-05-26 17:39:12 +08:00
Wenjie Zhang
6225310600 feat(kb): 新增知识图谱向量存储、文件大小补全及前端重构
- 新增 MilvusGraphVectorStore 和 KnowledgeGraphRepository
- 新增文件大小从 MinIO 补全的逻辑(上传时 + 启动时)
- 重构 FileTable、GraphDetailPanel、KnowledgeGraphSection 等前端组件
- 新增文件大小回退测试和 kb_utils 测试
- 优化 file_utils 工具函数
- 更新 roadmap 文档
2026-05-26 17:39:12 +08:00
Wenjie Zhang
a0f9b0b6fd feat(kb):新增知识库文件管理功能
- 更新了 KnowledgeBaseManager 以支持新的文件管理方法。
- 在 workspace_router 中为知识库文件操作新增了端点,包括文件树列表、文件预览和文件下载。
- 在 workspace_api.js 中添加了相应的 API 调用,用于知识库交互。
- 增强了 AgentFilePreview 组件,支持预览变体之间的切换。
- 更新了导航逻辑,重定向至知识管理标签页,而非数据库视图。
- 修改了 WorkspaceView 以处理知识库条目和预览,包括加载和展示知识文件。
- 通过在文件操作期间提供加载与错误状态的反馈,改善了用户体验。
2026-05-26 17:39:12 +08:00
Wenjie Zhang
fa2497e439 refactor: 更新配置和权限逻辑,移除过时参数,优化用户信息组件的下拉触发方式 2026-05-26 17:39:12 +08:00
Wenjie Zhang
e3c5f41c7c refactor: 知识库重新设计
- 默认的知识库类型新增图谱抽取能力
- 移除 LightRAG 以及原有的知识图谱支持
- 移除所有兼容性的代码
2026-05-26 17:39:12 +08:00
Wenjie Zhang
25b80c7d3a refactor: 重构 Chunk 逻辑,异步部分参数 2026-05-26 17:39:12 +08:00
supreme0597
caab251f02 fix(skill): 异步化删除目录防阻塞并限制批量删除上限以避免超时 2026-05-25 23:35:00 +08:00
Wenjie Zhang
43a23e2e88
Merge branch 'main' into feat/skills-remote-install 2026-05-25 21:37:07 +08:00
supreme0597
f024524b4e fix(mention): 解决新建会话未对话时输入@无法检索工作区文件的问题 2026-05-25 21:11:41 +08:00
supreme0597
9dcd8fdaa7 fix(mention): 解决新会话中@提及无法激活问题,引入Redis缓存一致性失效闭环 2026-05-25 21:11:41 +08:00
supreme0597
6b29f659e5 feat: 修复 @ mention 搜索漏洞并重构优化 AgentPanel 自动打开策略
1. 修复 mention_router 中的 IDOR 越权安全漏洞,加入 thread 归属权校验,定义强类型 Pydantic Schema。
2. 修复 mention_search_service 中 ensure_thread_dirs 的 GET 副作用、空 Query 扫描和 MAX_SEARCH_DEPTH 深度问题,使用标准 Base64 编解码。
3. 增加前端 mention_api.js 参数的安全兜底。
4. 重构 AgentPanel 自动展开策略,彻底解决大仓库克隆时的卡死问题:
   - 将 fetchThreadFiles 改为 recursive=false 避免递归大目录。
   - 重构为只有在发生显性的物理文件写入(用户上传附件成功、用户保存交付件到工作区成功)的回调中才精准触发侧边栏自动展开,完美契合用户心智模型与性能诉求。
5. 精简 roadmap.md 文档,更新相关单元测试。
2026-05-25 21:11:41 +08:00
supreme0597
d0c60d9d82 feat(mention): 优化@提及搜索排序与高亮展示,修复唤醒交互及路径硬编码问题 2026-05-25 21:11:20 +08:00
Wenjie Zhang
575c34b160 feat: 将kb 从沙盒映射中移除,取而代之的是一个新的 Open 工具,可以提供自由且可控的文件访问 2026-05-25 21:10:05 +08:00
Wenjie Zhang
86f92f7f3f feat(doc): 更新 MinerU 解析器参数,修改 Docker 配置,优化文档说明 2026-05-25 21:08:37 +08:00
supreme0597
3870dc18a0 feat(web): 添加 SVG 操作按钮(复制 SVG 源码/复制为 PNG)及事件委托
- svgRenderer.js 输出中嵌入 .svg-actions 操作按钮
- MarkdownPreview.vue 添加事件委托处理复制逻辑
- PNG 尺寸策略:viewBox 固有坐标 → getBoundingClientRect → 800x600
- Canvas 不强制填充背景色,由 SVG 自身决定
- 深色模式适配
2026-05-25 21:08:37 +08:00
supreme0597
6d626ab908 feat(web): 添加 SVG 响应式容器样式到 MarkdownPreview
- 添加 .svg-inline-render 响应式容器样式
- 深色模式半透明背景支持
2026-05-25 21:08:37 +08:00
supreme0597
b31776e405 feat(web): 在 renderMarkdown 中集成 SVG 渲染(DOMPurify 默认已支持 SVG)
- 导入 renderSvgBlocks() 并在 markdown-it 渲染前调用
- cacheKey 基于 SVG 转换后的内容,保证缓存一致性
- DOMPurify 配置保持不变(默认白名单已支持 SVG)
2026-05-25 21:08:37 +08:00
supreme0597
73041775d4 feat(web): 添加 SVG 代码块预处理工具函数(行级解析,支持围栏变体)
- 新增 svgRenderer.js,实现 renderSvgBlocks() 函数
- 支持反引号/波浪线围栏、大小写不敏感、围栏属性等变体
- 流式安全:不完整 SVG 块保持原样
- SVG 内容压缩为单行,防止 markdown-it HTML 块截断
- 新增 15 个单元测试覆盖所有场景
2026-05-25 21:08:37 +08:00
supreme0597
df08fea2b8 feat(skills): 支持远程安装搜索、仓库历史记录与批量删除
- 后端新增全局搜索 skills.sh API (POST /system/skills/remote/search)
- 后端新增批量删除接口 (POST /system/skills/delete-batch),使用行锁防并发
- skill_repository.get_by_slug 支持 for_update 参数
- 前端远程安装弹框重构:Tab 双视图(按仓库拉取/全局搜索)、分页列表
- 前端仓库输入框新增历史记录功能(localStorage 持久化),支持逐条/批量清空
- 前端批量管理模式:全选/反选/清空 + 二次确认批量删除
- 修复 dropdown overlay teleport 到 body 导致 scoped CSS 无法穿透的样式问题
- 补充批量删除及并发锁单元测试
2026-05-25 17:54:58 +08:00
supreme0597
3082d9808e Merge remote-tracking branch 'origin/dev' into supreme/feat/svg-render 2026-05-23 19:20:05 +08:00
supreme0597
27fb208c81 fix(mention): 解决新建会话未对话时输入@无法检索工作区文件的问题 2026-05-22 13:28:53 +08:00
supreme0597
f4f6ff29e2 fix(mention): 解决新会话中@提及无法激活问题,引入Redis缓存一致性失效闭环 2026-05-22 13:15:46 +08:00
supreme0597
469e362506 feat: 修复 @ mention 搜索漏洞并重构优化 AgentPanel 自动打开策略
1. 修复 mention_router 中的 IDOR 越权安全漏洞,加入 thread 归属权校验,定义强类型 Pydantic Schema。
2. 修复 mention_search_service 中 ensure_thread_dirs 的 GET 副作用、空 Query 扫描和 MAX_SEARCH_DEPTH 深度问题,使用标准 Base64 编解码。
3. 增加前端 mention_api.js 参数的安全兜底。
4. 重构 AgentPanel 自动展开策略,彻底解决大仓库克隆时的卡死问题:
   - 将 fetchThreadFiles 改为 recursive=false 避免递归大目录。
   - 重构为只有在发生显性的物理文件写入(用户上传附件成功、用户保存交付件到工作区成功)的回调中才精准触发侧边栏自动展开,完美契合用户心智模型与性能诉求。
5. 精简 roadmap.md 文档,更新相关单元测试。
2026-05-22 12:30:22 +08:00
supreme0597
261ea88b11 fix(mention): 修复普通用户无法在聊天中唤出技能与MCP提及列表的Bug
原因:
1. 后端接口 GET /api/system/skills 与 GET /api/system/mcp-servers 之前被权限校验拦截。
2. 前端本地在调用拉取技能和MCP服务底集的方法时,前置调用了 apiAdminGet 会在本地硬性拦截非管理员权限的用户,导致请求被掐断并静默兜底返回空数组。

修改:
1. 后端放开此二接口路由为低特权只读访问,且对 MCP 服务器的敏感连接信息(如 url、command、args、env、headers)在 user 角色拉取时执行强力脱敏过滤,并补充相关单元测试。
2. 前端将 listSkills 与 getMcpServers 从 apiAdminGet 调整为 apiGet,绕过本地硬拦截。
3. 维护 roadmap.md 进度记录。
2026-05-22 00:23:18 +08:00
supreme0597
65135e2f93 feat(mention): 优化@提及搜索排序与高亮展示,修复唤醒交互及路径硬编码问题 2026-05-21 23:44:56 +08:00
Wenjie Zhang
8e17f44ec2 feat: 将kb 从沙盒映射中移除,取而代之的是一个新的 Open 工具,可以提供自由且可控的文件访问 2026-05-17 01:58:04 +08:00
Wenjie Zhang
0e174a3ba8 feat(doc): 更新 MinerU 解析器参数,修改 Docker 配置,优化文档说明 2026-05-17 01:58:04 +08:00
supreme0597
43f2f2bb28 feat(web): 添加 SVG 操作按钮(复制 SVG 源码/复制为 PNG)及事件委托
- svgRenderer.js 输出中嵌入 .svg-actions 操作按钮
- MarkdownPreview.vue 添加事件委托处理复制逻辑
- PNG 尺寸策略:viewBox 固有坐标 → getBoundingClientRect → 800x600
- Canvas 不强制填充背景色,由 SVG 自身决定
- 深色模式适配
2026-05-15 11:40:24 +08:00