diff --git a/scripts/deploy/2-install-dependency/install_openEulerIntelligence.sh b/scripts/deploy/2-install-dependency/install_openEulerIntelligence.sh index 148ccfcf4970a26b315fd7eee3fb1a6519bd5b2a..4e40f324d43a86d01e5b1af7d8414f5217bb36fd 100644 --- a/scripts/deploy/2-install-dependency/install_openEulerIntelligence.sh +++ b/scripts/deploy/2-install-dependency/install_openEulerIntelligence.sh @@ -92,6 +92,21 @@ EOF dnf makecache } +# 获取 wget 日志文件名 +get_wget_log_filename() { + local file_path=$1 + # 创建日志目录(如果不存在) + mkdir -p "$HOME/.cache/openEuler Intelligence/logs" + # 获取开始下载的时间戳 + local timestamp + timestamp=$(date +%Y%m%d_%H%M%S) + # 获取下载文件名 + local filename + filename=$(basename "$file_path") + # 构造日志文件路径 + local logfile="$HOME/.cache/openEuler Intelligence/logs/${timestamp}_${filename}.log" + echo "$logfile" +} # 安装MinIO install_minio() { echo -e "${COLOR_INFO}[Info] 开始安装MinIO...${COLOR_RESET}" @@ -115,7 +130,9 @@ install_minio() { echo -e "${COLOR_INFO}[Info] MinIO RPM文件已存在于缓存目录,跳过下载${COLOR_RESET}" else echo -e "${COLOR_INFO}[Info] 正在下载MinIO软件包...${COLOR_RESET}" - if ! wget "$minio_url" --no-check-certificate -O "$minio_file"; then + local logfile + logfile=$(get_wget_log_filename "$minio_file") + if ! wget "$minio_url" --no-check-certificate -O "$minio_file" -o "$logfile"; then echo -e "${COLOR_ERROR}[Error] MinIO下载失败${COLOR_RESET}" return 1 fi @@ -137,7 +154,9 @@ install_minio() { echo -e "${COLOR_INFO}[Info] MinIO二进制文件已存在于缓存目录,跳过下载${COLOR_RESET}" else echo -e "${COLOR_INFO}[Info] 正在下载MinIO二进制文件(aarch64)...${COLOR_RESET}" - if ! wget -q --show-progress "$minio_url" -O "$minio_binary" --no-check-certificate; then + local logfile + logfile=$(get_wget_log_filename "$minio_binary") + if ! wget -q --show-progress "$minio_url" -O "$minio_binary" --no-check-certificate -o "$logfile"; then echo -e "${COLOR_ERROR}[Error] 下载MinIO失败,请检查网络连接${COLOR_RESET}" return 1 fi @@ -293,7 +312,9 @@ install_scws() { echo -e "${COLOR_INFO}[Info] SCWS安装包已存在,跳过下载${COLOR_RESET}" else echo -e "${COLOR_INFO} 正在下载SCWS...${COLOR_RESET}" - if ! wget "$scws_url" --no-check-certificate -O "$scws_tar"; then + local logfile + logfile=$(get_wget_log_filename "$scws_tar") + if ! wget "$scws_url" --no-check-certificate -O "$scws_tar" -o "$logfile"; then echo -e "${COLOR_ERROR}[Error] SCWS下载失败${COLOR_RESET}" return 1 fi @@ -440,7 +461,9 @@ install_mongodb() { echo -e "${COLOR_INFO}[Info] MongoDB server软件包已存在于缓存目录,跳过下载${COLOR_RESET}" else echo -e "${COLOR_INFO}[Info] 正在下载MongoDB server软件包...${COLOR_RESET}" - if ! wget "$mongodb_server_url" --no-check-certificate -O "$mongodb_server"; then + local logfile + logfile=$(get_wget_log_filename "$mongodb_server") + if ! wget "$mongodb_server_url" --no-check-certificate -O "$mongodb_server" -o "$logfile"; then echo -e "${COLOR_ERROR}[Error] MongoDB server下载失败${COLOR_RESET}" return 1 fi @@ -449,7 +472,9 @@ install_mongodb() { echo -e "${COLOR_INFO}[Info] MongoDB mongosh软件包已存在于缓存目录,跳过下载${COLOR_RESET}" else echo -e "${COLOR_INFO}[Info] 正在下载MongoDB mongosh软件包...${COLOR_RESET}" - if ! wget "$mongodb_mongosh_url" --no-check-certificate -O "$mongodb_mongosh"; then + local logfile + logfile=$(get_wget_log_filename "$mongodb_mongosh") + if ! wget "$mongodb_mongosh_url" --no-check-certificate -O "$mongodb_mongosh" -o "$logfile"; then echo -e "${COLOR_ERROR}[Error] MongoDB mongosh下载失败${COLOR_RESET}" return 1 fi diff --git a/scripts/tools/uninstaller.sh b/scripts/tools/uninstaller.sh index 229aaa6e8e1a9b8c668faf831c40b244d3668574..604178d2ea40f9d29b7add9c4c885af8329632b5 100755 --- a/scripts/tools/uninstaller.sh +++ b/scripts/tools/uninstaller.sh @@ -51,7 +51,23 @@ FLUSH PRIVILEGES; } uninstall_full() { - echo "Uninstalling MongoDB and MinIO..." + echo "Performing full uninstall including all dependencies and services..." + + # Stop additional services + for svc in mysqld redis postgresql; do + unit="${svc}.service" + if systemctl list-unit-files --type=service | awk '{print $1}' | grep -Fxq "$unit"; then + if systemctl is-active --quiet "$unit"; then + echo "Stopping $unit ..." + systemctl stop "$unit" || true + fi + systemctl disable "$unit" || true + fi + done + + # Uninstall additional dependency packages + dnf remove -y nginx redis mysql java-17-openjdk postgresql libpq-devel || true + # Uninstall MongoDB if rpm -q mongodb-org-server >/dev/null 2>&1; then echo "Stopping MongoDB..." @@ -67,6 +83,7 @@ uninstall_full() { else echo "MongoDB not installed, skipping..." fi + # Uninstall MinIO if rpm -q minio >/dev/null 2>&1; then echo "Removing MinIO via dnf..." @@ -82,6 +99,15 @@ uninstall_full() { rm -rf /var/lib/minio rm -rf /usr/local/bin/minio fi + + # Remove additional directories + rm -rf /opt/aops /opt/authhub /opt/minio /opt/mongodb /opt/pgvector /opt/scws* /opt/zhparser + rm -rf /usr/lib/euler-copilot-rag /var/log/openEulerIntelligence /etc/euler-copilot-rag + rm -rf /etc/nginx/conf.d/authhub.nginx.conf.bak /etc/systemd/system/oi-runtime.service /etc/systemd/system/multi-user.target.wants/oi-runtime.service + + # Clean additional database data + rm -rf /var/lib/mysql /var/log/mysql /var/lib/pgsql + echo "Full uninstall complete." } diff --git a/src/app/deployment/agent.py b/src/app/deployment/agent.py index 71887f909246adefe2db94c1f623c4946d82e7e7..2b2c6ffbb1aeece31c6a67cbd9f536904a4e49e8 100644 --- a/src/app/deployment/agent.py +++ b/src/app/deployment/agent.py @@ -312,6 +312,9 @@ class ApiClient: "name": name, "description": description, "mcpService": mcp_service_ids, + "permission": { + "visibility": "public", + }, } logger.info("创建智能体: %s (包含 %d 个 MCP 服务)", name, len(mcp_service_ids)) @@ -1066,7 +1069,7 @@ class AgentManager: mcp_service_ids, ) - # 发布智能体(如果配置要求发布) + # 发布智能体 if app_config.published: await self.api_client.publish_agent(app_id)