diff --git a/backend/package/yuxi/knowledge/__init__.py b/backend/package/yuxi/knowledge/__init__.py index abbd3401..bb429613 100644 --- a/backend/package/yuxi/knowledge/__init__.py +++ b/backend/package/yuxi/knowledge/__init__.py @@ -14,7 +14,7 @@ if not _LITE_MODE: # 注册知识库类型 KnowledgeBaseFactory.register("milvus", MilvusKB, {"description": "基于 Milvus 的生产级向量知识库,适合高性能部署"}) - KnowledgeBaseFactory.register("lightrag", LightRagKB, {"description": "基于图检索的知识库,支持实体关系构建和复杂查询"}) + KnowledgeBaseFactory.register("lightrag", LightRagKB, {"description": "基于图的知识库,支持实体关系构建和复杂查询"}) KnowledgeBaseFactory.register("dify", DifyKB, {"description": "连接 Dify Dataset 的只读检索知识库"}) diff --git a/backend/package/yuxi/repositories/subagent_repository.py b/backend/package/yuxi/repositories/subagent_repository.py index a8ae08de..69861ab1 100644 --- a/backend/package/yuxi/repositories/subagent_repository.py +++ b/backend/package/yuxi/repositories/subagent_repository.py @@ -30,10 +30,9 @@ class SubAgentRepository: async def exists_name(self, name: str) -> bool: """检查名称是否存在(仅查询计数,不获取完整数据)""" - from sqlalchemy import select, func - result = await self.db.execute( - select(func.count()).select_from(SubAgent).where(SubAgent.name == name) - ) + from sqlalchemy import func, select + + result = await self.db.execute(select(func.count()).select_from(SubAgent).where(SubAgent.name == name)) return result.scalar() > 0 async def create( diff --git a/backend/package/yuxi/services/subagent_service.py b/backend/package/yuxi/services/subagent_service.py index 18bcce49..89171e29 100644 --- a/backend/package/yuxi/services/subagent_service.py +++ b/backend/package/yuxi/services/subagent_service.py @@ -100,6 +100,7 @@ def clear_specs_cache() -> None: global _subagent_specs_cache _subagent_specs_cache = None + async def get_subagents_from_names(selected_names: Any, *, db: AsyncSession | None = None) -> list[dict[str, Any]]: """根据名称获取 subagent specs(含工具解析)。""" specs = await get_subagent_specs(db) @@ -125,13 +126,12 @@ async def get_subagents_from_names(selected_names: Any, *, db: AsyncSession | No for spec in matched: resolved_spec = dict(spec) tool_names = spec.get("tools", []) - resolved_spec["tools"] = [ - all_tool_names[name] for name in tool_names if name in all_tool_names - ] + resolved_spec["tools"] = [all_tool_names[name] for name in tool_names if name in all_tool_names] resolved_specs.append(resolved_spec) return resolved_specs + async def get_all_subagents(db: AsyncSession | None = None) -> list[dict[str, Any]]: """获取所有 SubAgent(含禁用的)""" async with _get_session(db) as session: diff --git a/web/src/assets/css/extensions.less b/web/src/assets/css/extensions.less index e4ba07d6..0b0e603b 100644 --- a/web/src/assets/css/extensions.less +++ b/web/src/assets/css/extensions.less @@ -111,7 +111,6 @@ } &.active { - .item-icon, .server-icon { color: var(--main-color); @@ -400,4 +399,4 @@ opacity: 0.6; pointer-events: none; transition: opacity 0.2s; -} \ No newline at end of file +} diff --git a/web/src/components/AgentConfigSidebar.vue b/web/src/components/AgentConfigSidebar.vue index e97661a5..b29f299d 100644 --- a/web/src/components/AgentConfigSidebar.vue +++ b/web/src/components/AgentConfigSidebar.vue @@ -2,12 +2,50 @@