Commit Graph

826 Commits

Author SHA1 Message Date
Wenjie Zhang
4cc52360b6 feat(user): 实现用户ID和头像管理功能 2025-09-21 13:33:09 +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
25842eb33e feat(file-detail): 重构文件详情组件,添加Markdown内容预览功能 2025-09-19 11:52:50 +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
347e7c5807 style(web): 优化样式细节和调整组件边距 2025-09-19 00:58:35 +08:00
Wenjie Zhang
69c56d49e6 fix(chat): 修复聊天列表时间处理为北京时间 2025-09-19 00:58:19 +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
4552cf800c fix(agent-chat): 修复不含元数据标签的时候,智能体图标及元数据访问异常 2025-09-18 20:51:50 +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
747c5de88f feat(auth): 实现账户登录失败次数限制和锁定机制(注意,需要迁移数据库)
- 数据库用户模型新增登录失败限制相关字段(login_failed_count, last_failed_login, login_locked_until)
- 增加用户方法判断是否处于登录锁定状态及计算锁定持续时间
- 登录接口新增登录锁定检测,密码错误时增加失败计数及设置锁定时间
- 登录成功时重置失败计数和锁定状态
- 新增数据库迁移模块,自动检测并执行数据库结构更新,确保新增字段同步
- 前端登录页添加账户锁定状态显示及倒计时功能
- 前端请求中捕获423锁定状态,展示对应锁定提示,禁用登录按钮
- 优化本地状态管理,支持登录锁定错误抛出与异常处理机制
2025-09-17 03:59:51 +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
44c06f6935 chore: 优化新建对话的逻辑 2025-09-16 02:18:34 +08:00
Wenjie Zhang
d8e5612d19 feat(KnowledgeGraphResult): 添加图谱重新渲染功能 2025-09-16 02:03:40 +08:00
Wenjie Zhang
08d156a5b6 fix(GraphView): 优化节点索引按钮状态显示,避免在索引过程中重复点击 2025-09-16 00:34:41 +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
d6dfa2b5e3 refactor(ui): 优化调试模式实现并改进界面样式
- 将调试模式状态管理移至 infoStore 实现全局统一控制
- 移除各组件中分散的调试模式状态管理代码
- 调整侧边栏和头部组件的边框和背景颜色
- 优化按钮和交互元素的悬停效果
- 更新文档中的 changelog 记录待办事项
2025-09-11 03:09:17 +08:00
Wenjie Zhang
95b084ec69 feat(GraphCanvas): 添加关键词高亮功能 #260
新增highlightKeywords属性用于根据关键词高亮节点
添加高亮状态样式和动画效果
实现关键词匹配和高亮清除功能
2025-09-11 02:44:35 +08:00
Wenjie Zhang
edfa34f60f Merge branch 'main' of github.com:xerrors/Yuxi-Know 2025-09-11 02:11:34 +08:00
Wenjie Zhang
e7137b883b fix(AgentMessageComponent): 修复部分场景下未返回 reasoning_content 的问题 #261 2025-09-11 02:11:06 +08:00
Wenjie Zhang
fdb2947fa0
Update README.md 2025-09-10 01:35:10 +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
45427b559a fix(auth): 延长JWT过期时间至7天以改善用户体验 2025-09-07 20:06:56 +08:00
Wenjie Zhang
b7ed0eaee1 Merge branch 'main' of github.com:xerrors/Yuxi-Know 2025-09-06 14:04:54 +08:00
Wenjie Zhang
7a23ce4742 refactor: 优化界面组件和样式,简化代码结构
- 移除知识图谱查看器的图例和部分控制按钮
- 调整数据库信息视图的面板宽度和背景色
- 简化知识库工厂注册参数
- 移除文件表格的自动刷新和面板切换按钮
- 优化代理配置侧边栏的系统提示词编辑体验
2025-09-06 14:04:33 +08:00
Wenjie Zhang
294c80f243
Update README.md 2025-09-04 19:02:25 +08:00
Wenjie Zhang
3b24d3a04e feature(AgentConiigSidebar): 弹出工具选项之前会自动加载可用工具 #258 2025-09-04 18:31:40 +08:00
Wenjie Zhang
8adad7e51c fix(GraphCanvas): 调整样式结构并优化指针事件处理 2025-09-04 01:47:09 +08:00
Wenjie Zhang
c7a8d0030c refactor(models): 导入模型确保表创建时包含所有模型 #258
确保在创建表之前所有模型都被正确导入并注册到Base.metadata,以便DBManager.create_tables()能够创建包括thread在内的所有表
2025-09-04 01:22:37 +08:00
Wenjie Zhang
2267c8634a refactor(graph): 重构知识图谱组件为GraphCanvas并替换GraphContainer
将原有的GraphContainer组件重构为更灵活的GraphCanvas组件,支持插槽布局和更多配置选项
更新KnowledgeGraphResult和GraphView视图使用新组件
删除旧的GraphContainer组件并更新相关文档
2025-09-03 16:06:56 +08:00
Wenjie Zhang
91fa5c903e fix(graphbase): 优化连通查询并修复节点重复添加问题 2025-09-03 11:55:40 +08:00
Wenjie Zhang
06e1d3cb09 perf(GraphView): 优化力导向图布局参数以提升性能
调整 alphaDecay、velocityDecay 和 charge.strength 参数,加快布局收敛速度并减少节点震荡
2025-09-03 03:09:39 +08:00
Wenjie Zhang
81aaef8e44 feat(GraphView): 改进图数据库视图的交互和样式
- 重构图数据库视图布局,优化搜索和节点加载功能
- 添加节点点击交互,突出显示相关节点和边
- 使用标签展示图谱信息,替换原有描述文本
- 更新节点和边的样式,提升可视化效果
2025-09-03 03:00:25 +08:00
Wenjie Zhang
dc8f48513f fix(AgentConfigSidebar): 修复无效配置的检查错误的问题 2025-09-02 19:53:12 +08:00
Wenjie Zhang
c47d0e9aab build: 更新Docker基础镜像和前端依赖版本
将api.Dockerfile的基础镜像从python:3.11-slim升级到3.12-slim
更新前端项目名称和版本号,并升级所有依赖包到最新版本
2025-09-02 19:47:52 +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
f16dc7ae49 feat(AgentConfigSidebar): 添加配置项验证和过滤功能
在保存配置前验证并过滤无效的工具ID和选项值,确保配置有效性
2025-09-01 22:28:07 +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