Commit Graph

723 Commits

Author SHA1 Message Date
Wenjie Zhang
76656ab95e refactor: 重构知识库工具并集成新工具
- 新增 KnowledgeBaseMiddleware,提供通用知识库工具(list_kbs、get_mindmap、query_kb)
- 新增 debug/tools.py 调试工具集
- 重构 kbs/tools.py,分离通用工具与 MySQL 工具
- 移除旧的 toolkits registry 简化架构
- API 变更:get_databases_by_user → get_databases_by_user_id
- 前端拆分 KnowledgeBaseTool.vue 为多个专用工具组件
2026-03-04 04:06:48 +08:00
Wenjie Zhang
b4ea2ab948 feat: 重构工具管理并集成新工具API
- 将 `get_tavily_search` 导入移至新的工具包结构中。
- 更新 `skill_service.py` 以获取所有工具而不仅仅是内置工具。
- 引入 `tool_service.py` 用于管理工具元数据和初始化。
- 从 `models.py` 中删除了旧的数据库模型。
- 添加了新的 `tool_api.js` 用于工具管理API端点。
- 创建了 `ToolsManagerComponent.vue` 用于在UI中显示和管理工具。
- 更新了 `ExtensionsView.vue` 以包含工具管理的新标签页。
2026-03-03 23:44:57 +08:00
Wenjie Zhang
b19fdcb9f5 refactor: 将 services 和 adapters 移动到 graphs 目录
- 将 src/knowledge/services/upload_graph_service.py 移动到 src/knowledge/graphs/
- 将 src/knowledge/adapters/ 整个目录移动到 src/knowledge/graphs/adapters/
- 更新所有导入路径:src.knowledge.adapters → src.knowledge.graphs.adapters
- 保持原有的延迟导入设计以解决循环依赖问题
- 保持向后兼容性:src.knowledge.__init__ 仍然导出 UploadGraphService 和 GraphDatabase

影响范围:
- server/routers/graph_router.py
- src/knowledge/__init__.py
2026-03-03 14:44:58 +08:00
Wenjie Zhang
a963241088 refactor(web): 重新组织设置和技能管理组件
- 从SettingsModal.vue中移除了非超级管理员的MCP管理功能。
- 更新了SkillsManagerComponent.vue以增强布局和功能。
- 引入了新的ExtensionsView.vue来管理技能和MCP服务器。
- 更新路由将/skills更改为/extensions。
- 调整了AppLayout.vue以使用新的图标和路径进行扩展管理。
2026-03-03 11:49:50 +08:00
Wenjie Zhang
b144b72de0 fix(web): 修复滚动到底部未生效的问题,并优化 markdown 渲染 padding 2026-03-03 00:05:28 +08:00
Wenjie Zhang
3ac6fee7b8 refactor: 增强消息来源处理,合并相关组件并优化状态管理 2026-03-02 21:01:37 +08:00
Wenjie Zhang
9cbed254bb refactor: 添加Markdown预览样式,优化文件展示逻辑并移除冗余代码 2026-03-02 21:01:28 +08:00
Wenjie Zhang
2020438152 refactor: 重构文件树组件,优化AgentPanel和SkillsManager组件的文件展示逻辑 2026-03-02 10:25:33 +08:00
Wenjie Zhang
bfd22c760f refactor: 更新AgentPanel、HeaderComponent和SkillsManager组件的样式和结构
- 重新排列了AgentPanel中的标签页以提升用户体验。
- 将AgentPanel中的默认活动标签页从'todos'更改为'files'。
- 更新了HeaderComponent中的标题样式以提高可读性。
- 调整了HeaderComponent段落的边距以获得更好的间距效果。
- 重构SkillsManagerComponent以增强布局和可用性:
  - 引入了新的HeaderComponent以获得更好的结构。
  - 改进了技能列表和详情面板的布局。
  - 添加了技能搜索功能。
  - 通过更好的样式和布局增强了依赖管理界面。
  - 更新了文件编辑器和树形结构以改善用户体验。
2026-03-02 02:48:30 +08:00
肖泽涛
76e247052e Revert "fix(web): use env flag to hide graph menu at build time"
This reverts commit e2060de810.
2026-03-01 17:53:40 +08:00
肖泽涛
b2788fc173 优化知识库文件批量删除为50条分批请求
- 新增后端批量删除接口 /documents/batch

