Commit Graph

536 Commits

Author SHA1 Message Date
Wenjie Zhang
13d31cfb37 fix: 保留文本块原始空格并优化块合并逻辑
修复kb_utils.py中文本块内容被意外去除空格的问题
优化chunkUtils.js中块合并逻辑,当无重叠时添加换行符
2025-11-30 17:00:42 +08:00
miluELK
103b3affee feat:为kb的download_document,add_documents,delete_document操作接口使用了minio管理文件。实现了minio的部分异步操作
debug:minio 7.2.19使用时需要显式指定参数
feat:为excel添加了特殊的处理方式,通过保存表头避免chunk丢失信息,需要安装openpyxl
2025-11-29 17:49:42 +08:00
Wenjie Zhang
18f641ea39 refactor(mineru_parser): 修复 zip 解析的 bug
移除对 base64 编码 ZIP 数据和 JSON 格式响应的支持,直接处理响应内容
添加调试日志记录响应状态和内容类型
优化错误处理日志记录
2025-11-27 13:18:42 +08:00
Wenjie Zhang
e369f751ad feat(mineru_parser): 添加对docker 部署的mineru ZIP格式响应和图片解析的支持
添加对MinerU解析器返回ZIP格式响应的处理逻辑,支持包含图片的文档解析。同时从环境变量读取MINERU_VL_SERVER配置,替代直接使用参数中的server_url,提高配置安全性。
2025-11-27 12:41:28 +08:00
Wenjie Zhang
18d46ca04a feat(文档解析): 新增Word文档图片解析支持并上传至MinIO
新增对Word文档中图片的解析支持,能够提取文档中的图片并上传至MinIO存储,同时生成包含图片链接的Markdown格式文本。已支持Docx格式的Word文档处理,完善了文档解析功能。
2025-11-26 18:14:07 +08:00
Wenjie Zhang
0ff771dc19 fix: 禁用URL文档上传与解析功能
出于安全考虑,移除所有URL文档上传与解析相关功能:
1. 在知识库路由层添加URL上传校验
2. 移除URL元数据生成逻辑
3. 禁用URL转markdown功能
4. 在各知识库实现中移除URL处理逻辑
5. 在前端禁用URL上传选项并添加提示
2025-11-23 14:57:38 +08:00
Wenjie Zhang
9c7a5fb4ec docs: 添加GitHub问题模板和PR模板 2025-11-20 22:30:17 +08:00
Wenjie Zhang
2047170540 feat: 新增 dashscope rerank/embeddings 模型支持并重构 reranker 基类 #341
- 在 models.py 中添加 dashscope 的 text-embedding-v4 和 gte-rerank-v2/qwen3-rerank 模型配置
- 重构 reranker 模块,提取 BaseReranker 抽象基类并实现 OpenAIReranker 和 DashscopeReranker
- 在 embed.py 中优化错误提示信息并统一测试连接方法
- 更新 roadmap.md 文档记录新增功能
2025-11-17 23:04:43 +08:00
Wenjie Zhang
292237e5e2 feat(mineru_official_parser): 基于mineru官方API的接口新增图片自动上传到文件数据库。 2025-11-17 17:08:53 +08:00
Wenjie Zhang
9a8f1c4ae3 feat(model): 添加自定义模型支持(Fix #304) 2025-11-16 21:24:26 +08:00
Wenjie Zhang
7db4071ec8 docs: 修改版本信息以及windows下的镜像拉取问题 2025-11-15 20:55:04 +08:00
Wenjie Zhang
14bcb29d5b
重构 zip 格式 markdown 入库以及其他风格优化 (#336)
* 更新日志


* refactor(docs): 重构 zip 格式的支持逻辑

---------

Co-authored-by: lihuan-coder <1120083712@qq.com>
2025-11-15 12:18:31 +08:00
Wenjie Zhang
0d20cf66db feat(agent): 添加智能体工作状态显示功能
实现智能体工作状态的实时显示,包括任务列表和文件管理功能
- 在 DeepAgent 中添加 todo 和 files 能力支持
- 新增 AgentPopover 组件展示工作状态
- 修改聊天界面添加状态显示按钮
- 更新服务端状态提取逻辑
- 更新文档和路线图
2025-11-14 12:50:32 +08:00
Wenjie Zhang
3e6b3b2b6e style: 优化部分按钮并统一部分颜色 2025-11-14 00:56:24 +08:00
supreme0597
1700628624 feat: 完善重新分块功能,优化代码逻辑,保存请求参数 2025-11-14 00:33:39 +08:00
supreme0597
b7ba646fae feat: 新增知识库文档重新分块功能 2025-11-14 00:33:39 +08:00
Wenjie Zhang
d999613f41 refactor: 优化环境变量获取逻辑,确保默认值处理
- 在多个文件中更新环境变量的获取方式,使用 `or` 语法简化代码,确保在未设置环境变量时使用默认值。
- 移除 `.env.template` 中与 LightRAG 相关的环境变量配置,简化配置文件。
- 更新 `pyproject.toml` 中的项目描述,提供更清晰的项目定位。
- 在文档中增加对图片上传响应格式的详细说明,提升用户理解。
2025-11-12 19:53:56 +08:00
Wenjie Zhang
628b37c73c feat(multimodal): 完整实现多模态图片支持功能
1. 后端:
   - 添加图片上传接口 /api/chat/image/upload
   - 在消息处理中支持图片内容
   - 更新数据库模型和迁移脚本
   - 实现图片处理工具类

2. 前端:
   - 添加图片上传和预览组件
   - 支持多模态消息发送
   - 更新消息显示以支持图片
   - 集成图片上传API

3. 文档:
   - 更新agents-config.md添加多模态图片支持说明
   - 更新roadmap.md添加多模态支持计划

主要功能包括:
- 支持JPEG、PNG、WebP、GIF、BMP等格式
- 图片大小限制为10MB
- 自动处理图片格式转换和压缩
- 支持单图片上传
- 图片以base64编码存储在数据库
2025-11-12 14:04:34 +08:00
Wenjie Zhang
67ddbe6f40 feat: 添加 CLAUDE.md 文件以提供项目开发指导
- 新增 CLAUDE.md 文件,包含项目概述、开发环境管理、项目架构、开发规范、特色功能模块及调试和故障排除指南。
- 详细描述了使用 Docker Compose 管理开发环境的步骤和常用命令。
- 介绍了项目的技术栈、核心目录结构及主要服务,确保开发者能够快速上手。
2025-11-12 11:00:39 +08:00
Wenjie Zhang
0e92aaa99a fix: 修正深度智能体上下文配置的模块名称引用
- 在 `graph.py` 中,将上下文配置的模块名称从 `self.name` 更新为 `self.module_name`,确保正确加载上下文信息。
2025-11-12 03:41:30 +08:00
Wenjie Zhang
5adff04865 feat: 添加深度分析智能体模块及相关上下文和工具
- 在 `src/agents/deep_agent` 中新增深度分析智能体模块,包含任务规划、深度知识搜索和分析能力。
- 引入 `deepagents` 库,创建深度智能体并实现复杂任务处理。
- 更新 `pyproject.toml` 以添加 `deepagents` 依赖。
- 修改 `context.py` 和 `graph.py`,为深度智能体提供专用上下文和工具支持。
- 更新文档以反映新功能和模块的集成。
2025-11-12 01:21:38 +08:00
Wenjie Zhang
ee7b149381 refactor: 更新系统路由和信息配置
- 移除 `get_default_info_config` 函数,简化信息配置加载逻辑。
- 在 `info.template.yaml` 中更新品牌信息和功能特性,添加新的统计信息和操作链接。
- 修改 `HomeView.vue` 以支持新的功能特性和操作链接展示,优化页面布局和样式。
- 删除过时的 `models.yaml` 文件,集中管理模型配置。
2025-11-08 20:59:24 +08:00
Wenjie Zhang
214bcb8d3e fix: 更新聊天代理处理逻辑,增强敏感内容检测和中断提示
- 在 chat_agent 函数中,优化了敏感内容检测后的响应,添加了时间成本的记录。
- 修改了前端 AgentChatComponent 和 AgentMessageComponent,以正确处理和显示敏感内容中断的提示信息。
- 移除了不必要的代码注释和冗余逻辑,提升了代码可读性。
2025-11-08 14:20:19 +08:00
Wenjie Zhang
8b4b7c230c feat: 添加附件上传中间件和管理功能
- 实现对话线程的附件上传、列出和删除功能
- 引入附件中间件以支持附件内容的上下文注入
- 更新智能体和对话管理器以处理附件元数据
- 增强前端组件以支持文件上传和显示附件状态
- 优化文档以反映新功能和使用示例
2025-11-08 10:51:30 +08:00
Wenjie Zhang
99aae1c00a feat: 重构智能体元数据系统,从集中式 YAML 迁移到分布式 TOML 配置 2025-11-07 12:28:58 +08:00
Wenjie Zhang
3a6e76e06e 功能:新增可配置搜索参数的SearchConfigTab组件
- 实现SearchConfigTab.vue组件,用于管理搜索配置设置
- 增加加载状态、错误处理和默认重置功能
- 集成本地存储功能,支持用户配置的保存与加载
- 更新AppLayout.vue,在数据库信息视图中新增SearchConfigTab
- 修改数据库存储逻辑,支持必要时跳过查询参数加载
- 增强DataBaseInfoView.vue,为向量数据库添加重排序器配置选项
- 重构database.js,优化查询参数加载逻辑
- 清理未使用导入项并优化各组件样式
2025-11-06 19:47:22 +08:00
Wenjie Zhang
ac74b85051 docs: pre-release 0.3.0 2025-11-05 16:22:51 +08:00
Wenjie Zhang
cf5f1a3d7e feat: 修复消息渲染不完整的 bug 2025-11-05 10:15:17 +08:00
Wenjie Zhang
6eaeb144a3 Merge branch 'main' of https://github.com/xerrors/Yuxi-Know 2025-11-05 02:05:30 +08:00
Wenjie Zhang
09fffb233c feat: 添加 middleware, subagents 支持
- 统一导入路径,优化代码结构,删除冗余文件和函数
- refactor: 将 chatbot agent 使用 create_agent 重构,大幅简化处理逻辑
2025-11-05 02:04:34 +08:00
Wenjie Zhang
159f4819f0 refactor: 移除冗余智能体 2025-11-05 02:03:06 +08:00
Wenjie Zhang
a1150b957f feat: 添加数据库描述支持,优化查询表名工具的输出信息 2025-11-04 23:36:49 +08:00
Wenjie Zhang
194ef51299 feat: 更新数据库信息接口,支持可选的 LLM 配置信息,并在前端表单中添加相应字段 2025-11-04 00:35:49 +08:00
Wenjie Zhang
076e23eec3 refactor: 删除重复的 tools 2025-11-02 01:15:36 +08:00
Wenjie Zhang
8987cf5d8a refactor: 删除重复的智能体 2025-11-02 00:47:54 +08:00
Wenjie Zhang
0b0dbe6a69 Merge branch 'pr/ELK-milu/314' 2025-11-01 21:44:23 +08:00
miluELK
cb516b4986 feat: 为agent封装为tool调用添加了runtimeconfig,可以传递记忆 2025-11-01 21:40:19 +08:00
miluELK
68d654458c feat: 添加了ReactAgent,MultiAgent,ToolAgent。为State添加了基类BaseState。common/tools中添加了人工审批工具(目前无法正常调用,前端需要完善人工审批流程) 2025-11-01 21:40:19 +08:00
Wenjie Zhang
181341db48 feat: 为智能体操作实现人工审批机制
- 新增 HumanApprovalModal 组件,用于处理用户对关键操作的审批。
- 引入 useApproval 可组合项,用于管理审批状态和逻辑。
- 更新 AgentChatComponent 以显示审批模态框并处理审批操作。
- 增强消息处理功能,支持工具调用合并并改进对 AI 消息块的处理。
- 重构各种组件和 API,以整合新的审批流程,确保代理交互期间的流畅用户体验。
2025-11-01 21:34:16 +08:00
Wenjie Zhang
127c73e180 refactor: 智能体重命名并添加格式检查 2025-10-31 14:16:07 +08:00
miluELK
ad8e26c654 feat: 为agent封装为tool调用添加了runtimeconfig,可以传递记忆 2025-10-28 08:22:52 +08:00
Wenjie Zhang
6b67bf6f93 feat: 极大的提升 SQL 工具调用的稳定性,移除 LIMINT 并将默认超时时间修改为 60s,添加MySQL连接管理器和安全检查功能,优化查询执行和错误处理逻辑
- 重构 MySQLConnectionManager,在使用前验证游标,向使用者提供辅助函数,并使用基于线程池的超时机制替代 SIGALRM,使查询可运行长达 600 秒,同时安全地失效不良连接(src/agents/common/toolkits/mysql/connection.py)
  - 扩大安全防护中的允许超时窗口,移除未使用的限制验证器,并更新查询模型默认值(src/agents/common/toolkits/mysql/security.py,src/agents/common/toolkits/mysql/tools.py)
  - 使 mysql_query 依赖 execute_query_with_timeout,移除隐式 LIMIT 注入,确保失败时连接保持健康,扩展结果格式化和故障排除提示;记录 list-table 调用,并在避免按表 COUNT 扫描的同时,丰富 mysql_describe_table 的列注释(src/agents/common/toolkits/mysql/tools.py)
  - 将高级代理指南重命名为 agents-config,更新 VitePress 导航,并在文档中增加 LangGraph/MCP/MySQL 配置指导(docs/.vitepress/config.mts,docs/advanced/agents-config.md)
  - 调整路线图错误列表,将 LangGraph 工具问题标记为已解决,并跟踪 LightRAG 查看器的缺失功能(docs/changelog/roadmap.md)
  - 添加 CLAUDE.md,引导贡献者参阅 AGENTS.md 获取更多信息
2025-10-27 23:41:40 +08:00
miluELK
48c4283554 feat: 添加了ReactAgent,MultiAgent,ToolAgent。为State添加了基类BaseState。common/tools中添加了人工审批工具(目前无法正常调用,前端需要完善人工审批流程) 2025-10-27 15:32:12 +08:00
Wenjie Zhang
25584e366a fix: 修复文档解析器中的后端参数设置 2025-10-26 17:55:21 +08:00
Wenjie Zhang
02c68a0ca5 feat: 添加隐私设置功能,支持创建私有知识库并在界面中显示锁定图标 2025-10-26 15:08:43 +08:00
Wenjie Zhang
2936f84ba1 feat: 添加 SqlReporterAgent,支持生成 SQL 查询报告并调用图表工具 2025-10-25 22:49:20 +08:00
Wenjie Zhang
a8491c5beb feat: 使用 create_agent 接口替换老版本的 create_react_agent 2025-10-25 20:01:23 +08:00
Wenjie Zhang
fdc4f174a9 style: 更新文件管理功能,支持HTML文件图标和颜色,优化文件选择状态管理 2025-10-25 16:01:50 +08:00
Wenjie Zhang
12bfc58709 feat: MinerU 升级到 2.5 版本,同时优化整体的 OCR 体验。 2025-10-25 14:26:47 +08:00
Wenjie Zhang
c8fa8a0131 feat: 更新MinerU(v2.5) 配置,修改镜像名称和后端,优化OCR处理逻辑 2025-10-24 01:09:24 +08:00
Wenjie Zhang
a1fdcbc36c style: ruff format 2025-10-24 00:11:52 +08:00
Wenjie Zhang
fba6821355
Merge branch 'main' into main 2025-10-23 23:38:23 +08:00
Wenjie Zhang
014e877c14 feat: 添加新的嵌入模型和重排序模型配置,更新相关文档提示 2025-10-23 23:34:16 +08:00
Wenjie Zhang
f6547fef13 fix: 处理 embed_info 可能为字典或 EmbedModelInfo 对象的情况,确保获取模型名称和其他属性的兼容性 2025-10-23 22:57:01 +08:00
miluELK
367c79a06e fix:修复base中创建知识库时直接将basemodel转为json时的报错,先转为dict再转为json 2025-10-23 17:50:12 +08:00
miluELK
4d31a6b5df Merge remote-tracking branch 'upstream/main' 2025-10-23 15:35:37 +08:00
Wenjie Zhang
59727d6d7e refactor: 更新文档,优化批量上传和解析脚本说明;移除不再支持的转换功能 2025-10-23 14:59:25 +08:00
miluELK
d53a32e6b8 feat:对部分代码提出了修改建议,用TODO高亮了。修改了AgentManager添加智能体的方法,现在可以通过自动遍历Agents目录来获取,方便切换到private分支管理私有代码 2025-10-23 14:08:08 +08:00
Wenjie Zhang
d56cec5002 refactor: 适配了 langchain v1 版本,但并引入新特性,仅无兼容性错误 2025-10-23 01:39:01 +08:00
Wenjie Zhang
0ee327cb97 refactor: 重构 config 模块 2025-10-22 11:51:32 +08:00
Wenjie Zhang
a0194b8e09 feat: 更新 MinIO 上传功能,支持指定存储桶并添加公共读取策略,修复文件上传bug 2025-10-16 14:12:59 +08:00
Wenjie Zhang
42b75979dd chore: 修复数据库迁移中潜在的 BUG 2025-10-15 22:31:30 +08:00
Wenjie Zhang
8514f18985 style: 登录样式更新 2025-10-15 22:24:33 +08:00
Wenjie Zhang
c33d56f078 fix: 移除 collection.flush() Fixes #297 2025-10-14 06:07:51 +08:00
Wenjie Zhang
50d2cf850f feat: 更新模型配置和选择逻辑,修改为通过 model_spec 统一指定模型格式 2025-10-14 02:27:15 +08:00
Wenjie Zhang
8b98b5afb2 feat: 优化日期时间处理,确保 ISO 字符串正确解析并转换为上海时区 2025-10-14 00:25:58 +08:00
Wenjie Zhang
b36f6e78f3 refactor(time): 重构应用程序中的日期时间处理
- 新增工具模块 `datetime_utils.py`,用于统一处理UTC和上海时区
- 在 `manager.py`、`models.py` 等后端文件中,将直接操作日期时间的代码替换为工具函数
- 更新前端组件,使用 `dayjs` 进行时区感知的日期格式化和解析
- 移除冗余的日期格式化逻辑,将其集中到工具函数中
- 通过确保所有时间戳均以亚洲/上海时区显示,提升用户体验
2025-10-13 15:08:54 +08:00
Wenjie Zhang
a97d72c270 fix: 修复Dashboard中的数据加载问题,添加对话的更新时间 2025-10-13 12:37:06 +08:00
Wenjie Zhang
6986378e02 fix: 修复消息中断时带来的消息显示问题 2025-10-12 23:45:17 +08:00
Wenjie Zhang
3600c7f9b7 fix: 修复部分场景下历史记录保存异常的问题。回退到使用 AsyncSaver的双线备份消息模式 2025-10-12 16:04:46 +08:00
Wenjie Zhang
2ac690eb81 feat: 更新聊天代理和任务管理器,支持通过线程ID管理消息,优化日志记录和敏感内容检查 2025-10-12 13:09:29 +08:00
Wenjie Zhang
246e133eb4 feat: 添加文件内容哈希计算功能,防止重复文件上传并更新相关逻辑 2025-10-11 21:52:48 +08:00
Wenjie Zhang
ff955bdda5 feat: 移除 Async的Checkpointer,并默认配置了 InMemorySaver 2025-10-11 21:10:39 +08:00
Wenjie Zhang
c8ea1e7179 feat: 添加软删除功能,更新用户模型和相关路由以支持用户注销和状态检查 2025-10-11 20:19:09 +08:00
Wenjie Zhang
fd980a6153 feat: 更新 .env.template 文件路径,确保模型和保存目录的正确性;在 ChromaKB 中异步添加文档以提高性能 2025-10-11 11:47:11 +08:00
Wenjie Zhang
c3a8360a77 fix: 修复 doc 解析的问题,并增加文件类型支持检查和相关API
- 在文件上传功能中添加对不支持文件类型的检查,返回400错误。
- 新增获取支持文件类型的API接口。
- 更新前端文件上传组件,动态加载支持的文件类型并提供用户提示。
2025-10-11 10:36:57 +08:00
Wenjie Zhang
ceb676d79c style: 优化代码格式和清理冗余 2025-10-11 02:34:42 +08:00
Wenjie Zhang
d7e0b229c6 fix: 修复删除用户异常的问题 2025-10-11 00:43:30 +08:00
Wenjie Zhang
af7355ce8b fix: 修复首页异常弹出未登录提示 2025-10-10 23:50:29 +08:00
Wenjie Zhang
371f717881 feat: 更新环境变量配置路径
- 新增 .env.template 文件,提供环境变量配置示例
- 更新 docker-compose.yml 和相关文档,调整 .env 文件路径至项目根目录
- 修正文档中对环境变量配置的引用,确保一致性
2025-10-10 18:07:06 +08:00
Wenjie Zhang
83a9507315 docs: 更新 README 和文档配置,移除冗余内容并优化快速开始指南 2025-10-10 16:13:35 +08:00
Wenjie Zhang
a31f60b0a6 refactor!: 移除自定义模型支持 2025-10-10 14:59:12 +08:00
Wenjie Zhang
b866ddfec2 docs: 更新文档,添加智能体开发、品牌自定义、文档解析等新内容,并优化快速开始指南 2025-10-10 10:49:51 +08:00
Wenjie Zhang
cfc9b903de style(dashboard): uv lint 2025-10-08 21:54:10 +08:00
Wenjie Zhang
1ce9afa0d3 fix(knowledge): 优化 ChromaDB 插入逻辑,支持分批处理 2025-10-07 16:36:34 +08:00
Wenjie Zhang
b8b73e4932 fix(knowledge): 修复 get_kb 不存在的问题 2025-10-06 21:56:48 +08:00
Wenjie Zhang
b90a796172 fix(models): 移除过时的知识库模型,简化数据库结构 2025-10-06 21:34:22 +08:00
Wenjie Zhang
f28adaaff8 feat(chat): 优化工具调用输出处理,确保兼容性和稳定性
- 在 chat_agent 函数中,确保工具调用输出为字符串类型,避免 SQLite 不支持列表类型的问题
- 更新 load_chat_model 函数,新增 stream_usage 参数以支持流式使用
- 移除不必要的代码,简化 utils.py 文件,提升可读性
- 优化 AgentStatsComponent.vue,移除冗余样式,提升性能和用户体验
2025-10-06 21:07:33 +08:00
Wenjie Zhang
52ce5f51bd feat(dashboard): 新增用户活跃度、工具调用、知识库和智能体分析统计功能
- 在后端新增用户活跃度、工具调用、知识库和智能体分析的统计接口
- 前端实现相应的统计组件,展示各类统计信息
- 更新样式以提升用户体验,增加图表和数据展示
- 优化仪表板布局,整合各类统计信息,提升可视化效果
2025-10-05 21:45:39 +08:00
Wenjie Zhang
cdb381b0e9 feat(feedback): 新增消息反馈功能,支持用户对消息的点赞和点踩
- 在 chat_router 中添加了提交和获取消息反馈的 API 接口
- 在 dashboard_router 中更新统计信息,包含反馈统计数据
- 新增 MessageFeedback 数据模型,存储用户反馈信息
- 前端实现反馈提交和状态获取功能,优化用户体验
- 更新 DashboardView 以展示用户反馈统计信息
2025-10-05 14:50:34 +08:00
Wenjie Zhang
a3028d17b5 fix(datetime): 统一时间戳字段的导入方式,使用 datetime 模块别名
- 将所有时间戳字段的导入方式统一为使用 datetime 模块的别名 dt,确保代码一致性
- 更新了 ConversationManager 和数据库模型中的时间戳字段,确保使用正确的 UTC 时间
2025-10-04 23:03:41 +08:00
Wenjie Zhang
804bcc1abc feat(chat): 更新工具调用管理,支持 LangGraph tool_call_id 精确匹配
- 在 chat_agent 函数中,新增对 LangGraph tool_call_id 的支持,优化工具调用的保存和更新逻辑
- 修改数据库模型,新增 langgraph_tool_call_id 字段以便于匹配
- 更新时间戳字段命名为 created_at 和 updated_at,确保一致性
- 优化前端时间处理,确保使用正确的时间字段
2025-10-04 22:59:25 +08:00
Wenjie Zhang
c46dd7b073 feat! (memory)!: 重新实现了对话管理的存储与管理,不再依赖于 MemorySaver
BREAKING CHANGE: 使用了新的存储结构,因此之前存储的历史记录将不再支持迁移
2025-10-04 22:21:30 +08:00
Wenjie Zhang
af4bb9f48e style(docs): 更新变更日志,添加网络搜索和绘制图片选项说明
- 在变更日志中新增网络搜索和绘制图片的选项,提供工具调用的相关信息
- 优化知识库架构,提升文档的可读性和完整性
2025-10-02 19:59:35 +08:00
Wenjie Zhang
2112d4833d refactor(knowledge): 重构知识库模块,优化架构和实现
- 优化知识库文件夹结构,增强可维护性
- 新增知识库管理器和工厂类,统一管理不同类型的知识库实例
- 实现知识库的基本操作接口,包括创建、更新和删除数据库
- 引入新的知识库实现类(ChromaKB、MilvusKB、LightRagKB),支持多种存储后端
- 增强文件路径验证,确保安全性
- 更新文档,提供新的知识库接口说明
2025-09-23 13:07:50 +08:00
Wenjie Zhang
790c068eb6 fix(docs): 更新 README 和文档路径,添加 MinIO 存储模块文档
- 修改 README 中的模型配置路径,确保指向正确的配置文件位置
- 新增 MinIO 存储模块文档,提供基本使用和高级使用示例
- 更新内容审查机制和品牌信息配置的相关路径
- 移除旧的用户模型和线程模型,重构数据库模型管理
- 优化代码结构,确保数据库管理器和模型的导入路径一致
2025-09-23 10:48:44 +08:00
Wenjie Zhang
59c60fa879 fix(security): 增强文件路径验证,防止路径遍历攻击
- 在知识库路由中添加文件路径安全检查,确保上传和下载的文件路径在允许的目录内
- 新增 validate_file_path 函数,规范化并验证文件路径,抛出相应的异常信息
- 更新文档,修复部分已知BUG,提升系统稳定性
2025-09-23 04:42:04 +08:00
Wenjie Zhang
f1fe10f22c feat(models): 添加嵌入和聊天模型状态检查接口 #282
- 在知识路由中新增获取指定嵌入模型和聊天模型状态的接口
- 实现获取所有嵌入模型和聊天模型状态的功能
- 更新前端API以支持模型状态检查,增强用户体验
- 优化日志记录格式,提升调试信息的可读性
2025-09-22 22:02:57 +08:00
Wenjie Zhang
a337cba3f7 fix(migrate): 修复用户字段迁移脚本,优化异常处理和字段检查逻辑
- 更新迁移脚本以确保在数据库中添加缺失的字段(user_id、phone_number、avatar)
- 优化异常处理,确保在迁移过程中发生错误时能够正确回滚
- 统一字符串引号格式,提升代码可读性
- 添加必要的导入语句,确保脚本正常运行
2025-09-22 17:18:07 +08:00
Wenjie Zhang
6d7e3ea2ef feat(knowledge): 添加文档基本信息和内容信息的获取接口,支持文件下载功能
- 在知识库路由中新增获取文档基本信息和内容信息的接口
- 实现文档下载功能,支持中文文件名处理
- 更新相关文档和API调用,确保前端能够正确下载文件
2025-09-21 23:48:56 +08:00
Wenjie Zhang
2a3e18b444 test(tests): 添加全面的API接口测试套件
- 新增认证API测试,覆盖登录、权限验证、用户管理等关键流程
- 新增对话API测试,包含智能体调用、线程管理、工具获取及配置查询
- 新增系统API测试,涵盖系统健康检查、信息查询及配置管理权限控制
- 配置pytest支持异步测试、标记分类及详细输出
- 添加测试环境配置示例文件 .env.test.example
- 新增测试用例README文档,说明测试架构及运行方法
- 优化Makefile,添加格式化差异检查任务 format_diff
- 更新.gitignore,支持忽略测试环境配置文件 .env.test
2025-09-20 22:53:37 +08:00
Wenjie Zhang
680dd92457 lint: Python Ruff Lint 2025-09-19 01:32:07 +08:00
Wenjie Zhang
c6c2d588a8 docs(readme): 更新文档内容及示例配置说明 2025-09-19 01:30:32 +08:00
Wenjie Zhang
63cceb4562 feat(chat): 添加调用重试机制提升接口稳定性
- 引入 tenacity 库实现自动重试功能
- 在调用 OpenAI 接口的 call 方法上增加重试装饰器
- 设定重试次数、指数退避等待策略及日志记录
- 调整流式和非流式响应处理逻辑,保证重试生效
- 在 pyproject.toml 中添加 tenacity 依赖声明
2025-09-19 01:10:20 +08:00
Wenjie Zhang
782eb4ae31 refactor(chat): 优化异步调用及增强内容审查机制
- 将chat_router中的predict_async重命名为call_async并调用model.call替代model.predict
- 在流式消息处理中新增加基于LLM的内容审查
- 配置类中增加enable_content_guard_llm及对应LLM模型配置项
- 兼容models.private.yaml替代旧的models.private.yml文件名
- chat_model及embedding模块统一将predict方法重命名为call或encode,增强接口语义
- ContentGuard新增基于LLM的内容合规检测功能,支持动态加载审查模型
- 更新静态模型配置提示,建议使用models.private.yaml文件
- 新增示例CSV测试数据文件,补充测试用例基础数据
2025-09-19 00:57:53 +08:00
Wenjie Zhang
e5e39d25ef lint(src): 规范导入语句及代码格式 2025-09-18 23:18:58 +08:00
Wenjie Zhang
33dbe78914 refactor(models): move model selection logic to chat_model and embedding modules 2025-09-18 20:34:10 +08:00
Wenjie Zhang
342c541645 feat(guard): 添加内容审查模块并集成至聊天服务(默认关闭)
- 新增内容审查关键词库 src/static/bad_keywords.txt,支持自定义敏感词
- 实现内容审查插件 src/plugins/guard.py,提供敏感词检测功能
- 配置新增 enable_content_guard 选项,支持开关内容审查功能
- 聊天路由 chat_router.py 集成输入和输出内容审查逻辑,拦截敏感内容
- 前端设置页增加内容审查开关,方便管理员启用或禁用该功能
- 错误时前端显示详细错误信息,并停止消息流,提升用户体验
- README 添加服务安全说明文档,介绍内容审查机制与配置方法
2025-09-18 20:33:38 +08:00
Wenjie Zhang
aebe63ce1c lint: 代码格式化 2025-09-18 20:32:33 +08:00
Wenjie Zhang
66c550c18c refactor: 重构配置/知识库模块,拆分为独立app.py文件 2025-09-18 15:20:39 +08:00
Wenjie Zhang
166990bc81 feat(MySQL): 集成 MySQL 数据库查询功能
- 添加 MySQL 连接管理器,支持连接和查询数据库
- 实现获取表名、描述表结构和执行 SQL 查询的工具
- 增强安全性,防止 SQL 注入和限制查询结果大小
- 更新 README.md,提供 MySQL 配置示例和使用说明
- 添加 MySQL 连接测试脚本,验证连接和工具功能
2025-09-16 15:23:18 +08:00
Wenjie Zhang
fc63025118 feat(graphbase): 优化图数据库查询逻辑,增强关键词检索和去重功能 #263 2025-09-16 00:33:40 +08:00
Wenjie Zhang
45fb5c1b0d fix(graphbase): 修复检索过程中的 limit 不生效的问题 #260 2025-09-11 03:19:56 +08:00
Wenjie Zhang
04f49f48d5 feat(agent): 添加智能体元数据支持和示例问题展示
- 新增智能体元数据配置文件及图标资源
- 在聊天界面中显示智能体图标和示例问题
- 更新 changelog 中已完成的任务项
2025-09-09 20:25:48 +08:00
Wenjie Zhang
2acbd4b93a feat: 添加HOST_IP环境变量支持并更新图片生成工具
- 在docker-compose中添加HOST_IP环境变量配置
- 修改minio_utils以支持通过HOST_IP配置公开端点
- 移除本地MCP服务器配置
- 将text_to_img工具替换为基于Kolors API的实现
2025-09-07 20:25:42 +08:00
Wenjie Zhang
7a23ce4742 refactor: 优化界面组件和样式,简化代码结构
- 移除知识图谱查看器的图例和部分控制按钮
- 调整数据库信息视图的面板宽度和背景色
- 简化知识库工厂注册参数
- 移除文件表格的自动刷新和面板切换按钮
- 优化代理配置侧边栏的系统提示词编辑体验
2025-09-06 14:04:33 +08:00
Wenjie Zhang
91fa5c903e fix(graphbase): 优化连通查询并修复节点重复添加问题 2025-09-03 11:55:40 +08:00
Wenjie Zhang
08ac557028 feat(agent): implement text-to-img tool with MinIO storage
Adds a new agent tool `text_to_img` that generates a placeholder image
from text and uploads it to a MinIO server, returning a public URL.

Key changes:
- Adds `minio` and `Pillow` to project dependencies.
- Creates a reusable MinIO utility module in `src/utils/minio_utils.py`
  to handle file uploads and bucket management.
- Refactors the agent tool to use this new utility, separating concerns
  and simplifying the tool's implementation.
- Replaces the previous hardcoded URL with a real, functional image
  upload process.
2025-09-02 14:00:06 +08:00
Wenjie Zhang
f1c843addc refactor: 清理未使用的导入和优化代码格式 2025-09-02 01:08:42 +08:00
Wenjie Zhang
7641ab3699 stylle: 使用更加严格的风格检查以及代码格式化方法 2025-09-01 22:37:03 +08:00
Wenjie Zhang
a1080a4641 perf(graph): 优化图布局性能并改进节点查询算法
调整力导向图布局参数以加快收敛速度并减少节点重叠
重构节点查询逻辑,优先返回连通的子图结构
完善关系查询,确保双向关系的完整性
2025-09-01 20:04:05 +08:00
Wenjie Zhang
2648bec1be refactor(mcp): 移除deepwiki服务器配置
清理不再使用的deepwiki MCP服务器配置,简化配置列表
2025-09-01 19:13:57 +08:00
Wenjie Zhang
165ec73ca8 refactor(mcp): 移除全局MCP客户端缓存并优化工具加载逻辑
移除全局MCP客户端缓存,改为每次调用时创建新客户端实例
优化工具加载逻辑,添加服务器名称校验并改进错误处理
清理未使用的导入和冗余代码
2025-09-01 12:25:15 +08:00
Wenjie Zhang
63da8d9733 feat(chatbot): 添加MCP工具支持并优化工具管理逻辑
实现MCP服务器工具的动态加载和管理功能
重构工具获取逻辑以支持MCP工具和本地工具的混合使用
优化前端工具调用结果显示样式
移除未使用的工具相关代码
添加工具序列化转换工具函数
2025-09-01 03:38:46 +08:00
Wenjie Zhang
221f4af213 fix(chatbot): 修复智能体工具获取和权限问题
- 修改工具获取逻辑,使用智能体实例的工具列表
- 将工具获取接口的权限从管理员改为普通用户
- 更新日志格式,添加行号信息
- 修复前端工具获取时未传递智能体ID的问题
2025-08-31 10:27:58 +08:00
Wenjie Zhang
b524ca687b feat(agents): 重构智能体系统,引入Context替代Configuration
- 将Configuration重构为Context,支持动态工具配置
- 新增state.py和tools.py模块,优化状态管理和工具处理
- 移除旧的tools_factory.py和registry.py
- 更新前端API引用路径,修复brandApi命名错误
- 调整README和更新日志,反映架构变更
- 优化智能体历史记录管理,改进SQLite检查点
- 修复默认智能体加载和工具展示问题
2025-08-31 00:34:26 +08:00
Wenjie Zhang
808485aa5e refactor(tools): 重构工具工厂返回工具列表而非字典
feat(ui): 在代理视图头部添加品牌名称显示
style(ui): 调整代理视图头部内边距和样式

fix(chatbot): 修复工具选择逻辑以匹配新工具结构

chore: 删除未使用的深度研究代理相关代码文件
2025-08-29 20:54:49 +08:00
Wenjie Zhang
92fe65fecf refactor(embedding): 重构嵌入模型代码,添加异步支持并改进错误处理
- 将BaseEmbeddingModel改为抽象基类(ABC)
- 添加异步预测方法apredict
- 重构批量编码方法,添加任务状态跟踪
- 为Ollama和Other嵌入实现添加异步支持
- 改进错误处理和日志记录
- 添加类型注解提高代码可读性

docs: 更新changelog记录已知问题
2025-08-28 13:50:48 +08:00
Wenjie Zhang
85e13b6481 feat: 添加Makefile并改进错误日志记录
docs: 更新项目文档结构并删除旧文档
refactor: 优化工具工厂的错误处理逻辑
2025-08-28 13:16:19 +08:00
Wenjie Zhang
b8ba85654f feat(知识库): 完善知识库检索结果展示逻辑和样式
refactor(工具): 更新知识库工具元数据结构
style(UI): 优化配置侧边栏和消息组件样式
docs: 更新开发计划文档
perf(调试): 增强智能体配置调试信息输出
2025-08-27 00:13:38 +08:00
Wenjie Zhang
afaba5c8cb fix(milvus_kb): 修正相似度计算逻辑
移除未使用的auth_api导出并更新相关注释
2025-08-25 02:26:50 +08:00
Wenjie Zhang
51c0af517b fix: 修复知识图谱查询日志中的类型判断错误并支持品牌文件路径配置
修复 tools_factory.py 中知识图谱查询结果日志记录时的类型判断错误,将 'd' 改为 'dict'
在 system_router.py 中添加对环境变量 YUXI_BRAND_FILE_PATH 的支持,用于配置品牌文件路径
2025-08-24 21:07:55 +08:00
Wenjie Zhang
402ff52739 refactor(tools_factory): 重构工具工厂模块,优化工具管理和错误处理
- 重命名工具获取函数为 get_buildin_tools 和 get_buildin_tools_info
- 改进工具ID生成和描述构建逻辑
- 添加详细的日志记录和错误处理
- 优化知识库工具创建流程,避免闭包问题
- 分离静态工具和知识库工具获取逻辑
- 增强计算器和知识图谱查询工具的错误处理
2025-08-24 20:12:15 +08:00
Wenjie Zhang
e3bb35a383 refactor(knowledge): 移除未使用的HistoryManager类及其引用
清理不再使用的历史管理功能,简化代码结构
2025-08-24 13:01:52 +08:00
Wenjie Zhang
fa56bca143 refactor: 移除未使用的代码和注释,优化代码结构
- 删除 SettingView.vue 中的 TODO 注释
- 移除 AgentView.vue 和 AgentChatComponent.vue 中侧边栏互斥逻辑
- 删除 kb_manager.py 中未实现的 migrate_database 方法
- 将操作日志功能提取到 common_utils.py
- 修复文件末尾缺少换行符的问题
2025-08-23 17:39:47 +08:00
Wenjie Zhang
fe6c9ea364 feat(知识库): 实现知识库删除时清理Milvus和Neo4j数据
添加delete_database方法,在删除知识库时同步清理Milvus集合和Neo4j节点关系
移除graphbase.py中未使用的txt_add_entity和format_query_result_to_graph方法
更新README.md中关于Neo4j节点标签和关系类型的说明
2025-08-19 13:08:41 +08:00
Wenjie Zhang
e6145657c5 feat(lightrag): 添加LightRAG知识库的语言选择和LLM模型选择功能
- 支持在创建LightRAG知识库时选择语言和LLM模型
- 修复知识图谱加载按钮在没有文件时仍可点击的问题
- 更新README中的分支说明
- 简化chroma和milvus的集合命名方式
- 修复知识库创建失败的情况
2025-08-16 20:07:12 +08:00
Wenjie Zhang
68e7bd8300 feat(ui): 优化智能体界面交互和样式
- 添加单例模式支持,区分独立页面和普通视图
- 重构智能体选择器为按钮样式并优化交互
- 更新侧边栏组件以支持不同模式下的显示
- 统一智能体名称显示为"智能体助手"
- 调整按钮圆角样式提升视觉一致性
2025-08-11 21:29:33 +08:00
Wenjie Zhang
7f1b4f4a59 refactor: 移除qianfan模型相关代码和依赖 2025-08-11 15:40:41 +08:00
Wenjie Zhang
93d2dac343 feat(knowledge): 添加知识库数据导出功能(未完成)
style(AgentMessageComponent): 调整工具调用边框样式

chore: 删除未使用的MessageComponent.vue文件
2025-08-10 21:58:41 +08:00
Wenjie Zhang
4857de1856 feat(ui): 重构登录页和主页UI设计,优化品牌信息配置
- 将登录背景图片移至public目录并更新引用路径
- 完全重构登录页面布局,分为图片区和表单区
- 优化主页布局,添加导航链接和底部版权信息
- 更新品牌信息配置,移除short_name字段
- 调整多个组件的样式和间距
- 更新README添加品牌配置说明
2025-08-08 22:57:14 +08:00
Wenjie Zhang
24f3d03c8e fix(知识图谱): 修正节点和关系统计方法,排除知识库自动构建的图谱
更新 GraphView.vue 中的统计描述,明确说明不包含知识库创建的图谱
修改 graphbase.py 中的查询逻辑,只统计带有特定标签的节点和关系
更新 changelog 中相关问题的状态 #236
2025-08-08 21:21:24 +08:00
Wenjie Zhang
f372d6fa44 fix: 修复代理配置和文档错误,更新默认模型
修复docker构建时的代理配置问题,移除pyproject.toml中不必要的依赖
更新README中关于代理配置的说明,修正文档中的大小写错误
将默认LLM模型从Qwen更换为GLM-4.5-Air
添加测试数据文件,优化embedding配置的错误处理
2025-08-08 18:35:01 +08:00
Wenjie Zhang
a13c2e0a0c docs(models): 更新默认模型和文档说明
- 将默认模型从 Qwen/Qwen3-32B 更新为 zai-org/GLM-4.5
- 移除 DeepSeek 相关模型配置
- 更新 README 中的模型推荐和文档说明
- 调整 LightRAG 默认配置为 siliconflow/Qwen3-30B-A3B-Instruct-2507
2025-08-07 21:26:22 +08:00
Wenjie Zhang
f1098f0c7d refactor(kb_utils): 简化文件路径处理逻辑 2025-08-05 22:19:55 +08:00
Wenjie Zhang
583a17b37d feat(knowledge): 添加文件处理队列管理功能
添加文件处理队列管理功能,包括添加/移除文件到处理队列的方法
添加状态检查方法修复异常的processing状态
确保文件处理状态的一致性
2025-08-04 20:15:39 +08:00
Wenjie Zhang
e2d0b17e5a feat(knowledge_base): 检索的内容以字典返回,同时包含 filepath 等 metadata
将知识库的异步查询方法aquery的返回类型从字符串更改为包含字典的列表,增强了查询结果的结构化。更新了Milvus和Chroma知识库的查询逻辑,确保返回的文档块包含内容、元数据和相似度分数。同时,修复了文件路径处理逻辑,确保文件名相对路径的正确性。
2025-08-01 17:04:37 +08:00
Wenjie Zhang
67f3af3257 docs: update document 2025-08-01 16:59:03 +08:00
Wenjie Zhang
612bd9f7b0 refactor(graph): 重构知识图谱查询和格式化逻辑
- 修改查询方法以支持不同返回格式(graph/triples)
- 移除不再使用的格式化方法和废弃查询方法
- 优化节点和关系的查询性能及结果处理
- 更新相关API端点以直接返回原始查询结果
2025-07-30 10:50:06 +08:00
Wenjie Zhang
007e6aeb1f fix(graph): 改进图数据库查询逻辑和错误处理
修复图数据库查询时的错误处理,添加完整的traceback信息
重构查询逻辑,分离向量查询和模糊查询方法
更新README文档说明知识图谱的限制和使用方法
确保查询只针对带有Entity标签的节点
添加数据库状态检查断言
2025-07-29 16:30:47 +08:00