gitextract_mi96_yfc/ ├── .claude/ │ └── skills/ │ ├── prompts-writing/ │ │ ├── SKILL.md │ │ ├── examples.md │ │ └── references/ │ │ ├── best-practices.md │ │ └── templates.md │ └── skill-creator/ │ ├── .openskills.json │ ├── LICENSE.txt │ ├── SKILL.md │ ├── references/ │ │ ├── output-patterns.md │ │ └── workflows.md │ └── scripts/ │ ├── init_skill.py │ ├── package_skill.py │ └── quick_validate.py ├── .cursor/ │ └── rules/ │ ├── backend/ │ │ ├── app_layer_rules.mdc │ │ ├── database_layer_rules.mdc │ │ └── service_layer_rules.mdc │ ├── english_comments.mdc │ ├── environment_variable.mdc │ ├── frontend/ │ │ ├── component_layer_rules.mdc │ │ ├── frontend_overview_rules.mdc │ │ ├── hook_layer_rules.mdc │ │ ├── page_layer_rules.mdc │ │ ├── service_layer_rules.mdc │ │ ├── type_layer_rules.mdc │ │ └── ui_standards_rules.mdc │ └── pytest_unit_test_rules.mdc ├── .devcontainer/ │ └── devcontainer.json ├── .dockerignore ├── .editorconfig ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── document_issue.yml │ │ ├── feature_request.yml │ │ └── improvement_proposal.yml │ ├── dependabot.yml │ └── workflows/ │ ├── auto-build-data-process-dev.yml │ ├── auto-build-doc-dev.yml │ ├── auto-build-main-dev.yml │ ├── auto-build-mcp-dev.yml │ ├── auto-build-terminal-dev.yml │ ├── auto-build-web-dev.yml │ ├── auto-image-pull-test.yml │ ├── auto-unit-test.yml │ ├── auto-web-check-dev.yml │ ├── codeql.yml │ ├── codeql_main.yml │ ├── deploy-docs.yml │ ├── docker-build-push-mainland.yml │ ├── docker-build-push-overseas.yml │ ├── docker-deploy.yml │ └── sdk_publish.yml ├── .gitignore ├── AGENTS.md ├── AUTHORS ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── README_CN.md ├── SECURITY.md ├── backend/ │ ├── .gitignore │ ├── __init__.py │ ├── agents/ │ │ ├── agent_run_manager.py │ │ ├── create_agent_info.py │ │ ├── default_agents/ │ │ │ └── __init__.py │ │ └── preprocess_manager.py │ ├── apps/ │ │ ├── agent_app.py │ │ ├── app_factory.py │ │ ├── config_app.py │ │ ├── config_sync_app.py │ │ ├── conversation_management_app.py │ │ ├── data_process_app.py │ │ ├── datamate_app.py │ │ ├── dify_app.py │ │ ├── file_management_app.py │ │ ├── group_app.py │ │ ├── idata_app.py │ │ ├── image_app.py │ │ ├── invitation_app.py │ │ ├── knowledge_summary_app.py │ │ ├── memory_config_app.py │ │ ├── mock_user_management_app.py │ │ ├── model_managment_app.py │ │ ├── northbound_app.py │ │ ├── northbound_base_app.py │ │ ├── prompt_app.py │ │ ├── remote_mcp_app.py │ │ ├── runtime_app.py │ │ ├── tenant_app.py │ │ ├── tenant_config_app.py │ │ ├── tool_config_app.py │ │ ├── user_app.py │ │ ├── user_management_app.py │ │ ├── vectordatabase_app.py │ │ └── voice_app.py │ ├── assets/ │ │ └── baidu_stopwords.txt │ ├── config_service.py │ ├── consts/ │ │ ├── __init__.py │ │ ├── const.py │ │ ├── error_code.py │ │ ├── error_message.py │ │ ├── exceptions.py │ │ ├── model.py │ │ └── provider.py │ ├── data_process/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── ray_actors.py │ │ ├── ray_config.py │ │ ├── tasks.py │ │ ├── utils.py │ │ └── worker.py │ ├── data_process_service.py │ ├── database/ │ │ ├── __init__.py │ │ ├── agent_db.py │ │ ├── agent_version_db.py │ │ ├── attachment_db.py │ │ ├── client.py │ │ ├── conversation_db.py │ │ ├── db_models.py │ │ ├── group_db.py │ │ ├── invitation_db.py │ │ ├── knowledge_db.py │ │ ├── memory_config_db.py │ │ ├── model_management_db.py │ │ ├── partner_db.py │ │ ├── remote_mcp_db.py │ │ ├── role_permission_db.py │ │ ├── tenant_config_db.py │ │ ├── token_db.py │ │ ├── tool_db.py │ │ ├── user_tenant_db.py │ │ └── utils.py │ ├── mcp_service.py │ ├── middleware/ │ │ ├── __init__.py │ │ └── exception_handler.py │ ├── northbound_service.py │ ├── prompts/ │ │ ├── cluster_summary_reduce_en.yaml │ │ ├── cluster_summary_reduce_zh.yaml │ │ ├── document_summary_agent_en.yaml │ │ ├── document_summary_agent_zh.yaml │ │ ├── managed_system_prompt_template_en.yaml │ │ ├── managed_system_prompt_template_zh.yaml │ │ ├── manager_system_prompt_template_en.yaml │ │ ├── manager_system_prompt_template_zh.yaml │ │ └── utils/ │ │ ├── generate_title_en.yaml │ │ ├── generate_title_zh.yaml │ │ ├── prompt_generate_en.yaml │ │ └── prompt_generate_zh.yaml │ ├── pyproject.toml │ ├── runtime_service.py │ ├── services/ │ │ ├── __init__.py │ │ ├── agent_service.py │ │ ├── agent_version_service.py │ │ ├── config_sync_service.py │ │ ├── conversation_management_service.py │ │ ├── data_process_service.py │ │ ├── datamate_service.py │ │ ├── dify_service.py │ │ ├── file_management_service.py │ │ ├── group_service.py │ │ ├── idata_service.py │ │ ├── image_service.py │ │ ├── invitation_service.py │ │ ├── mcp_container_service.py │ │ ├── memory_config_service.py │ │ ├── model_health_service.py │ │ ├── model_management_service.py │ │ ├── model_provider_service.py │ │ ├── northbound_service.py │ │ ├── prompt_service.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── dashscope_provider.py │ │ │ ├── modelengine_provider.py │ │ │ ├── silicon_provider.py │ │ │ └── tokenpony_provider.py │ │ ├── redis_service.py │ │ ├── remote_mcp_service.py │ │ ├── tenant_service.py │ │ ├── tool_configuration_service.py │ │ ├── user_management_service.py │ │ ├── user_service.py │ │ ├── vectordatabase_service.py │ │ └── voice_service.py │ ├── tool_collection/ │ │ ├── langchain/ │ │ │ └── compute_tool.py │ │ └── mcp/ │ │ └── local_mcp_service.py │ └── utils/ │ ├── __init__.py │ ├── auth_utils.py │ ├── config_utils.py │ ├── document_vector_utils.py │ ├── file_management_utils.py │ ├── langchain_utils.py │ ├── llm_utils.py │ ├── logging_utils.py │ ├── memory_utils.py │ ├── model_name_utils.py │ ├── monitoring.py │ ├── prompt_template_utils.py │ ├── str_utils.py │ ├── task_status_utils.py │ └── thread_utils.py ├── doc/ │ ├── .gitignore │ ├── docs/ │ │ ├── .vitepress/ │ │ │ ├── config.mts │ │ │ └── theme/ │ │ │ ├── index.ts │ │ │ └── style.css │ │ ├── en/ │ │ │ ├── backend/ │ │ │ │ ├── api-reference.md │ │ │ │ ├── overview.md │ │ │ │ ├── prompt-development.md │ │ │ │ ├── tools/ │ │ │ │ │ ├── index.md │ │ │ │ │ ├── langchain.md │ │ │ │ │ ├── mcp.md │ │ │ │ │ └── nexent-native.md │ │ │ │ └── version-management.md │ │ │ ├── code-of-conduct.md │ │ │ ├── contributing.md │ │ │ ├── contributors.md │ │ │ ├── deployment/ │ │ │ │ ├── devcontainer.md │ │ │ │ └── docker-build.md │ │ │ ├── developer-guide/ │ │ │ │ ├── environment-setup.md │ │ │ │ └── overview.md │ │ │ ├── docs-development.md │ │ │ ├── frontend/ │ │ │ │ └── overview.md │ │ │ ├── getting-started/ │ │ │ │ ├── features.md │ │ │ │ ├── overview.md │ │ │ │ └── software-architecture.md │ │ │ ├── license.md │ │ │ ├── mcp-ecosystem/ │ │ │ │ ├── mcp-recommendations.md │ │ │ │ ├── overview.md │ │ │ │ └── use-cases.md │ │ │ ├── opensource-memorial-wall.md │ │ │ ├── quick-start/ │ │ │ │ ├── faq.md │ │ │ │ ├── installation.md │ │ │ │ └── upgrade-guide.md │ │ │ ├── sdk/ │ │ │ │ ├── basic-usage.md │ │ │ │ ├── core/ │ │ │ │ │ ├── agents.md │ │ │ │ │ ├── models.md │ │ │ │ │ ├── multimodal.md │ │ │ │ │ └── tools.md │ │ │ │ ├── data-process.md │ │ │ │ ├── features.md │ │ │ │ ├── monitoring.md │ │ │ │ ├── overview.md │ │ │ │ └── vector-database.md │ │ │ ├── security.md │ │ │ ├── testing/ │ │ │ │ ├── backend.md │ │ │ │ └── overview.md │ │ │ └── user-guide/ │ │ │ ├── agent-development.md │ │ │ ├── agent-market.md │ │ │ ├── agent-space.md │ │ │ ├── home-page.md │ │ │ ├── knowledge-base.md │ │ │ ├── local-tools/ │ │ │ │ ├── email-tools.md │ │ │ │ ├── file-tools.md │ │ │ │ ├── index.md │ │ │ │ ├── multimodal-tools.md │ │ │ │ ├── search-tools.md │ │ │ │ └── terminal-tool.md │ │ │ ├── mcp-tools.md │ │ │ ├── memory-management.md │ │ │ ├── model-management.md │ │ │ ├── monitor.md │ │ │ ├── quick-setup.md │ │ │ ├── start-chat.md │ │ │ └── user-management.md │ │ ├── index.md │ │ └── zh/ │ │ ├── backend/ │ │ │ ├── api-reference.md │ │ │ ├── overview.md │ │ │ ├── prompt-development.md │ │ │ ├── tools/ │ │ │ │ ├── index.md │ │ │ │ ├── langchain.md │ │ │ │ ├── mcp.md │ │ │ │ └── nexent-native.md │ │ │ └── version-management.md │ │ ├── code-of-conduct.md │ │ ├── contributing.md │ │ ├── contributors.md │ │ ├── deployment/ │ │ │ ├── devcontainer.md │ │ │ └── docker-build.md │ │ ├── developer-guide/ │ │ │ ├── environment-setup.md │ │ │ └── overview.md │ │ ├── docs-development.md │ │ ├── frontend/ │ │ │ └── overview.md │ │ ├── getting-started/ │ │ │ ├── features.md │ │ │ ├── overview.md │ │ │ └── software-architecture.md │ │ ├── license.md │ │ ├── mcp-ecosystem/ │ │ │ ├── mcp-recommendations.md │ │ │ ├── overview.md │ │ │ └── use-cases.md │ │ ├── opensource-memorial-wall.md │ │ ├── quick-start/ │ │ │ ├── faq.md │ │ │ ├── installation.md │ │ │ └── upgrade-guide.md │ │ ├── sdk/ │ │ │ ├── basic-usage.md │ │ │ ├── core/ │ │ │ │ ├── agents.md │ │ │ │ ├── models.md │ │ │ │ ├── multimodal.md │ │ │ │ └── tools.md │ │ │ ├── data-process.md │ │ │ ├── features.md │ │ │ ├── monitoring.md │ │ │ ├── overview.md │ │ │ └── vector-database.md │ │ ├── security.md │ │ ├── testing/ │ │ │ ├── backend.md │ │ │ └── overview.md │ │ └── user-guide/ │ │ ├── agent-development.md │ │ ├── agent-market.md │ │ ├── agent-space.md │ │ ├── home-page.md │ │ ├── knowledge-base.md │ │ ├── local-tools/ │ │ │ ├── email-tools.md │ │ │ ├── file-tools.md │ │ │ ├── index.md │ │ │ ├── multimodal-tools.md │ │ │ ├── search-tools.md │ │ │ └── terminal-tool.md │ │ ├── mcp-tools.md │ │ ├── memory-management.md │ │ ├── model-management.md │ │ ├── monitor.md │ │ ├── quick-setup.md │ │ ├── start-chat.md │ │ └── user-management.md │ ├── package.json │ └── pnpm-workspace.yaml ├── docker/ │ ├── create-su.sh │ ├── deploy.sh │ ├── docker-compose-monitoring.yml │ ├── docker-compose-supabase.prod.yml │ ├── docker-compose-supabase.yml │ ├── docker-compose.dev.yml │ ├── docker-compose.prod.yml │ ├── docker-compose.yml │ ├── generate_env.sh │ ├── init.sql │ ├── monitoring/ │ │ ├── grafana/ │ │ │ ├── dashboards/ │ │ │ │ └── nexent-llm-performance.json │ │ │ └── provisioning/ │ │ │ ├── dashboards/ │ │ │ │ └── dashboards.yml │ │ │ └── datasources/ │ │ │ └── datasources.yml │ │ ├── monitoring.env │ │ ├── monitoring.env.example │ │ ├── otel-collector-config.yml │ │ └── prometheus.yml │ ├── openssh-install-script.sh │ ├── scripts/ │ │ ├── sync_user_supabase2pg.py │ │ └── v180_sync_user_metadata.sh │ ├── sql/ │ │ ├── v1.1.0_0619_add_tenant_config_t.sql │ │ ├── v1.2.0_0627_increase_config_value_length.sql │ │ ├── v1.3.0_0630_add_mcp_record_t.sql │ │ ├── v1.4.0_0708_add_user_tenant_t.sql │ │ ├── v1.5.0_0715_add_knowledge_describe_length.sql │ │ ├── v1.5.0_0716_add_status_to_mcp_record_t.sql │ │ ├── v1.6.0_0722_modify_tenant_agent.sql │ │ ├── v1.6.0_0723_add_agent_relation_t.sql │ │ ├── v1.7.1_0805_add_deep_thinking_to_model_record_t.sql │ │ ├── v1.7.1_0806_add_memory_user_config.sql │ │ ├── v1.7.2.2_0820_add_partner_mapping_id_t.sql │ │ ├── v1.7.2_0809_add_name_zh_to_ag_tenant_agent_t.sql │ │ ├── v1.7.2_0812_modify_model_record_t.sql │ │ ├── v1.7.3.2_0902_add_model_name_to_knowledge_record_t.sql │ │ ├── v1.7.4.1_1011_add_origin_tool_name_to_ag_tool_info.sql │ │ ├── v1.7.4.1_1013_add_tool_group_to_ag_tool_info.sql │ │ ├── v1.7.4_0928_add_model_id_to_ag_tenant_agent_t.sql │ │ ├── v1.7.5.1_1028_add_chunk_size_to_model_record_t.sql │ │ ├── v1.7.5_1024_add_business_logic_model_fields.sql │ │ ├── v1.7.5_1024_alter_tenant_config_t_config_value.sql │ │ ├── v1.7.7_1129_add_ssl_verify_to_model_record_t.sql │ │ ├── v1.7.8_1204_add_knowledge_name_to_knowledge_record_t.sql │ │ ├── v1.7.8_add_author_to_ag_tenant_agent_t.sql │ │ ├── v1.7.9.2_1226_add_invitation_and_group_system.sql │ │ ├── v1.7.9.3_0122_add_is_new_to_ag_tenant_agent_t.sql │ │ ├── v1.7.9.3_0123_add_speed_user_tenant_t.sql │ │ ├── v1.7.9_1219_add_container_id_to_mcp_record_t.sql │ │ ├── v1.8.0.1_0224_init_agent_id_seq.sql │ │ ├── v1.8.0.1_0225_delete_empty_tenant.sql │ │ ├── v1.8.0.1_0226_add_authorization_token_to_mcp_record_t.sql │ │ ├── v1.8.0.2_0227_add_ingroup_permission_to_ag_tenant_agent_t.sql │ │ ├── v1.8.0.2_0302_add_tool_instance_id_seq_and_agent_relation_id_seq.sql │ │ ├── v1.8.0_0204_init_tenant_group.sql │ │ ├── v1.8.0_0206_add_ag_tenant_agent_version_t .sql │ │ ├── v1.8.0_0206_init_role_permission_t.sql │ │ └── v1.8.1_0306_add_user_token_info.sql │ ├── start-monitoring.sh │ ├── uninstall.sh │ ├── upgrade.sh │ └── volumes/ │ ├── api/ │ │ └── kong.yml │ ├── db/ │ │ ├── _supabase.sql │ │ ├── init/ │ │ │ └── data.sql │ │ ├── jwt.sql │ │ ├── logs.sql │ │ ├── pooler.sql │ │ ├── realtime.sql │ │ ├── roles.sql │ │ └── webhooks.sql │ ├── functions/ │ │ ├── hello/ │ │ │ └── index.ts │ │ └── main/ │ │ └── index.ts │ ├── logs/ │ │ └── vector.yml │ └── pooler/ │ └── pooler.exs ├── experimental/ │ └── tune/ │ ├── base/ │ │ ├── case.py │ │ ├── constant.py │ │ ├── context_manager.py │ │ ├── exception.py │ │ └── utils.py │ ├── common/ │ │ ├── exception.py │ │ └── singleton.py │ ├── joint_evaluator.py │ ├── joint_optimizer.py │ └── joint_prompt_pool.yaml ├── frontend/ │ ├── .eslintrc.json │ ├── .gitignore │ ├── .prettierignore │ ├── .prettierrc │ ├── app/ │ │ └── [locale]/ │ │ ├── agents/ │ │ │ ├── AgentVersionCard.tsx │ │ │ ├── AgentVersionManage.tsx │ │ │ ├── components/ │ │ │ │ ├── AgentConfigComp.tsx │ │ │ │ ├── AgentInfoComp.tsx │ │ │ │ ├── AgentManageComp.tsx │ │ │ │ ├── agentConfig/ │ │ │ │ │ ├── CollaborativeAgent.tsx │ │ │ │ │ ├── McpConfigModal.tsx │ │ │ │ │ ├── ToolManagement.tsx │ │ │ │ │ └── tool/ │ │ │ │ │ ├── ToolConfigModal.tsx │ │ │ │ │ └── ToolTestPanel.tsx │ │ │ │ ├── agentInfo/ │ │ │ │ │ ├── AgentGenerateDetail.tsx │ │ │ │ │ ├── DebugConfig.tsx │ │ │ │ │ └── ExpandEditModal.tsx │ │ │ │ └── agentManage/ │ │ │ │ ├── AgentCallRelationshipModal.tsx │ │ │ │ └── AgentList.tsx │ │ │ ├── page.tsx │ │ │ └── versions/ │ │ │ ├── AgentVersionCompareModal.tsx │ │ │ └── AgentVersionPubulishModal.tsx │ │ ├── chat/ │ │ │ ├── components/ │ │ │ │ ├── chatAgentSelector.tsx │ │ │ │ ├── chatHeader.tsx │ │ │ │ ├── chatInput.tsx │ │ │ │ ├── chatLeftSidebar.tsx │ │ │ │ └── chatRightPanel.tsx │ │ │ ├── internal/ │ │ │ │ ├── ChatTopNavContent.tsx │ │ │ │ ├── chatAttachment.tsx │ │ │ │ ├── chatHelpers.tsx │ │ │ │ ├── chatInterface.tsx │ │ │ │ ├── chatPreprocess.tsx │ │ │ │ └── extractMsgFromHistoryResponse.tsx │ │ │ ├── page.tsx │ │ │ └── streaming/ │ │ │ ├── chatStreamFinalMessage.tsx │ │ │ ├── chatStreamHandler.tsx │ │ │ ├── chatStreamMain.tsx │ │ │ ├── messageTransformer.ts │ │ │ └── taskWindow.tsx │ │ ├── i18n.tsx │ │ ├── knowledges/ │ │ │ ├── KnowledgeBaseConfiguration.tsx │ │ │ ├── components/ │ │ │ │ ├── document/ │ │ │ │ │ ├── DocumentChunk.tsx │ │ │ │ │ ├── DocumentList.tsx │ │ │ │ │ └── DocumentStatus.tsx │ │ │ │ ├── knowledge/ │ │ │ │ │ ├── KnowledgeBaseEditModal.tsx │ │ │ │ │ └── KnowledgeBaseList.tsx │ │ │ │ └── upload/ │ │ │ │ ├── UploadArea.tsx │ │ │ │ └── UploadAreaUI.tsx │ │ │ ├── contexts/ │ │ │ │ ├── DocumentContext.tsx │ │ │ │ ├── KnowledgeBaseContext.tsx │ │ │ │ └── UIStateContext.tsx │ │ │ └── page.tsx │ │ ├── layout.client.tsx │ │ ├── layout.tsx │ │ ├── market/ │ │ │ ├── MarketContent.css │ │ │ ├── components/ │ │ │ │ ├── AgentMarketCard.tsx │ │ │ │ ├── MarketAgentDetailModal.tsx │ │ │ │ └── MarketErrorState.tsx │ │ │ └── page.tsx │ │ ├── mcp-tools/ │ │ │ └── page.tsx │ │ ├── memory/ │ │ │ ├── MemoryMenuList.tsx │ │ │ ├── memory.css │ │ │ └── page.tsx │ │ ├── models/ │ │ │ ├── ModelConfiguration.tsx │ │ │ ├── components/ │ │ │ │ ├── appConfig.tsx │ │ │ │ ├── model/ │ │ │ │ │ ├── ModelAddDialog.tsx │ │ │ │ │ ├── ModelChunkSizeSilder.tsx │ │ │ │ │ ├── ModelDeleteDialog.tsx │ │ │ │ │ ├── ModelEditDialog.tsx │ │ │ │ │ └── ModelListCard.tsx │ │ │ │ └── modelConfig.tsx │ │ │ └── page.tsx │ │ ├── monitoring/ │ │ │ └── page.tsx │ │ ├── page.tsx │ │ ├── setup/ │ │ │ └── page.tsx │ │ ├── space/ │ │ │ ├── components/ │ │ │ │ ├── AgentCard.tsx │ │ │ │ └── AgentDetailModal.tsx │ │ │ └── page.tsx │ │ ├── tenant-resources/ │ │ │ ├── components/ │ │ │ │ ├── UserManageComp.tsx │ │ │ │ └── resources/ │ │ │ │ ├── AgentList.tsx │ │ │ │ ├── GroupList.tsx │ │ │ │ ├── InvitationList.tsx │ │ │ │ ├── KnowledgeList.tsx │ │ │ │ ├── McpList.tsx │ │ │ │ ├── ModelList.tsx │ │ │ │ └── UserList.tsx │ │ │ └── page.tsx │ │ └── users/ │ │ ├── components/ │ │ │ └── UserProfileComp.tsx │ │ └── page.tsx │ ├── components/ │ │ ├── agent/ │ │ │ └── AgentImportWizard.tsx │ │ ├── auth/ │ │ │ ├── AuthDialogs.tsx │ │ │ ├── DeleteAccountModal.tsx │ │ │ ├── avatarDropdown.tsx │ │ │ ├── loginModal.tsx │ │ │ └── registerModal.tsx │ │ ├── mcp/ │ │ │ ├── McpContainerLogsModal.tsx │ │ │ ├── McpEditServerModal.tsx │ │ │ └── McpToolListModal.tsx │ │ ├── navigation/ │ │ │ ├── ChatTopNavContent.tsx │ │ │ ├── FooterLayout.tsx │ │ │ ├── SideNavigation.tsx │ │ │ └── TopNavbar.tsx │ │ ├── permission/ │ │ │ ├── Can.tsx │ │ │ └── Cannot.tsx │ │ ├── providers/ │ │ │ ├── AuthenticationProvider.tsx │ │ │ ├── AuthorizationProvider.tsx │ │ │ ├── I18nProviderWrapper.tsx │ │ │ ├── deploymentProvider.tsx │ │ │ └── rootProvider.tsx │ │ ├── tool-config/ │ │ │ ├── KnowledgeBaseSelectorModal.tsx │ │ │ └── index.ts │ │ └── ui/ │ │ ├── AgentCallRelationshipModal.tsx │ │ ├── Diagram.tsx │ │ ├── card.tsx │ │ ├── copyButton.tsx │ │ ├── input.tsx │ │ ├── loading.tsx │ │ ├── markdownRenderer.tsx │ │ ├── scrollArea.tsx │ │ ├── statusBadge.tsx │ │ ├── textarea.tsx │ │ └── tooltip.tsx │ ├── components.json │ ├── const/ │ │ ├── agentConfig.ts │ │ ├── auth.ts │ │ ├── avatar.ts │ │ ├── chatConfig.ts │ │ ├── constants.ts │ │ ├── errorCode.ts │ │ ├── errorMessage.ts │ │ ├── errorMessageI18n.ts │ │ ├── knowledgeBase.ts │ │ ├── knowledgeBaseLayout.ts │ │ ├── layoutConstants.ts │ │ ├── marketConfig.ts │ │ ├── memoryConfig.ts │ │ └── modelConfig.ts │ ├── hooks/ │ │ ├── agent/ │ │ │ ├── useAgentInfo.ts │ │ │ ├── useAgentList.ts │ │ │ ├── useAgentVersion.ts │ │ │ ├── useAgentVersionDetail.ts │ │ │ ├── useAgentVersionList.ts │ │ │ ├── usePublishedAgentList.ts │ │ │ ├── useSaveGuard.ts │ │ │ └── useToolList.ts │ │ ├── auth/ │ │ │ ├── useAuthentication.ts │ │ │ ├── useAuthenticationState.ts │ │ │ ├── useAuthenticationUI.ts │ │ │ ├── useAuthorization.ts │ │ │ └── useSessionManager.ts │ │ ├── chat/ │ │ │ └── useConversationManagement.ts │ │ ├── group/ │ │ │ └── useGroupList.ts │ │ ├── invitation/ │ │ │ └── useInvitationList.ts │ │ ├── knowledge/ │ │ │ └── useKnowledgeList.ts │ │ ├── mcp/ │ │ │ ├── useMcpContainerList.ts │ │ │ └── useMcpServerList.ts │ │ ├── model/ │ │ │ ├── useDashscopeModelList.ts │ │ │ ├── useManageTenantModels.ts │ │ │ ├── useModelList.ts │ │ │ ├── useSiliconModelList.ts │ │ │ └── useTokenponyModelList.ts │ │ ├── permission/ │ │ │ └── usePermission.ts │ │ ├── tenant/ │ │ │ └── useTenantList.ts │ │ ├── tool/ │ │ │ └── useToolInfo.ts │ │ ├── useAgentImport.ts │ │ ├── useChatTaskMessage.ts │ │ ├── useConfig.ts │ │ ├── useConfirmModal.ts │ │ ├── useErrorHandler.ts │ │ ├── useKnowledgeBaseConfigChangeHandler.ts │ │ ├── useKnowledgeBaseSelector.ts │ │ ├── useMcpConfig.ts │ │ ├── useMemory.ts │ │ ├── useModalPosition.ts │ │ ├── useResponsiveTextSize.ts │ │ ├── useSetupFlow.ts │ │ └── user/ │ │ └── useUserList.ts │ ├── lib/ │ │ ├── agentDebugErrorCache.ts │ │ ├── agentLabelMapper.ts │ │ ├── auth.ts │ │ ├── authEvents.ts │ │ ├── avatar.tsx │ │ ├── clipboard.ts │ │ ├── date.ts │ │ ├── language.ts │ │ ├── logger.ts │ │ ├── providerError.ts │ │ ├── session.ts │ │ ├── utils.ts │ │ └── viewPersistence.ts │ ├── middleware.ts │ ├── next.config.mjs │ ├── package.json │ ├── pnpm-workspace.yaml │ ├── postcss.config.mjs │ ├── public/ │ │ └── locales/ │ │ ├── en/ │ │ │ └── common.json │ │ └── zh/ │ │ └── common.json │ ├── server.js │ ├── services/ │ │ ├── agentConfigService.ts │ │ ├── agentVersionService.ts │ │ ├── api.ts │ │ ├── authService.ts │ │ ├── configService.ts │ │ ├── conversationService.ts │ │ ├── groupService.ts │ │ ├── invitationService.ts │ │ ├── knowledgeBasePollingService.ts │ │ ├── knowledgeBaseService.ts │ │ ├── marketService.ts │ │ ├── mcpService.ts │ │ ├── memoryService.ts │ │ ├── modelService.ts │ │ ├── promptService.ts │ │ ├── sessionService.ts │ │ ├── storageService.ts │ │ ├── tenantService.ts │ │ ├── tokenService.ts │ │ ├── uploadService.ts │ │ └── userService.ts │ ├── stores/ │ │ └── agentConfigStore.ts │ ├── styles/ │ │ ├── globals.css │ │ └── react-markdown.css │ ├── tailwind.config.ts │ ├── tsconfig.json │ └── types/ │ ├── agentConfig.ts │ ├── auth.ts │ ├── chat.ts │ ├── conversation.ts │ ├── knowledgeBase.ts │ ├── market.ts │ ├── memory.ts │ └── modelConfig.ts ├── make/ │ ├── data_process/ │ │ └── Dockerfile │ ├── docs/ │ │ └── Dockerfile │ ├── main/ │ │ └── Dockerfile │ ├── mcp/ │ │ └── Dockerfile │ ├── terminal/ │ │ ├── Dockerfile │ │ └── entrypoint.sh │ └── web/ │ └── Dockerfile ├── pathology-ai/ │ ├── README.md │ ├── agent-config.md │ ├── architecture.md │ ├── code-changes/ │ │ ├── backend/ │ │ │ └── local_mcp_service.py │ │ ├── docker/ │ │ │ └── update_prompt_btn.sql │ │ ├── frontend/ │ │ │ ├── DiagnosisConfidenceCard.tsx │ │ │ ├── MedicalVisualizationPanel.tsx │ │ │ ├── PathologyImageGallery.tsx │ │ │ ├── SourceTag.tsx │ │ │ ├── chatLeftSidebar.tsx │ │ │ ├── conversationService.ts │ │ │ ├── index.ts │ │ │ └── markdownRenderer.tsx │ │ └── medical_extension/ │ │ ├── __init__.py │ │ ├── agent_templates.py │ │ ├── api.py │ │ ├── chain_of_diagnosis.py │ │ ├── confidence_evaluator.py │ │ ├── medical_prompts.py │ │ └── test_medical.py │ ├── custom-tools.md │ └── frontend-improvements.md ├── sdk/ │ ├── nexent/ │ │ ├── __init__.py │ │ ├── container/ │ │ │ ├── __init__.py │ │ │ ├── container_client_base.py │ │ │ ├── container_client_factory.py │ │ │ ├── docker_client.py │ │ │ └── docker_config.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── agents/ │ │ │ │ ├── __init__.py │ │ │ │ ├── agent_model.py │ │ │ │ ├── core_agent.py │ │ │ │ ├── nexent_agent.py │ │ │ │ └── run_agent.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── embedding_model.py │ │ │ │ ├── message_utils.py │ │ │ │ ├── openai_llm.py │ │ │ │ ├── openai_long_context_model.py │ │ │ │ ├── openai_vlm.py │ │ │ │ ├── stt_model.py │ │ │ │ └── tts_model.py │ │ │ ├── nlp/ │ │ │ │ ├── __init__.py │ │ │ │ ├── stopwords.py │ │ │ │ └── tokenizer.py │ │ │ ├── prompts/ │ │ │ │ ├── analyze_file_en.yaml │ │ │ │ ├── analyze_file_zh.yaml │ │ │ │ ├── analyze_image_en.yaml │ │ │ │ └── analyze_image_zh.yaml │ │ │ ├── tools/ │ │ │ │ ├── README.md │ │ │ │ ├── README_EN.md │ │ │ │ ├── __init__.py │ │ │ │ ├── analyze_image_tool.py │ │ │ │ ├── analyze_text_file_tool.py │ │ │ │ ├── create_directory_tool.py │ │ │ │ ├── create_file_tool.py │ │ │ │ ├── datamate_search_tool.py │ │ │ │ ├── delete_directory_tool.py │ │ │ │ ├── delete_file_tool.py │ │ │ │ ├── dify_search_tool.py │ │ │ │ ├── exa_search_tool.py │ │ │ │ ├── get_email_tool.py │ │ │ │ ├── idata_search_tool.py │ │ │ │ ├── knowledge_base_search_tool.py │ │ │ │ ├── linkup_search_tool.py │ │ │ │ ├── list_directory_tool.py │ │ │ │ ├── move_item_tool.py │ │ │ │ ├── read_file_tool.py │ │ │ │ ├── send_email_tool.py │ │ │ │ ├── tavily_search_tool.py │ │ │ │ └── terminal_tool.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── favicon_extractor.py │ │ │ ├── observer.py │ │ │ ├── prompt_template_utils.py │ │ │ └── tools_common_message.py │ │ ├── data_process/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── core.py │ │ │ ├── openpyxl_processor.py │ │ │ └── unstructured_processor.py │ │ ├── datamate/ │ │ │ ├── __init__.py │ │ │ └── datamate_client.py │ │ ├── memory/ │ │ │ ├── __init__.py │ │ │ ├── embedder_adaptor.py │ │ │ ├── memory_core.py │ │ │ ├── memory_service.py │ │ │ └── memory_utils.py │ │ ├── monitor/ │ │ │ ├── __init__.py │ │ │ └── monitoring.py │ │ ├── multi_modal/ │ │ │ ├── __init__.py │ │ │ ├── load_save_object.py │ │ │ └── utils.py │ │ ├── storage/ │ │ │ ├── __init__.py │ │ │ ├── minio.py │ │ │ ├── minio_config.py │ │ │ ├── storage_client_base.py │ │ │ └── storage_client_factory.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ └── http_client_manager.py │ │ └── vector_database/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── datamate_core.py │ │ ├── elasticsearch_core.py │ │ └── utils.py │ └── pyproject.toml └── test/ ├── .coveragerc ├── __init__.py ├── assets/ │ ├── test_data_process_doc.txt │ ├── test_data_process_sheet.xlsx │ ├── test_prompt.yaml │ ├── test_sub_prompt.yaml │ └── test_voice.html ├── backend/ │ ├── __init__.py │ ├── agents/ │ │ ├── test_agent_run_manager.py │ │ ├── test_create_agent_info.py │ │ └── test_preprocess_manager.py │ ├── app/ │ │ ├── test_agent_app.py │ │ ├── test_app_factory.py │ │ ├── test_config_app.py │ │ ├── test_config_sync_app.py │ │ ├── test_conversation_management_app.py │ │ ├── test_data_process_app.py │ │ ├── test_datamate_app.py │ │ ├── test_dify_app.py │ │ ├── test_file_management_app.py │ │ ├── test_group_app.py │ │ ├── test_idata_app.py │ │ ├── test_image_app.py │ │ ├── test_invitation_app.py │ │ ├── test_knowledge_summary_app.py │ │ ├── test_memory_config_app.py │ │ ├── test_mock_user_management_app.py │ │ ├── test_model_managment_app.py │ │ ├── test_northbound_app.py │ │ ├── test_northbound_base_app.py │ │ ├── test_remote_mcp_app.py │ │ ├── test_tenant_app.py │ │ ├── test_tenant_config_app.py │ │ ├── test_tool_config_app.py │ │ ├── test_user_app.py │ │ ├── test_user_management_app.py │ │ ├── test_vectordatabase_app.py │ │ └── test_voice_app.py │ ├── consts/ │ │ ├── test_error_code.py │ │ ├── test_error_message.py │ │ └── test_exceptions.py │ ├── data_process/ │ │ ├── __init__.py │ │ ├── test_ray_actors.py │ │ ├── test_ray_config.py │ │ ├── test_tasks.py │ │ └── test_worker.py │ ├── database/ │ │ ├── test_agent_db.py │ │ ├── test_agent_version_db.py │ │ ├── test_attachment_db.py │ │ ├── test_client.py │ │ ├── test_conversation_db.py │ │ ├── test_group_db.py │ │ ├── test_invitation_db.py │ │ ├── test_knowledge_db.py │ │ ├── test_memory_config_db.py │ │ ├── test_model_managment_db.py │ │ ├── test_partner_db.py │ │ ├── test_remote_mcp_db.py │ │ ├── test_role_permission_db.py │ │ ├── test_tenant_config_db.py │ │ ├── test_token_db.py │ │ ├── test_tool_db.py │ │ └── test_user_tenant_db.py │ ├── middleware/ │ │ └── test_exception_handler.py │ ├── services/ │ │ ├── __init__.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── test_base.py │ │ │ ├── test_dashscope_provider.py │ │ │ ├── test_modelengine_provider.py │ │ │ ├── test_silicon_provider.py │ │ │ └── test_tokenpony_provider.py │ │ ├── test_agent_service.py │ │ ├── test_agent_version_service.py │ │ ├── test_config_sync_service.py │ │ ├── test_conversation_management_service.py │ │ ├── test_data_process_service.py │ │ ├── test_datamate_service.py │ │ ├── test_dify_service.py │ │ ├── test_file_management_service.py │ │ ├── test_group_service.py │ │ ├── test_idata_service.py │ │ ├── test_image_service.py │ │ ├── test_invitation_service.py │ │ ├── test_mcp_container_service.py │ │ ├── test_memory_config_service.py │ │ ├── test_model_health_service.py │ │ ├── test_model_management_service.py │ │ ├── test_model_provider_service.py │ │ ├── test_northbound_service.py │ │ ├── test_prompt_service.py │ │ ├── test_redis_service.py │ │ ├── test_remote_mcp_service.py │ │ ├── test_tenant_service.py │ │ ├── test_tool_configuration_service.py │ │ ├── test_user_management_service.py │ │ ├── test_user_service.py │ │ ├── test_vectordatabase_service.py │ │ └── test_voice_service.py │ ├── test_cluster_summarization.py │ ├── test_document_vector_integration.py │ ├── test_document_vector_utils.py │ ├── test_document_vector_utils_coverage.py │ ├── test_llm_integration.py │ ├── test_model_consts.py │ ├── test_runtime_service.py │ ├── test_summary_formatting.py │ └── utils/ │ ├── __init__.py │ ├── test_auth_utils.py │ ├── test_config_utils.py │ ├── test_file_management_utils.py │ ├── test_langchain_utils.py │ ├── test_llm_utils.py │ ├── test_memory_utils.py │ ├── test_model_name_utils.py │ ├── test_monitoring.py │ ├── test_prompt_template_utils.py │ └── test_str_utils.py ├── common/ │ ├── __init__.py │ └── test_mocks.py ├── conftest.py ├── pytest.ini ├── run_all_test.py └── sdk/ ├── __init__.py ├── container/ │ ├── __init__.py │ ├── test_container_client_base.py │ ├── test_container_client_factory.py │ ├── test_docker_client.py │ └── test_docker_config.py ├── core/ │ ├── agents/ │ │ ├── test_core_agent.py │ │ ├── test_nexent_agent.py │ │ └── test_run_agent.py │ ├── models/ │ │ ├── test_embedding_model.py │ │ ├── test_message_utils.py │ │ ├── test_openai_llm.py │ │ ├── test_openai_long_context_model.py │ │ ├── test_openai_vlm.py │ │ ├── test_stt_model.py │ │ └── test_tts_model.py │ ├── tools/ │ │ ├── test_analyze_image_tool.py │ │ ├── test_analyze_text_file_tool.py │ │ ├── test_create_directory_tool.py │ │ ├── test_create_file_tool.py │ │ ├── test_datamate_search_tool.py │ │ ├── test_delete_directory_tool.py │ │ ├── test_delete_file_tool.py │ │ ├── test_dify_search_tool.py │ │ ├── test_exa_search_tool.py │ │ ├── test_get_email_tool.py │ │ ├── test_idata_search_tool.py │ │ ├── test_knowledge_base_search_tool.py │ │ ├── test_send_email_tool.py │ │ ├── test_tavily_search_tool.py │ │ └── test_terminal_tool.py │ └── utils/ │ ├── test_observer.py │ └── test_prompt_template_utils.py ├── data_process/ │ ├── __init__.py │ ├── test_core.py │ ├── test_openpyxl_processor.py │ └── test_unstructured_processor.py ├── datamate/ │ └── test_datamate_client.py ├── memory/ │ └── test_memory_service.py ├── monitor/ │ ├── __init__.py │ ├── conftest.py │ └── test_monitoring.py ├── multi_modal/ │ ├── test_load_save_object.py │ └── test_utils.py ├── storage/ │ ├── __init__.py │ ├── test_minio.py │ ├── test_minio_config.py │ └── test_storage_client_factory.py ├── utils/ │ └── test_http_client_manager.py └── vector_database/ ├── __init__.py ├── test_datamate_core.py └── test_elasticsearch_core.py