Skip to content

Conversation

@encyc
Copy link
Contributor

@encyc encyc commented Dec 30, 2025

变更描述

实现了知识库的文件夹管理功能,支持文件的层级化组织和管理。

主要变更包括:

  1. 后端 :
    • 新增 create_folder 、 move_file 、 delete_folder 等 API 接口。
    • 在 KnowledgeBase 中实现了递归删除和移动时的环路检测逻辑。
    • 更新文件元数据结构,增加 is_folder 和 parent_id 字段。
  2. 前端 :
    • 重构 FileTable 组件,支持树形结构的展示。
    • 实现了文件夹的创建、删除以及拖拽移动文件的交互。
    • FileUploadModal 支持上传文件到指定文件夹。

变更类型

  • 新功能

测试

  • 已在 Docker 环境测试
  • 相关功能正常工作
    相关日志或者截图 (此处可以建议你截图展示一下文件夹的树形结构和拖拽效果)

说明

该功能完全兼容现有的文件结构,平滑支持旧数据(无 parent_id 的文件视为根目录文件)。

添加文件夹创建、移动和删除功能
- 后端添加文件夹相关API和逻辑处理
- 前端实现文件夹树形展示和操作界面
- 支持文件上传到指定文件夹
- 添加拖拽移动文件功能
@encyc
Copy link
Contributor Author

encyc commented Dec 30, 2025

  • 可以创建文件夹
  • 可以拖动文件移动目录
  • 上传文件支持目录选择
image image

@xerrors
Copy link
Owner

xerrors commented Dec 30, 2025

感谢 PR,这个功能感觉社区已经提出很久了~

@encyc
Copy link
Contributor Author

encyc commented Dec 30, 2025

感谢 PR,这个功能感觉社区已经提出很久了~

是已经实现这个功能很久了吗?🥲

这下面显示有错误,但是我不太看得懂是为啥错误。🥲

@xerrors
Copy link
Owner

xerrors commented Dec 30, 2025

不是,想做很久了,一直没做,我晚些时候review一下,下面的红色是样式检查的CI有问题,你可以使用 make format 格式化一下代码后再 commit 一次

@encyc encyc force-pushed the feat/folder-support branch from 57e5982 to 0e44cdb Compare December 30, 2025 13:36
@encyc
Copy link
Contributor Author

encyc commented Dec 30, 2025

不是,想做很久了,一直没做,我晚些时候review一下,下面的红色是样式检查的CI有问题,你可以使用 make format 格式化一下代码后再 commit 一次

格式化并重新提交了,请REVIEW一下,谢谢。

@xerrors
Copy link
Owner

xerrors commented Dec 30, 2025

这个(Ruff Format Check / Ruff Format & Lint (pull_request)Failing after 51s)是CI本身的问题,不用在意,后面我会修复这个流程

@xerrors xerrors self-assigned this Dec 30, 2025
encyc and others added 3 commits December 30, 2025 23:16
添加文件夹创建、移动和删除功能
- 后端添加文件夹相关API和逻辑处理
- 前端实现文件夹树形展示和操作界面
- 支持文件上传到指定文件夹
- 添加拖拽移动文件功能
更新前端文件夹相关图标为更一致的填充样式
修复后端Python代码中的缩进不一致问题
@xerrors xerrors merged commit 295d019 into xerrors:main Dec 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants