From e37bd7c808145aeb0627b73eead1c1faec4645c3 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 9 Jun 2026 00:05:47 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=A1=85=E5=9F=BA?= =?UTF-8?q?=E6=B5=81=E5=8A=A8=E6=8E=A5=E5=8F=A3=E4=B8=8E=20langchain=20str?= =?UTF-8?q?eam=20event=20v3=20=E4=B8=8D=E5=85=BC=E5=AE=B9=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/package/yuxi/agents/models.py | 10 +++++++++- backend/package/yuxi/models/providers/builtin.py | 6 ------ backend/package/yuxi/models/providers/cache.py | 2 +- backend/package/yuxi/models/providers/service.py | 2 +- backend/package/yuxi/services/chat_service.py | 4 ++-- docs/develop-guides/changelog.md | 1 + docs/develop-guides/roadmap.md | 16 ++++++++++------ .../ModelProviderManagePanel.vue | 5 ++--- web/src/utils/modelIcon.js | 1 - 9 files changed, 26 insertions(+), 21 deletions(-) diff --git a/backend/package/yuxi/agents/models.py b/backend/package/yuxi/agents/models.py index be86bc4e..dcb82657 100644 --- a/backend/package/yuxi/agents/models.py +++ b/backend/package/yuxi/agents/models.py @@ -6,6 +6,10 @@ from yuxi.utils import get_docker_safe_url from yuxi.utils.logging_config import logger +def _requires_non_streaming_tool_calls(provider_id: str, model_id: str) -> bool: + return provider_id.startswith("siliconflow") + + def load_chat_model(fully_specified_name: str, **kwargs) -> BaseChatModel: if not fully_specified_name: raise ValueError("model spec 不能为空") @@ -47,10 +51,14 @@ def load_chat_model(fully_specified_name: str, **kwargs) -> BaseChatModel: from langchain_openai import ChatOpenAI + openai_kwargs = dict(kwargs) + if _requires_non_streaming_tool_calls(info.provider_id, info.model_id): + openai_kwargs.setdefault("disable_streaming", "tool_calling") + return ChatOpenAI( model=info.model_id, api_key=SecretStr(api_key), base_url=base_url, stream_usage=True, - **kwargs, + **openai_kwargs, ) diff --git a/backend/package/yuxi/models/providers/builtin.py b/backend/package/yuxi/models/providers/builtin.py index a7cbab45..5a85da51 100644 --- a/backend/package/yuxi/models/providers/builtin.py +++ b/backend/package/yuxi/models/providers/builtin.py @@ -24,12 +24,6 @@ BUILTIN_PROVIDERS: list[dict[str, Any]] = [ # "api_key_env": "GEMINI_API_KEY", # "models_endpoint": "https://generativelanguage.googleapis.com/v1beta/models", # }, - # { - # "provider_id": "lmstudio", - # "display_name": "LM Studio", - # "base_url": "http://localhost:1234/v1", - # "models_endpoint": "http://localhost:1234/v1/models", - # }, { "provider_id": "deepseek", "display_name": "DeepSeek", diff --git a/backend/package/yuxi/models/providers/cache.py b/backend/package/yuxi/models/providers/cache.py index 8bb4fce7..c5e34431 100644 --- a/backend/package/yuxi/models/providers/cache.py +++ b/backend/package/yuxi/models/providers/cache.py @@ -33,7 +33,7 @@ class ModelInfo: # 运行时配置 api_key: str base_url: str - provider_type: str # openai / anthropic / gemini / openrouter / lmstudio + provider_type: str # openai / anthropic / gemini / openrouter # 可选配置 headers: dict[str, str] = field(default_factory=dict) diff --git a/backend/package/yuxi/models/providers/service.py b/backend/package/yuxi/models/providers/service.py index a4b6ee0e..7e4585b3 100644 --- a/backend/package/yuxi/models/providers/service.py +++ b/backend/package/yuxi/models/providers/service.py @@ -20,7 +20,7 @@ from yuxi.storage.postgres.models_business import ModelProvider VALID_MODEL_TYPES = {"chat", "embedding", "rerank"} VALID_MODEL_SOURCES = {"manual", "remote"} -VALID_PROVIDER_TYPES = {"openai", "anthropic", "gemini", "openrouter", "lmstudio"} +VALID_PROVIDER_TYPES = {"openai", "anthropic", "gemini", "openrouter"} _PROVIDER_ID_RE = re.compile(r"^[a-zA-Z0-9][a-zA-Z0-9_-]{1,99}$") diff --git a/backend/package/yuxi/services/chat_service.py b/backend/package/yuxi/services/chat_service.py index 4ccf88e2..d53548df 100644 --- a/backend/package/yuxi/services/chat_service.py +++ b/backend/package/yuxi/services/chat_service.py @@ -231,7 +231,7 @@ def _message_chunk_yuxi_events( "type": "tool_call_delta", "message_id": message_id, "tool_call_id": tool_call_chunk.get("id"), - "name": tool_call_chunk.get("name"), + "name": tool_call_chunk.get("name") or None, "args_delta": args_delta, "index": tool_call_chunk.get("index") if tool_call_chunk.get("index") is not None else 0, **route, @@ -377,7 +377,7 @@ async def _save_ai_message( for tc in tool_calls_data: await conv_repo.add_tool_call( message_id=ai_msg.id, - tool_name=tc.get("name", "unknown"), + tool_name=tc.get("name") or "unknown", tool_input=tc.get("args", {}), status="pending", langgraph_tool_call_id=tc.get("id"), diff --git a/docs/develop-guides/changelog.md b/docs/develop-guides/changelog.md index 6483aad2..915a2a81 100644 --- a/docs/develop-guides/changelog.md +++ b/docs/develop-guides/changelog.md @@ -57,6 +57,7 @@ - 优化智能体对话页细节:状态面板隐藏空 section,待办名称限制为 20 个中文汉字以内,模型选择器展示供应商名称,并收紧附件状态标签与文件编辑浮动操作样式。 - 标准化 Agent run/SSE 执行链路:run 创建时持久化输入消息并提交后入队,worker 统一写入 Redis Stream envelope,SSE 输出 `event/data/id`、心跳注释、`Last-Event-ID` 回放和终止 `end` 事件;前端强制使用 run API 并支持 ask_user_question 中断后以 resume run 恢复;事件 envelope 构造收敛到统一 helper,前端优先使用 envelope 一级 `thread_id` 路由。 - Agent run SSE 新增 `verbose=false` 精简模式:默认仍返回完整事件载荷;精简模式仅在 SSE 输出前重建最小 payload,跳过 `metadata` 和空 `yuxi.agent_state`,将同一 data 内的 `request_id` 外提为单个字段,移除 chunk 中重复的 `meta`、`metadata`、`thread_id`、`response`、空 `namespace` 和图片 base64 等调试字段,保留消息增量、工具调用、工具结果、非空 Agent state、终止状态和 SSE 游标,前端订阅默认使用精简模式。 +- 修复 SiliconFlow MiniMax 工具调用流式兼容:MiniMax 在 OpenAI 兼容流中会在参数增量 chunk 返回空 `function.name`,LangGraph v3 event stream 会将空名称写入最终工具调用并导致工具执行失败;该模型默认对工具调用禁用流式模型响应,保留 LangGraph v3 运行事件并避免 agent-chat 中出现空工具名。 - 收敛后端模块边界:文档解析从 `plugins.parser` 移动到 `knowledge.parser`,内容审查从 `plugins.guard` 移动到 `services.guard`。 - 收敛文件服务边界:文件预览判断抽为独立服务,Viewer 文件系统的 workspace 分支复用用户 workspace 服务,线程运行时上下文解析从泛化 `filesystem_service` 拆出为 agent runtime helper。 - 升级 DeepAgents 到 0.6.7 并适配新版文件系统协议:SubAgentMiddleware 改为显式 subagent spec,Skills prompt 补齐新版占位符;sandbox/skills backend 复用新版 `ReadResult`、`GlobResult`、`GrepResult` 等协议类型,文件权限在 backend 层明确区分 skills、uploads、outputs 与 workspace,保留最小 `CustomCompositeBackend` 以避免非 route glob 误扫其他 route;Agent 上下文压缩改为复用 DeepAgents SummarizationMiddleware,历史摘要与大工具结果统一 offload 到 outputs。 diff --git a/docs/develop-guides/roadmap.md b/docs/develop-guides/roadmap.md index a4d8f7c8..698ed926 100644 --- a/docs/develop-guides/roadmap.md +++ b/docs/develop-guides/roadmap.md @@ -17,29 +17,33 @@ **智能体** -- [ ] 子智能体缺少异步的机制 -- [ ] 子智能体缺少 steer 机制 -- [ ] 子智能体的双向通信,缺少 ask_for_main_agent 的机制 +- [ ] 子智能体缺少异步的机制 +- [ ] 子智能体缺少 steer 机制 +- [ ] 子智能体的双向通信,缺少 ask_for_main_agent 的机制 - [ ] 子智能体与子智能体的通信机制 - [ ] 如何停掉一个子智能体、查看智能体的进度 - [ ] RAG 评估支持 Agent 模式 - [ ] 添加 Agent 独立调用接口,方便后续评估使用 +- [ ] 任务队列 + +**并发与分布式** +- [ ] 提高 FastAPI 的并发能力 **其他** - [ ] 历史对话新增分组(或者叫做项目) - [ ] 集成 Memory,基于 deepagents 的文件后端实现,需要考虑定位 +- [ ] 模型供应商类型继续补齐非 OpenAI 兼容适配,并清理不再支持的 provider type 字样 **仅设想** - [ ] Yuxi-cli 相关的功能,放在后续版本中实现(不是类似于编程助手,而是管理平台的工,等各个 router 接口优化之后) - - - +- [ ] Yuxi-cli 支持 `yuxi upload `,将本地文件夹上传到系统中 ### Bugs - [ ] 目前的知识库的图片存在公开访问风险 - [ ] 点开对话的时候要能够自动定位到尾部,而不是最开始。 - [ ] HTML 渲染侧边模式底部有部分无法渲染,全屏情况下下面有白边 +- [ ] Summary 无法正常触发 --- diff --git a/web/src/components/model-management/ModelProviderManagePanel.vue b/web/src/components/model-management/ModelProviderManagePanel.vue index 8924d2c4..fc1656c1 100644 --- a/web/src/components/model-management/ModelProviderManagePanel.vue +++ b/web/src/components/model-management/ModelProviderManagePanel.vue @@ -741,10 +741,9 @@ defineExpose({ Provider Type openai - anthropic + diff --git a/web/src/utils/modelIcon.js b/web/src/utils/modelIcon.js index 47830647..5d3d3c5c 100644 --- a/web/src/utils/modelIcon.js +++ b/web/src/utils/modelIcon.js @@ -10,7 +10,6 @@ export const modelIcons = { dashscope: `${ICON_BASE}/bailian-color.svg`, deepseek: `${ICON_BASE}/deepseek-color.svg`, google: `${ICON_BASE}/google-color.svg`, - lmstudio: `${ICON_BASE}/lmstudio.svg`, minimax: `${ICON_BASE}/minimax-color.svg`, 'minimax-cn': `${ICON_BASE}/minimax-color.svg`, modelscope: `${ICON_BASE}/modelscope-color.svg`, From 9e23ad8976625ff4704dd3123c020fa5ff4f2306 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 9 Jun 2026 00:38:49 +0800 Subject: [PATCH 2/5] =?UTF-8?q?docs:=20=E7=B2=BE=E7=AE=80=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=AF=B4=E6=98=8E=E5=B9=B6=E6=9B=B4=E6=96=B0=E8=B7=AF?= =?UTF-8?q?=E7=BA=BF=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 2 + README.md | 107 +----------------- docs/.vitepress/theme/components/YuxiHome.vue | 2 +- docs/develop-guides/changelog.md | 1 + docs/develop-guides/roadmap.md | 10 +- docs/intro/quick-start.md | 2 +- 6 files changed, 14 insertions(+), 110 deletions(-) diff --git a/README.en.md b/README.en.md index 09a14795..4c91e08b 100644 --- a/README.en.md +++ b/README.en.md @@ -24,6 +24,8 @@ Yuxi is an LLM-powered platform for building knowledge-base and knowledge-graph agents. It unifies **RAG retrieval**, **Milvus-backed in-knowledge-base graphs**, and **LangGraph multi-agent orchestration** into a single multi-tenant workspace: administrators configure knowledge bases, models, and permissions, while users chat — in a ChatGPT-like interface — with agents that can mount Skills, MCPs, sub-agents, and sandbox tools, and receive answers with cited sources, graph-based reasoning, and deliverable artifacts. +Navigation: [Introduction](https://xerrors.github.io/Yuxi/) | [Quick Start](https://xerrors.github.io/Yuxi/intro/quick-start) | [Roadmap](https://xerrors.github.io/Yuxi/develop-guides/roadmap); for the latest updates, see the [changelog](https://xerrors.github.io/Yuxi/develop-guides/changelog). + ## Core Features - 🤖 **Agent development** — Built on LangGraph, with sub-agents (SubAgents), Skills, MCPs, Tools, and middleware; long-running tasks run asynchronously on a background worker, backed by a sandbox file system for persisting, previewing, and downloading tool artifacts. diff --git a/README.md b/README.md index a41f24bb..01061cb0 100644 --- a/README.md +++ b/README.md @@ -7,31 +7,25 @@ [![](https://img.shields.io/github/issues/xerrors/Yuxi?color=F48D73)](https://github.com/xerrors/Yuxi/issues) [![License](https://img.shields.io/github/license/bitcookies/winrar-keygen.svg?logo=github)](https://github.com/xerrors/Yuxi/blob/main/LICENSE) [![DeepWiki](https://img.shields.io/badge/DeepWiki-blue.svg)](https://deepwiki.com/xerrors/Yuxi) -[![demo](https://img.shields.io/badge/demo-00A1D6.svg?style=flat&logo=bilibili&logoColor=white)](https://www.bilibili.com/video/BV1TZEx6NEit/) xerrors%2FYuxi | Trendshift -[[文档]](https://xerrors.github.io/Yuxi) · [[English]](README.en.md) +[[项目文档]](https://xerrors.github.io/Yuxi) · [[English]](README.en.md) ![arch](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/arch.png) -**图由 GPT-Image-2 生成* - ## 简介 语析(Yuxi)是一个基于大模型的智能知识库与知识图谱智能体开发平台。它把 **RAG 检索**、**Milvus 知识库内知识图谱** 与 **LangGraph 多智能体编排** 整合进统一的多租户工作台:管理员配置知识库、模型与权限,用户在类 ChatGPT 的界面中与可挂载 Skills、MCP、子智能体和沙盒工具的智能体对话,并获得带引用来源、知识图谱推理与可交付产物的回答。 -## 核心特性 +导航:[项目介绍](https://xerrors.github.io/Yuxi/) | [快速开始](https://xerrors.github.io/Yuxi/intro/quick-start) | [开发路线图](https://xerrors.github.io/Yuxi/develop-guides/roadmap);最新开发动态,详见 [changelog](https://xerrors.github.io/Yuxi/develop-guides/changelog)。 -- 🤖 **智能体开发** —— 基于 LangGraph 构建,支持子智能体(SubAgents)、Skills、MCP、Tools 与中间件机制;长耗时任务由后台 worker 异步执行,配套沙盒文件系统支持工具产物落盘、预览与下载。 -- 📚 **知识库(RAG)** —— 多格式文档解析(MinerU / PaddleX / OCR),可配置 Embedding 与 Rerank 模型,支持知识库评估与 PDF / 图片在线预览,检索来源回填到对话引用。 -- 🕸️ **知识图谱** —— 在 Milvus 知识库内构建、展示和检索实体关系图谱,并与 chunk 检索结果融合参与智能体推理。 -- 🏢 **多租户与权限** —— 用户 / 部门级权限管理,模型供应商统一配置,支持 API Key 认证供外部系统集成调用。 -- ⚙️ **平台与工程化** —— Vue + FastAPI 架构,开箱即用的 Docker Compose 部署,支持暗黑模式、LITE 轻量启动与生产级编排。 + +![image-20260606190609377](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260606235615139.png) ## 技术栈 @@ -42,56 +36,6 @@ | 存储 | PostgreSQL · Redis · MinIO · Milvus · Neo4j | | 文档解析 | MinerU · PaddleX · RapidOCR | | 部署 | Docker Compose | - -![image-20260606190609377](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260606235615139.png) - -## 最新动态 - - -
-[2026/06] v0.7.0 开发中(重要不兼容变更) - -**重大变更** - -- **模型配置收敛**:移除旧版 v1 模型配置与 Ollama 支持,运行时统一使用 `provider_id:model_id` 与独立 provider 模块,自定义 provider 迁移到数据库 -- **智能体运行时收敛**:用户可见的 `AgentConfig` 收敛为数据库持久化的一级 `Agent`,新增 `/api/agent` 管理与运行接口,前端只提交 `agent_id` -- **知识库能力收敛**:以 Yuxi 的知识库增强图谱构建、展示、检索链路替换历史 LightRAG 集成,并移除 Upload 类型;知识库类型收敛为单个类型与只读连接器(**Dify**、**Notion**),减少历史集成带来的兼容性问题 -- **Skill 安装与权限收敛**:以 `source_type / share_config / enabled` 表达来源、生效范围与启用状态;内置 Skill 启动自动入库并默认全局启用,上传/远程统一改为「解析草稿 → 确认安装」 - - - -详见 [changelog](docs/develop-guides/changelog.md)。 - -
- -
-[2026/04/01] v0.6.0 版本发布 - -详见 [changelog](docs/develop-guides/changelog.md) - -
- -
-[2026/03/01] v0.5.0 版本发布 - -详见 [changelog](docs/develop-guides/changelog.md) - -
- -
-[2025/12/19] v0.4.0 版本发布 - -详见 [changelog](docs/develop-guides/changelog.md) - -
- -
-[2025/11/05] v0.3.0 版本发布 - -详见 [changelog](docs/develop-guides/changelog.md) - -
- ## 快速开始 **前置要求**:已安装 [Docker](https://docs.docker.com/get-docker/) 与 Docker Compose,并准备至少一个兼容 OpenAI 接口的大模型 API。 @@ -121,49 +65,6 @@ docker compose up --build > 💡 不需要知识库 / 知识图谱等重依赖时,可使用 `make up-lite` 以 LITE 轻量模式启动,加快冷启动速度。更多部署说明见 [项目文档](https://xerrors.github.io/Yuxi)。 -## 示例与演示 - - - - - - - - - - - - - - -
- 对话工作台 -
- 对话工作台 -
- 沙盒文件系统 -
- 沙盒文件系统 -
- Agentic RAG -
- Agentic RAG -
- 知识图谱 -
- 知识图谱 -
- 检索评估 -
- 检索评估 -
- 多知识源接入 -
- 多知识源接入 -
- - - ## 致谢 本项目参考并引用了以下优秀开源项目,在此致以诚挚的感谢: diff --git a/docs/.vitepress/theme/components/YuxiHome.vue b/docs/.vitepress/theme/components/YuxiHome.vue index cf9c8c9f..37d5588e 100644 --- a/docs/.vitepress/theme/components/YuxiHome.vue +++ b/docs/.vitepress/theme/components/YuxiHome.vue @@ -453,7 +453,7 @@ const vReveal = {
# 1. 克隆并初始化
-git clone --branch v0.7.0.dev0 --depth 1 https://github.com/xerrors/Yuxi.git
+git clone --branch v0.7.0.beta2 --depth 1 https://github.com/xerrors/Yuxi.git
 cd Yuxi && ./scripts/init.sh
 
 # 2. 使用 Docker 启动
diff --git a/docs/develop-guides/changelog.md b/docs/develop-guides/changelog.md
index 915a2a81..4ff8d481 100644
--- a/docs/develop-guides/changelog.md
+++ b/docs/develop-guides/changelog.md
@@ -43,6 +43,7 @@
 - 收敛知识库文件解析参数:文件级 `processing_params` 统一保存 `ocr_engine` 与 `ocr_engine_config`,解析阶段直接使用该结构并保留分块参数快照。
 - 修复知识库文件大小显示为 0 的问题:文件上传时 `file_sizes` 参数未正确传播或历史数据缺失导致 DB 中 `file_size` 为 `None`;新增 `MinIOClient.stat_file/astat_file` 获取文件大小方法,`add_file_record` 在 `size` 缺失时从 MinIO 回补,`_load_metadata` 加载元数据后自动为缺少 `size` 的文件从 MinIO 补全并持久化。
 - 优化评估基准自动生成:生成任务支持配置队列并发数,默认 10,范围 1-20。
+- 完善模型供应商类型:普通聊天模型运行时新增 Anthropic provider type 适配,并清理不再支持的旧 provider type 入口。
 - 重梳理知识库评估存储:评估数据集、题目、评估运行和逐题结果统一入库,JSONL 仅作为导入/导出格式;后端和前端 API 统一使用 dataset/run 语义;评估运行支持用户命名,历史记录按名称展示,综合评分只聚合检索指标。
 - 扩展知识库上传来源:添加“从工作区上传”模式,后端将当前用户工作区文件预处理上传到 MinIO,前端沿用现有 `addDocuments` 入库链路提交 MinIO URL、内容哈希和文件大小。
 - 重构知识库详情页布局:`DatabaseInfo` 改为顶部详情 header + 左侧功能 tab 侧边栏 + 右侧内容区,Milvus 默认进入文件管理,并将检索测试、知识图谱、知识导图、检索配置、RAG 评估和评估基准统一纳入侧边栏导航;只读连接器保留检索测试与检索配置。
diff --git a/docs/develop-guides/roadmap.md b/docs/develop-guides/roadmap.md
index 698ed926..6162eed8 100644
--- a/docs/develop-guides/roadmap.md
+++ b/docs/develop-guides/roadmap.md
@@ -8,21 +8,21 @@
 ### 看板
 
 **知识库**
-- [ ] office 组件预览,docx/pptx 可以转PDF,然后前端预览
-- [ ] 知识库工具新增 query_keywords 工具,专门用于基于关键词命中的排序
+- [ ] office 组件预览,docx/pptx 可以转PDF,然后前端预览 
+- [ ] 知识库工具新增 query_keywords 工具,专门用于基于关键词命中的排序 
 - [ ] 调研将当前知识库映射为虚拟文件系统的可行性,先明确文件树映射、权限边界、内容读取与 Agent 工具调用形态,再决定是否实现
 - [ ] 增强知识库检索体验:增强 metadata、标签等
 - [ ] 优化思维导图构建的接口设计,支持增量构建和更新
-- [ ] 个人工作区增加可检索能力(但是不做向量化)
+- [ ] 个人工作区增加可检索能力(但是不做向量化) 
 
 
 **智能体**
 - [ ] 子智能体缺少异步的机制 
 - [ ] 子智能体缺少 steer 机制 
-- [ ] 子智能体的双向通信,缺少 ask_for_main_agent 的机制 
+- [ ] 子智能体的双向通信,缺少 ask_for_main_agent 的机制
 - [ ] 子智能体与子智能体的通信机制
 - [ ] 如何停掉一个子智能体、查看智能体的进度
-- [ ] RAG 评估支持 Agent 模式
+- [ ] RAG 评估支持 Agent 模式 
 - [ ] 添加 Agent 独立调用接口,方便后续评估使用
 - [ ] 任务队列 
 
diff --git a/docs/intro/quick-start.md b/docs/intro/quick-start.md
index fad84557..d7c09370 100644
--- a/docs/intro/quick-start.md
+++ b/docs/intro/quick-start.md
@@ -3,7 +3,7 @@
 欢迎使用 Yuxi(语析),这是一个智能知识库和知识图谱 Agent 开发平台。
 本指南将帮助你在几分钟内启动并运行系统,使你能够利用 LangGraph、RAG 技术和知识图谱构建 AI 驱动的知识应用。
 
-![系统架构图](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260326130844668.png)
+![系统架构图](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/arch.png)
 
 
 ::: tip 提示

From d2e060a8b09c2d068de84c05b7dbbce2df4d348c Mon Sep 17 00:00:00 2001
From: Wenjie Zhang 
Date: Tue, 9 Jun 2026 00:39:07 +0800
Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E5=89=8D?=
 =?UTF-8?q?=E7=AB=AF=E7=95=8C=E9=9D=A2=E7=BB=86=E8=8A=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 web/src/components/ConversationNavSection.vue |  4 +--
 .../DepartmentManagementComponent.vue         |  4 +--
 web/src/components/FileDetailModal.vue        |  2 +-
 .../components/UserManagementComponent.vue    |  4 +--
 .../model-management/AgentManagePanel.vue     |  4 +--
 .../components/workspace/WorkspaceSidebar.vue | 26 -------------------
 6 files changed, 9 insertions(+), 35 deletions(-)

diff --git a/web/src/components/ConversationNavSection.vue b/web/src/components/ConversationNavSection.vue
index 000b9c46..f5d6da6c 100644
--- a/web/src/components/ConversationNavSection.vue
+++ b/web/src/components/ConversationNavSection.vue
@@ -31,7 +31,7 @@
                     
                     
                       重命名
@@ -74,7 +74,7 @@