- 前端批量删除改为每批50个文件请求

- 修复删除进度提示不更新问题(统一 key 更新 loading)
2026-03-01 16:18:59 +08:00
肖泽涛
e2060de810 fix(web): use env flag to hide graph menu at build time 2026-02-28 17:13:51 +08:00
肖泽涛
725e2077a0 Merge branch 'codex/run-ha-v4-redis-stream' 2026-02-27 18:19:14 +08:00
肖泽涛
37daae7958 Merge branch 'feature/skills'
# Conflicts:
#	server/utils/lifespan.py
2026-02-27 18:19:14 +08:00
肖泽涛
ffb32ed242 merge: reconcile main with origin/main 2026-02-27 18:19:14 +08:00
肖泽涛
85480dbdc0 feat: migrate chat streaming to async run queue + SSE 2026-02-27 18:19:13 +08:00
肖泽涛
b0f21309f7 fix(agent): 修复工具也变成在流式输出的问题 2026-02-27 18:19:13 +08:00
肖泽涛
326f87d67f refactor: 会话级 skill resolver 与 skills 加载链路重构 2026-02-26 18:35:03 +08:00
Wenjie Zhang
52f9ed0eb9 refactor(metadata): 将_save_metadata()替换为_persist_file()以优化文件持久化逻辑 #513 2026-02-25 15:53:38 +08:00
Wenjie Zhang
74cb569569 fix(chat): 优化消息加载逻辑,移除不必要的延迟参数( Error: 关于v0.5版本数据库引发的问题
Fixes #513)
2026-02-25 12:17:02 +08:00
Wenjie Zhang
5fa89ddc85 style(web): 优化部分细节 2026-02-25 12:10:50 +08:00
Wenjie Zhang
7bfde7cc2c style(format): 代码风格化 2026-02-25 11:07:28 +08:00
Wenjie Zhang
ee3053c776 Merge branch 'main' of https://github.com/xerrors/Yuxi-Know 2026-02-25 10:47:51 +08:00
肖泽涛
80cf6937ed fix: 修复新增对话时内容直接作为标题长度超出表字段长度限制问题, titile 字段长度限制为255
- 新增 MAX_CONVERSATION_TITLE_LENGTH 常量 (255 字符)
- 新增 _normalize_title() 方法用于截断和校验标题
- 防止创建和更新对话时数据库字段溢出
- 前端 AgentChatComponent 同步添加标题标准化处理
- 添加标题标准化的单元测试
2026-02-25 10:39:32 +08:00
肖泽涛
afd83e5084 feat: 增强Agent文件能力并补充流式调试日志 2026-02-24 18:03:47 +08:00
肖泽涛
df8b97017a feat(web): add collapsible source panel with kb and web groups 2026-02-24 14:22:11 +08:00
肖泽涛
6416589787 feat: 支持 Dify 只读知识库检索接入 2026-02-24 12:12:02 +08:00
肖泽涛
c1afed8d3d Merge branch 'codex/mcp-env-field-support' into feature/skills 2026-02-23 22:55:47 +08:00
肖泽涛
0f7c0d3017 fix(skills): 增强安全性与交互体验
- 添加 skill slug 格式校验,防止路径遍历攻击
- 优化导出文件清理逻辑,添加异常处理
- 前端依赖管理表单添加禁用状态联动
- 补充相关单元测试

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:52:26 +08:00
肖泽涛
c1653a59c0 feat(mcp): add stdio env support and env editor component 2026-02-22 18:57:30 +08:00
肖泽涛
2666b27fcb feat(skills): 支持依赖管理与运行时渐进注入 2026-02-22 17:42:37 +08:00
肖泽涛
46b676db07 feat(skills): add skills management module
实现 Skills 管理功能,支持超级管理员导入、编辑、导出和删除技能包。

- 新增 Skill 数据模型(元数据存数据库,内容存文件系统)
- 新增 /api/system/skills/* 路由(权限分级:admin 可列表,superadmin 可管理)
- 新增 SelectedSkillsReadonlyBackend,运行时只读挂载到 /skills
- Agent 配置新增 skills 字段,运行时注入技能提示词
- 前端新增 Skills 管理页面(设置弹窗 + 独立路由)
- 新增测试覆盖:service/router/backend 单测

未实现功能:
 - 关联使用其他技能
 - 沙箱执行代码
 - 在技能中绑定工具
2026-02-21 02:48:20 +08:00
肖泽涛
b554bbbe4a Merge branch 'fix/conversation-title-length' 2026-02-20 23:56:30 +08:00
肖泽涛
8fe32d0b21 fix: 修复新增对话时内容直接作为标题长度超出表字段长度限制问题, titile 字段长度限制为255
- 新增 MAX_CONVERSATION_TITLE_LENGTH 常量 (255 字符)
- 新增 _normalize_title() 方法用于截断和校验标题
- 防止创建和更新对话时数据库字段溢出
- 前端 AgentChatComponent 同步添加标题标准化处理
- 添加标题标准化的单元测试
2026-02-20 23:41:44 +08:00
肖泽涛
60bc408a3e feat(knowledge): add ragflow-like chunk preset pipeline 2026-02-20 19:35:43 +08:00
肖泽涛
4bd77fce12 Merge branch 'main' of https://github.com/xerrors/Yuxi-Know 2026-02-20 13:27:35 +08:00
肖泽涛
360316963e feat(evaluation): 支持评估基准下载 2026-02-20 13:23:20 +08:00
Wenjie Zhang
d532e2bb46 style(web): 移除数据库信息页签的底部边框 2026-02-15 21:59:59 +08:00
Wenjie Zhang
426b3ddc5b fix(web): 修复文件详情弹窗视图模式切换逻辑
- 改为检查 hasChunks(有实际分块数据)而非 hasIndexed(索引状态)
- 当文件没有 chunks 时正确重置为 markdown 视图
2026-02-15 21:59:28 +08:00
Wenjie Zhang
ed849a2e5c feat(tool): 优化 MySQL 工具命名并添加前端渲染组件
- 将工具 name_or_callable 从中文改为英文 (mysql_query, mysql_describe_table, mysql_list_tables)
- 添加 MySQL 工具结果的前端渲染组件,提升用户体验
2026-02-15 21:57:41 +08:00
Wenjie Zhang
1f5636520e style: 统一代码格式和 import 顺序
- 调整 Python 文件 import 顺序,遵循标准库→第三方库→项目模块顺序
- 统一字符串引号风格为双引号
- 优化 Vue 组件 console.log 格式
- 压缩 import 语句为单行
- 清理不必要的空行
2026-02-13 22:29:20 +08:00
Wenjie Zhang
44e41bbb5a refactor: 简化附件处理架构,使用 StateBackend 替代 MinIO
- 移除 MinIOBackend 和复合存储后端,统一使用 StateBackend
- 依赖 LangGraph checkpointer 自动恢复 state(attachments, files)
- 前端适配 StateBackend 字典格式文件结构
- 优化 @提及 文件搜索逻辑,支持路径匹配
2026-02-13 22:16:11 +08:00
Wenjie Zhang
34b06b297e feat(web): 在聊天输入中实现并优化 @ 提及功能
- 在 MessageInputComponent 中启用 @ 提及触发器,并支持键盘导航。
- 通过 AgentChatComponent 将提及配置传递到 AgentInputArea,最终传递至输入组件。
- 实现根据所选代理配置获取并筛选知识库和 MCP 的逻辑。
- 在提及候选列表中包含标准化的代理文件和上传的附件。
- 通过向上展开的弹窗、键盘选择时自动滚动以及自动插入空格来提升用户体验。
- 优化提及弹窗样式(宽度、字体大小、间距),移除不必要的图标以保持界面简洁。
2026-02-04 17:05:26 +08:00
Wenjie Zhang
5348106513 docs: 移除 0.3.0的文档 2026-02-03 15:35:50 +08:00
Wenjie Zhang
4d25efddbe style(tool): 对路径和文件名添加等宽字体显示 2026-02-03 15:04:36 +08:00
Wenjie Zhang
88b6b27465 style(format): format 2026-02-03 14:55:21 +08:00
Wenjie Zhang
f4090ede9d style(tool): 优化部分工具调用渲染效果 2026-02-03 14:54:25 +08:00
Wenjie Zhang
b589521775 feat: 添加更多工具解析组件 2026-02-03 14:03:57 +08:00
Wenjie Zhang
e0f1c21ceb feat(agent-panel): 添加附件删除功能
- 新增附件删除按钮和 deleteAttachment 方法
- 优化文件树操作按钮样式,支持多按钮布局
- 附件列表添加独立边框样式,提升视觉区分度
2026-02-03 12:13:52 +08:00
Wenjie Zhang
fae17c3013 feat(backend): 新增 MinIO 虚拟文件系统后端
实现 MinIOBackend 类,实现 BackendProtocol 接口:
- 将 /attachments/* 路径映射到 MinIO 对象存储
- 支持 ls_info、read、write、edit、glob_info、grep_raw 等操作
- 提供 init_attachment_bucket() 初始化函数

后续提交将使用此后端替代本地文件系统存储附件。
2026-02-03 02:28:51 +08:00
Wenjie Zhang
796c804514 feat(middleware): 新增 SummaryOffloadMiddleware 中间件
- 新增 SummaryOffloadMiddleware,支持 summary 历史管理和 ToolResult 卸载
  - 重构 attachment_middleware 增强 thread_id 获取逻辑
  - 更新 chatbot/deep_agent/reporter 智能体配置
  - 优化 AgentPanel UI 交互体验
2026-02-02 21:44:10 +08:00
Wenjie Zhang
1ab0654971 fix: 修复计算器结果解析函数名错误 2026-01-31 17:44:51 +08:00
Wenjie Zhang
cfb0ed7609 feat(agent-panel): 添加可调整宽度的agent面板
- 为 AgentPanel 组件添加拖拽调整宽度功能
- 引入 resize-handle 组件处理拖拽交互
- 设置面板宽度范围限制(280px-600px)
2026-01-31 17:04:30 +08:00
Wenjie Zhang
f31705d58c style(ui): 优化状态面板 UI 和交互体验
- 调整聊天面板与状态面板的布局比例 (4:3)
- 优化动画过渡效果,缩短时长
- 统一图标风格 (FolderDot -> FolderCode)
- 移除 tab 条件显示,始终显示所有标签
- 调整进度显示格式 (completed/total)
- 缩小状态面板元素尺寸
- 知识库工具支持纯文本结果展示
2026-01-31 14:16:53 +08:00
Wenjie Zhang
820b6581e7 fix: (pre-commit) 添加子智能体切换要求 2026-01-30 13:34:11 +08:00
Wenjie Zhang
7e5bba9971 refactor: 更新工具名称为英文并优化深度分析上下文提示,删除不必要的样式 2026-01-29 22:49:04 +08:00
Wenjie Zhang
812bb95f8d format: 格式化代码 2026-01-29 21:08:43 +08:00
Wenjie Zhang
5a376dd1b9 fix(docs): 更新快速开始指南中的版本号至 v0.5.0-beta4 2026-01-28 11:32:36 +08:00
Wenjie Zhang
20268d6400 feat: 更新多个组件和API,优化用户体验和错误处理 2026-01-27 21:46:10 +08:00
Wenjie Zhang
a4f425dbf9 feat: 上传文件新增基于URL获取和处理功能,需要配置白名单环境变量
- 引入新的端点来获取URL内容并转换为Markdown格式。
- 在环境变量中添加URL白名单配置以确保安全。
- 增强文件上传模态框以支持URL输入和URL批量处理。
- 更新文件处理逻辑以区分文件和URL。
- 改进UI组件以适应新的URL处理功能。
- 添加用于URL验证和获取的工具函数。
2026-01-27 17:12:48 +08:00
Wenjie Zhang
537b798f9a fix: 更新 MilvusKB 配置项标签,添加重排序模型选择功能,优化 SearchConfigModal 描述显示 2026-01-27 17:07:18 +08:00
Wenjie Zhang
5cd4b9f88e fix: 修复共享配置状态的响应式问题,确保正确处理共享设置 Fixes: #505 2026-01-27 16:25:05 +08:00
Wenjie Zhang
4a0110d1a7 feat(task): 添加任务删除功能,支持通过 API 删除任务并更新前端状态 2026-01-25 23:47:40 +08:00
Wenjie Zhang
729d2fe6b3 feat: 添加面板滑动过渡效果,优化数据库刷新逻辑,调整样式细节 2026-01-25 23:00:03 +08:00
Wenjie Zhang
882a90cb9b refactor(agent-web): 将智能体状态修改为状态工作台,集成文件,任务,附件 2026-01-24 15:24:25 +08:00
Wenjie Zhang
e58891b53b fix(debug): 修复调试窗口的日志滚动问题 2026-01-24 15:24:21 +08:00
Wenjie Zhang
794a860a58 docs: 更新快速开始指南和版本号,优化数据库描述注入逻辑 2026-01-24 12:36:24 +08:00
Wenjie Zhang
a8b7a37dca feat: 更新版本号至 0.5.0-beta 2026-01-24 12:06:49 +08:00
Wenjie Zhang
b6e0d524a1 fix: 修复由于过滤逻辑导致的过滤问题,优化多选配置项验证逻辑,确保选项数组不为空 2026-01-24 10:56:31 +08:00
Wenjie Zhang
b271da3ca8 fix(context): 修复 deep_agent 的 Prompt 无法正确解析的问题 2026-01-24 10:56:31 +08:00
Wenjie Zhang
d538527e7a chore(database): 优化镜像配置与部分 SQLite 残留 2026-01-24 10:56:31 +08:00
Wenjie Zhang
3b903bcef4 feat(config): 在前端添加基于权限的知识库展示设计 2026-01-24 10:56:31 +08:00
Wenjie Zhang
7ffc7a7920 feat(web/config): 重构配置侧边栏为通用选择组件
重构 AgentConfigSidebar 组件,将工具选择逻辑抽象为通用选择组件
- 支持显示选项名称和描述
- 根据选项数量自动切换显示模式(卡片列表或弹窗)
- 统一处理工具、知识库等多选配置项
- 优化样式和交互体验
2026-01-24 10:56:31 +08:00
Wenjie Zhang
5cb6e4402f fix(chat): 修复知识库权限过滤逻辑
TODO: 前端还未完成过滤
2026-01-24 10:56:31 +08:00
Wenjie Zhang
01ea590f76 feat(agent): 实现多部门智能体配置管理功能
新增部门级智能体配置管理,支持创建、切换、编辑和删除配置
添加运行时配置中间件,支持动态加载模型、工具和知识库
重构智能体上下文处理,支持部门ID和配置切换
实现前端配置管理界面,支持配置的增删改查和设为默认
添加后端API和数据库模型支持多配置管理
2026-01-24 10:56:31 +08:00
Wenjie Zhang
a5d55d6c37 refactor(storage): 重构对话数据库模型与存储管理
将业务数据模型从SQLite迁移至PostgreSQL,统一使用models_business.py
删除旧的SQLite模型和ConversationManager,新增repository和服务层
优化时间处理工具函数,增加utc_now_naive和format_utc_datetime
重构前端组件代码格式,统一多行导入和长字符串的换行风格
2026-01-24 10:56:31 +08:00
Wenjie Zhang
431f06f211 feat(auth): 添加超级管理员用户切换功能和相关日志记录 2026-01-24 10:56:31 +08:00
Wenjie Zhang
f3da61b10a 功能:增强知识库访问控制和共享配置 #480
- 在save_agent_config中实现了基于用户角色的知识库访问控制。
- 添加了新端点以检索当前用户可访问的数据库。
- 在数据库创建和更新过程中引入了share_config以管理共享设置。
- 创建了ShareConfigForm组件用于在UI中管理共享设置。
- 更新了部门和知识API以支持新的访问控制功能。
- 增强了用户管理组件以显示用户角色和部门名称。
- 重构了数据库视图以包含共享配置设置。
2026-01-24 10:56:31 +08:00
Wenjie Zhang
e7684ad9c4 feat(DataBaseInfoView): 添加待处理文件提示条和批量解析/入库功能 2026-01-23 22:50:00 +08:00
Wenjie Zhang
08573a6de4 fix(kb_utils): 从 content_hashes 映射中获取 content_hash,添加缺失时的异常处理 #486 2026-01-20 13:05:44 +08:00
Wenjie Zhang
f686c2873c style: 代码格式化,优化导入和组件结构 2026-01-18 23:07:21 +08:00
Wenjie Zhang
5b3703ac1c feat(account): 添加部门基础管理功能 #480
- 实现数据库迁移,创建部门表并向用户表添加department_id字段。
- 创建Department模型并与User模型建立关联关系。
- 开发部门管理API以支持增删改查操作。
- 添加DepartmentManagementComponent用于在UI中管理部门。
- 在UserManagementComponent中集成部门选择功能以进行用户分配。
- 更新用户存储以处理部门数据。
- 增强UI组件以改善样式和用户体验。
2026-01-18 22:54:43 +08:00
Wenjie Zhang
937355e390 feat: 添加加载状态和空内容提示,优化文件详情展示 2026-01-15 12:17:18 +08:00
Wenjie Zhang
995c6041aa lint(web): [大量改动] 格式化前端代码 2026-01-15 06:01:34 +08:00
Wenjie Zhang
370b0e4b25 feat: 添加选项卡功能以优化配置项展示,重构侧边栏布局 2026-01-15 05:59:13 +08:00
Wenjie Zhang
673a7fdd75 feat: 优化设置面板和模型提供者组件的布局与样式 2026-01-15 05:33:24 +08:00
Wenjie Zhang
62685b7ffe refactor: 重构组件和样式以改善UI/UX
- 重构FileDetailModal.vue,增加了下载选项下拉菜单并优化了布局。
- 移除部分页面的响应式媒体查询,不做响应式适配,仅适配大众尺寸
- 改进了ChunkParamsConfig.vue的布局,更好地分组参数。
- 调整了FileTable.vue,改善排序和筛选UI,包括状态筛选逻辑。
- 优化了FileUploadModal.vue的布局,提高OCR引擎配置的可见性。
- 其他  AiTextarea.vue / DataBaseView.vue / AppLayout.vue / file_utils.js / DataBaseInfoView.vue / FeedbackModalComponent.vue / FileTable.vue
2026-01-15 04:54:53 +08:00
Wenjie Zhang
55dbbf1846 feat: 优化动态 filetable 分页 #472 2026-01-15 02:38:02 +08:00
Wenjie Zhang
7fb5ba830d chore: 更新版本号至 v0.4.3,修改相关文档和配置文件 2026-01-15 01:07:41 +08:00
Wenjie Zhang
1204e9f134 fix(style): 修复任务中心硬编码颜色 2026-01-15 01:04:03 +08:00
Wenjie Zhang
22921fdec7 feat(parsing): 使用 docling 处理 docx/xlsx/pptx #439 2026-01-15 00:29:00 +08:00
Wenjie Zhang
9fa8ce288f feat: 添加知识库名称检查,防止重复创建相同名称的知识库 #466 2026-01-14 22:00:53 +08:00
Wenjie Zhang
386c5d5dad feat: 添加模型选择校验,确保生成模型和评估模型同时选择或同时不选择 2026-01-14 21:52:20 +08:00
Wenjie Zhang
5047cd0744 style: 调整设置模态框样式,优化布局和间距 2026-01-14 21:40:48 +08:00
Wenjie Zhang
e1825aded2 style: 点击服务器名称显示详情模态框,限制图标输入长度 2026-01-14 21:12:12 +08:00
Wenjie Zhang
ebbb831fc0 feat: 实现MCP服务以统一业务逻辑和状态管理
- 新增 mcp_service 文件,移除原本的 src/agents/common/mcp.py,所有功能合并到mcp_service,MCP服务来处理服务器配置的增删改查操作、数据库与缓存之间的同步以及MCP客户端和工具的管理。
- 将重构的 MCP 和现有智能体做适配,引入全局缓存和状态管理机制用于MCP服务器和工具。
- 数据库表更新,在MCPServer模型中为StdIO传输类型添加了command和args字段。
- 其他代码优化、增强样式以提升用户体验和可读性。
2026-01-14 20:16:51 +08:00
hfdy2019
c360252e56 feat: 新增支持动态配置mcp功能 2026-01-14 20:16:51 +08:00
Wenjie Zhang
59b7193762 feat: 添加任务卡片状态指示器和进度信息,优化样式 2026-01-14 18:00:54 +08:00
Wenjie Zhang
28259ff66d feat: 添加自动入库功能及相关配置选项 2026-01-12 17:51:32 +08:00
humeng
9ca67b520e fix: change title 2026-01-12 17:09:39 +08:00