Skip to content

feat(knowledge): 支持知识库文件夹重命名 - #417

Open
chujieHong wants to merge 2 commits into
TencentCloud:developfrom
chujieHong:feat/knowledge-folder-rename
Open

feat(knowledge): 支持知识库文件夹重命名#417
chujieHong wants to merge 2 commits into
TencentCloud:developfrom
chujieHong:feat/knowledge-folder-rename

Conversation

@chujieHong

@chujieHong chujieHong commented Aug 25, 2026

Copy link
Copy Markdown
Contributor
  • repo: 新增 rename_document,使用 path_parent + normalize_kb_path 计算新路径, 对文件夹执行基于 substr 的精确前缀匹配(替代 LIKE,避免 _/% 通配符误匹配), 同步重写所有后代文档的 path 字段
  • service: 新增 rename_document,处理权限、名称校验、幂等性与重名冲突, 同名重命名直接返回避免无谓写库
  • api: 新增 POST /{kb_id}/documents/{doc_id}/rename,新增 KNOWLEDGE_NAME_INVALID 错误码(400)与 KNOWLEDGE_NAME_TAKEN 错误码(409)路由映射
  • 前端: KnowledgeBases 文件夹行删除按钮左侧新增重命名按钮(type=text size=small), 弹窗复用 Modal + Input,名称未变时直接关闭、不发请求
  • i18n/locales: 新增 KNOMEDGE_NAME_INVALID 错误消息及重命名成功/失败提示
  • tests: 新增 4 个 repo 测试、5 个 service 测试、2 个 api 错误映射测试, 覆盖后代路径改写、跨根/嵌套文件夹、重名冲突、含分隔符拒绝、幂等、ACL 拒绝

Summary

在知识库新增文件夹重命名功能

image

Target branch

  • Base is develop (feature / fix — default)
  • Base is main (release/* or hotfix/* only)

Type of change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Refactor / chore
  • Release / hotfix

Test plan

  • make all passes locally
  • Added/updated tests

Checklist

  • Updated CHANGELOG.md (if user-facing)
  • README / docs updated (if needed)

- repo: 新增 rename_document,使用 path_parent + normalize_kb_path 计算新路径,
  对文件夹执行基于 substr 的精确前缀匹配(替代 LIKE,避免 _/% 通配符误匹配),
  同步重写所有后代文档的 path 字段
- service: 新增 rename_document,处理权限、名称校验、幂等性与重名冲突,
  同名重命名直接返回避免无谓写库
- api: 新增 POST /{kb_id}/documents/{doc_id}/rename,新增 KNOWLEDGE_NAME_INVALID
  错误码(400)与 KNOWLEDGE_NAME_TAKEN 错误码(409)路由映射
- 前端: KnowledgeBases 文件夹行删除按钮左侧新增重命名按钮(type=text size=small),
  弹窗复用 Modal + Input,名称未变时直接关闭、不发请求
- i18n/locales: 新增 KNOMEDGE_NAME_INVALID 错误消息及重命名成功/失败提示
- tests: 新增 4 个 repo 测试、5 个 service 测试、2 个 api 错误映射测试,
  覆盖后代路径改写、跨根/嵌套文件夹、重名冲突、含分隔符拒绝、幂等、ACL 拒绝
The folder-rename PR accidentally carried SKILL_DETAILS_PROTECTED from an
unrelated feature branch into ErrorCode and _DEFAULT_STATUS without its
i18n entries, failing test_dashboard_api_errors_match_backend and
test_every_error_code_has_i18n_entry in CI. Drop it here; the
published-expert skill-details feature ships it separately with locales.
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.

1 participant