Wendong-Fan commited on
Commit
d02f3a5
·
1 Parent(s): b7e41c5

update docker docstring language

Browse files
.container/check_docker.bat CHANGED
@@ -1,62 +1,62 @@
1
  @echo off
2
- echo 检查Docker环境...
3
 
4
- REM 检查Docker是否安装
5
  where docker >nul 2>nul
6
  if %ERRORLEVEL% NEQ 0 (
7
- echo 错误: Docker未安装
8
- echo 在Windows上安装Docker的方法:
9
- echo 1. 访问 https://docs.docker.com/desktop/install/windows-install/ 下载Docker Desktop
10
- echo 2. 安装并启动Docker Desktop
11
  pause
12
  exit /b 1
13
  )
14
 
15
- echo Docker已安装
16
 
17
- REM 检查Docker Compose是否安装
18
  where docker-compose >nul 2>nul
19
  if %ERRORLEVEL% NEQ 0 (
20
- echo 警告: Docker-Compose未找到,尝试使用新的docker compose命令
21
  docker compose version >nul 2>nul
22
  if %ERRORLEVEL% NEQ 0 (
23
- echo 错误: Docker Compose未安装
24
- echo Docker Desktop for Windows应该已包含Docker Compose
25
- echo 请确保Docker Desktop已正确安装
26
  pause
27
  exit /b 1
28
  ) else (
29
- echo 使用新的docker compose命令
30
  set COMPOSE_CMD=docker compose
31
  )
32
  ) else (
33
- echo Docker-Compose已安装
34
  set COMPOSE_CMD=docker-compose
35
  )
36
 
37
- REM 检查Docker是否正在运行
38
  docker info >nul 2>nul
39
  if %ERRORLEVEL% NEQ 0 (
40
- echo 错误: Docker未运行
41
- echo 请启动Docker Desktop应用程序
42
  pause
43
  exit /b 1
44
  )
45
 
46
- echo Docker正在运行
47
 
48
- REM 检查是否有.env文件
49
  if not exist "owl\.env" (
50
- echo 警告: 未找到owl\.env文件
51
- echo 请运行以下命令创建环境变量文件:
52
  echo copy owl\.env_template owl\.env
53
- echo 然后编辑owl\.env文件,填写必要的API密钥
54
  ) else (
55
- echo 环境变量文件已存在
56
  )
57
 
58
- echo 所有检查完成,您的系统已准备好构建和运行OWL项目的Docker容器
59
- echo 请运行以下命令构建Docker镜像:
60
  echo %COMPOSE_CMD% build
61
 
62
- pause
 
1
  @echo off
2
+ echo 检查Docker环境... | Checking Docker environment...
3
 
4
+ REM 检查Docker是否安装 | Check if Docker is installed
5
  where docker >nul 2>nul
6
  if %ERRORLEVEL% NEQ 0 (
7
+ echo 错误 | Error: Docker未安装 | Docker not installed
8
+ echo 在Windows上安装Docker的方法 | How to install Docker on Windows:
9
+ echo 1. 访问 | Visit https://docs.docker.com/desktop/install/windows-install/ 下载Docker Desktop | to download Docker Desktop
10
+ echo 2. 安装并启动Docker Desktop | Install and start Docker Desktop
11
  pause
12
  exit /b 1
13
  )
14
 
15
+ echo Docker已安装 | Docker is installed
16
 
17
+ REM 检查Docker Compose是否安装 | Check if Docker Compose is installed
18
  where docker-compose >nul 2>nul
19
  if %ERRORLEVEL% NEQ 0 (
20
+ echo 警告 | Warning: Docker-Compose未找到,尝试使用新的docker compose命令 | Docker-Compose not found, trying to use new docker compose command
21
  docker compose version >nul 2>nul
22
  if %ERRORLEVEL% NEQ 0 (
23
+ echo 错误 | Error: Docker Compose未安装 | Docker Compose not installed
24
+ echo Docker Desktop for Windows应该已包含Docker Compose | Docker Desktop for Windows should already include Docker Compose
25
+ echo 请确保Docker Desktop已正确安装 | Please make sure Docker Desktop is properly installed
26
  pause
27
  exit /b 1
28
  ) else (
29
+ echo 使用新的docker compose命令 | Using new docker compose command
30
  set COMPOSE_CMD=docker compose
31
  )
32
  ) else (
33
+ echo Docker-Compose已安装 | Docker-Compose is installed
34
  set COMPOSE_CMD=docker-compose
35
  )
36
 
37
+ REM 检查Docker是否正在运行 | Check if Docker is running
38
  docker info >nul 2>nul
39
  if %ERRORLEVEL% NEQ 0 (
40
+ echo 错误 | Error: Docker未运行 | Docker not running
41
+ echo 请启动Docker Desktop应用程序 | Please start Docker Desktop application
42
  pause
43
  exit /b 1
44
  )
45
 
46
+ echo Docker正在运行 | Docker is running
47
 
48
+ REM 检查是否有.env文件 | Check if .env file exists
49
  if not exist "owl\.env" (
50
+ echo 警告 | Warning: 未找到owl\.env文件 | owl\.env file not found
51
+ echo 请运行以下命令创建环境变量文件 | Please run the following command to create environment variable file:
52
  echo copy owl\.env_template owl\.env
53
+ echo 然后编辑owl\.env文件,填写必要的API密钥 | Then edit owl\.env file and fill in necessary API keys
54
  ) else (
55
+ echo 环境变量文件已存在 | Environment variable file exists
56
  )
57
 
58
+ echo 所有检查完成,您的系统已准备好构建和运行OWL项目的Docker容器 | All checks completed, your system is ready to build and run OWL project Docker container
59
+ echo 请运行以下命令构建Docker镜像 | Please run the following command to build Docker image:
60
  echo %COMPOSE_CMD% build
61
 
62
+ pause
.container/check_docker.sh CHANGED
@@ -1,92 +1,92 @@
1
  #!/bin/bash
2
 
3
- # 检测操作系统类型
4
  OS_TYPE=$(uname -s)
5
- echo "检测到操作系统: $OS_TYPE"
6
 
7
- # 检查Docker是否安装
8
  if ! command -v docker &> /dev/null; then
9
- echo "错误: Docker未安装"
10
 
11
  if [[ "$OS_TYPE" == "Darwin" ]]; then
12
- echo "在macOS上安装Docker的方法:"
13
- echo "1. 访问 https://docs.docker.com/desktop/install/mac-install/ 下载Docker Desktop"
14
- echo "2. 安装并启动Docker Desktop"
15
  elif [[ "$OS_TYPE" == "Linux" ]]; then
16
- echo "在Linux上安装Docker的方法:"
17
- echo "1. 运行以下命令:"
18
  echo " sudo apt-get update"
19
  echo " sudo apt-get install docker.io docker-compose"
20
- echo "2. 启动Docker服务:"
21
  echo " sudo systemctl start docker"
22
  echo " sudo systemctl enable docker"
23
  elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
24
- echo "在Windows上安装Docker的方法:"
25
- echo "1. 访问 https://docs.docker.com/desktop/install/windows-install/ 下载Docker Desktop"
26
- echo "2. 安装并启动Docker Desktop"
27
  fi
28
 
29
  exit 1
30
  fi
31
 
32
- echo "Docker已安装"
33
 
34
- # 检查Docker Compose是否安装
35
  if ! command -v docker-compose &> /dev/null; then
36
- echo "错误: Docker Compose未安装"
37
 
38
  if [[ "$OS_TYPE" == "Darwin" ]]; then
39
- echo "Docker Desktop for Mac已包含Docker Compose"
40
  elif [[ "$OS_TYPE" == "Linux" ]]; then
41
- echo "在Linux上安装Docker Compose的方法:"
42
- echo "1. 运行以下命令:"
43
  echo " sudo apt-get install docker-compose"
44
  elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
45
- echo "Docker Desktop for Windows已包含Docker Compose"
46
  fi
47
 
48
  exit 1
49
  fi
50
 
51
- echo "Docker Compose已安装"
52
 
53
- # 检查Docker是否正在运行
54
  if ! docker info &> /dev/null; then
55
- echo "错误: Docker未运行"
56
 
57
  if [[ "$OS_TYPE" == "Darwin" ]]; then
58
- echo "请启动Docker Desktop应用程序"
59
  elif [[ "$OS_TYPE" == "Linux" ]]; then
60
- echo "请运行以下命令启动Docker服务:"
61
  echo "sudo systemctl start docker"
62
  elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
63
- echo "请启动Docker Desktop应用程序"
64
  fi
65
 
66
  exit 1
67
  fi
68
 
69
- echo "Docker正在运行"
70
 
71
- # 检查是否有足够的磁盘空间
72
  FREE_SPACE=$(df -h . | awk 'NR==2 {print $4}')
73
- echo "可用磁盘空间: $FREE_SPACE"
74
 
75
- # 检查是否有.env文件
76
  if [ ! -f "owl/.env" ]; then
77
- echo "警告: 未找到owl/.env文件"
78
- echo "请运行以下命令创建环境变量文件:"
79
  echo "cp owl/.env_template owl/.env"
80
- echo "然后编辑owl/.env文件,填写必要的API密钥"
81
  else
82
- echo "环境变量文件已存在"
83
  fi
84
 
85
- echo "所有检查完成,您的系统已准备好构建和运行OWL项目的Docker容器"
86
- echo "请运行以下命令构建Docker镜像:"
87
 
88
  if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
89
  echo "build_docker.bat"
90
  else
91
  echo "./build_docker.sh"
92
- fi
 
1
  #!/bin/bash
2
 
3
+ # 检测操作系统类型 | Detect operating system type
4
  OS_TYPE=$(uname -s)
5
+ echo "检测到操作系统 | Detected OS: $OS_TYPE"
6
 
7
+ # 检查Docker是否安装 | Check if Docker is installed
8
  if ! command -v docker &> /dev/null; then
9
+ echo "错误 | Error: Docker未安装 | Docker not installed"
10
 
11
  if [[ "$OS_TYPE" == "Darwin" ]]; then
12
+ echo "在macOS上安装Docker的方法 | How to install Docker on macOS:"
13
+ echo "1. 访问 | Visit https://docs.docker.com/desktop/install/mac-install/ 下载Docker Desktop | to download Docker Desktop"
14
+ echo "2. 安装并启动Docker Desktop | Install and start Docker Desktop"
15
  elif [[ "$OS_TYPE" == "Linux" ]]; then
16
+ echo "在Linux上安装Docker的方法 | How to install Docker on Linux:"
17
+ echo "1. 运行以下命令 | Run the following commands:"
18
  echo " sudo apt-get update"
19
  echo " sudo apt-get install docker.io docker-compose"
20
+ echo "2. 启动Docker服务 | Start Docker service:"
21
  echo " sudo systemctl start docker"
22
  echo " sudo systemctl enable docker"
23
  elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
24
+ echo "在Windows上安装Docker的方法 | How to install Docker on Windows:"
25
+ echo "1. 访问 | Visit https://docs.docker.com/desktop/install/windows-install/ 下载Docker Desktop | to download Docker Desktop"
26
+ echo "2. 安装并启动Docker Desktop | Install and start Docker Desktop"
27
  fi
28
 
29
  exit 1
30
  fi
31
 
32
+ echo "Docker已安装 | Docker is installed"
33
 
34
+ # 检查Docker Compose是否安装 | Check if Docker Compose is installed
35
  if ! command -v docker-compose &> /dev/null; then
36
+ echo "错误 | Error: Docker Compose未安装 | Docker Compose not installed"
37
 
38
  if [[ "$OS_TYPE" == "Darwin" ]]; then
39
+ echo "Docker Desktop for Mac已包含Docker Compose | Docker Desktop for Mac already includes Docker Compose"
40
  elif [[ "$OS_TYPE" == "Linux" ]]; then
41
+ echo "在Linux上安装Docker Compose的方法 | How to install Docker Compose on Linux:"
42
+ echo "1. 运行以下命令 | Run the following command:"
43
  echo " sudo apt-get install docker-compose"
44
  elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
45
+ echo "Docker Desktop for Windows已包含Docker Compose | Docker Desktop for Windows already includes Docker Compose"
46
  fi
47
 
48
  exit 1
49
  fi
50
 
51
+ echo "Docker Compose已安装 | Docker Compose is installed"
52
 
53
+ # 检查Docker是否正在运行 | Check if Docker is running
54
  if ! docker info &> /dev/null; then
55
+ echo "错误 | Error: Docker未运行 | Docker not running"
56
 
57
  if [[ "$OS_TYPE" == "Darwin" ]]; then
58
+ echo "请启动Docker Desktop应用程序 | Please start Docker Desktop application"
59
  elif [[ "$OS_TYPE" == "Linux" ]]; then
60
+ echo "请运行以下命令启动Docker服务 | Please run the following command to start Docker service:"
61
  echo "sudo systemctl start docker"
62
  elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
63
+ echo "请启动Docker Desktop应用程序 | Please start Docker Desktop application"
64
  fi
65
 
66
  exit 1
67
  fi
68
 
69
+ echo "Docker正在运行 | Docker is running"
70
 
71
+ # 检查是否有足够的磁盘空间 | Check if there is enough disk space
72
  FREE_SPACE=$(df -h . | awk 'NR==2 {print $4}')
73
+ echo "可用磁盘空间 | Available disk space: $FREE_SPACE"
74
 
75
+ # 检查是否有.env文件 | Check if .env file exists
76
  if [ ! -f "owl/.env" ]; then
77
+ echo "警告 | Warning: 未找到owl/.env文件 | owl/.env file not found"
78
+ echo "请运行以下命令创建环境变量文件 | Please run the following command to create environment variable file:"
79
  echo "cp owl/.env_template owl/.env"
80
+ echo "然后编辑owl/.env文件,填写必要的API密钥 | Then edit owl/.env file and fill in necessary API keys"
81
  else
82
+ echo "环境变量文件已存在 | Environment variable file exists"
83
  fi
84
 
85
+ echo "所有检查完成,您的系统已准备好构建和运行OWL项目的Docker容器 | All checks completed, your system is ready to build and run OWL project Docker container"
86
+ echo "请运行以下命令构建Docker镜像 | Please run the following command to build Docker image:"
87
 
88
  if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
89
  echo "build_docker.bat"
90
  else
91
  echo "./build_docker.sh"
92
+ fi
.container/run_in_docker.bat CHANGED
@@ -1,71 +1,71 @@
1
  @echo off
2
  setlocal enabledelayedexpansion
3
 
4
- REM 定义配置变量
5
  set SERVICE_NAME=owl
6
  set PYTHON_CMD=xvfb-python
7
  set MAX_WAIT_SECONDS=60
8
  set CHECK_INTERVAL_SECONDS=2
9
 
10
- REM 检查参数
11
  if "%~1"=="" (
12
- echo 用法: run_in_docker.bat [脚本名称] "你的问题"
13
- echo 例如: run_in_docker.bat run.py "什么是人工智能?"
14
- echo 或者: run_in_docker.bat run_deepseek_example.py "什么是人工智能?"
15
- echo 如果不指定脚本名称,默认使用 run.py
16
  exit /b 1
17
  )
18
 
19
- REM 判断第一个参数是否是脚本名称
20
  set SCRIPT_NAME=%~1
21
  set QUERY=%~2
22
 
23
  if "!SCRIPT_NAME:~-3!"==".py" (
24
- REM 如果提供了第二个参数,则为查询内容
25
  if "!QUERY!"=="" (
26
- echo 请提供查询参数,例如: run_in_docker.bat !SCRIPT_NAME! "你的问题"
27
  exit /b 1
28
  )
29
  ) else (
30
- REM 如果第一个参数不是脚本名称,则默认使用 run.py
31
  set QUERY=!SCRIPT_NAME!
32
  set SCRIPT_NAME=run.py
33
  )
34
 
35
- REM 检查脚本是否存在
36
  if not exist "owl\!SCRIPT_NAME!" (
37
- echo 错误: 脚本 'owl\!SCRIPT_NAME!' 不存在
38
- echo 可用的脚本有:
39
  dir /b owl\*.py | findstr /v "__"
40
  exit /b 1
41
  )
42
 
43
- echo 使用脚本: !SCRIPT_NAME!
44
- echo 查询内容: !QUERY!
45
 
46
- REM 从docker-compose.yml获取服务名称(如果文件存在)
47
  if exist ".container\docker-compose.yml" (
48
  for /f "tokens=*" %%a in ('findstr /r "^ [a-zA-Z0-9_-]*:" .container\docker-compose.yml') do (
49
  set line=%%a
50
  set service=!line:~2,-1!
51
  if not "!service!"=="" (
52
- REM 使用第一个找到的服务名称
53
  set SERVICE_NAME=!service!
54
- echo 从docker-compose.yml检测到服务名称: !SERVICE_NAME!
55
  goto :found_service
56
  )
57
  )
58
  )
59
  :found_service
60
 
61
- REM 确保Docker容器正在运行
62
  docker-compose ps | findstr "!SERVICE_NAME!.*Up" > nul
63
  if errorlevel 1 (
64
- echo 启动Docker容器...
65
  docker-compose up -d
66
 
67
- REM 使用循环检查容器是否就绪
68
- echo 等待容器启动...
69
  set /a total_wait=0
70
 
71
  :wait_loop
@@ -75,42 +75,42 @@ if errorlevel 1 (
75
  docker-compose ps | findstr "!SERVICE_NAME!.*Up" > nul
76
  if errorlevel 1 (
77
  if !total_wait! LSS !MAX_WAIT_SECONDS! (
78
- echo 容器尚未就绪,已等待!total_wait!秒,继续等待...
79
  goto :wait_loop
80
  ) else (
81
- echo 错误:容器启动超时,已等待!MAX_WAIT_SECONDS!秒
82
- echo 请检查Docker容器状态:docker-compose ps
83
  exit /b 1
84
  )
85
  ) else (
86
- echo 容器已就绪,共等待了!total_wait!秒
87
  )
88
  )
89
 
90
- REM 检查容器中是否存在xvfb-python命令
91
- echo 检查容器中的命令...
92
  docker-compose exec -T !SERVICE_NAME! which !PYTHON_CMD! > nul 2>&1
93
  if errorlevel 1 (
94
- echo 警告:容器中未找到!PYTHON_CMD!命令,尝试使用python替代
95
  set PYTHON_CMD=python
96
 
97
- REM 检查python命令是否存在
98
  docker-compose exec -T !SERVICE_NAME! which python > nul 2>&1
99
  if errorlevel 1 (
100
- echo 错误:容器中未找到python命令
101
- echo 请检查容器配置
102
  exit /b 1
103
  )
104
  )
105
 
106
- REM 在容器中运行指定的脚本,传递查询参数
107
- echo 在Docker容器中使用!PYTHON_CMD!运行脚本...
108
  docker-compose exec -T !SERVICE_NAME! !PYTHON_CMD! !SCRIPT_NAME! "!QUERY!"
109
 
110
  if errorlevel 0 (
111
- echo 查询完成!
112
  ) else (
113
- echo 查询执行失败,请检查错误信息。
114
  )
115
 
116
- pause
 
1
  @echo off
2
  setlocal enabledelayedexpansion
3
 
4
+ REM 定义配置变量 | Define configuration variables
5
  set SERVICE_NAME=owl
6
  set PYTHON_CMD=xvfb-python
7
  set MAX_WAIT_SECONDS=60
8
  set CHECK_INTERVAL_SECONDS=2
9
 
10
+ REM 检查参数 | Check parameters
11
  if "%~1"=="" (
12
+ echo 用法 | Usage: run_in_docker.bat [脚本名称 | script name] "你的问题 | your question"
13
+ echo 例如 | Example: run_in_docker.bat run.py "什么是人工智能? | What is artificial intelligence?"
14
+ echo 或者 | Or: run_in_docker.bat run_deepseek_example.py "什么是人工智能? | What is artificial intelligence?"
15
+ echo 如果不指定脚本名称,默认使用 run.py | If script name is not specified, run.py will be used by default
16
  exit /b 1
17
  )
18
 
19
+ REM 判断第一个参数是否是脚本名称 | Determine if the first parameter is a script name
20
  set SCRIPT_NAME=%~1
21
  set QUERY=%~2
22
 
23
  if "!SCRIPT_NAME:~-3!"==".py" (
24
+ REM 如果提供了第二个参数,则为查询内容 | If a second parameter is provided, it's the query content
25
  if "!QUERY!"=="" (
26
+ echo 请提供查询参数,例如 | Please provide query parameter, e.g.: run_in_docker.bat !SCRIPT_NAME! "你的问题 | your question"
27
  exit /b 1
28
  )
29
  ) else (
30
+ REM 如果第一个参数不是脚本名称,则默认使用 run.py | If the first parameter is not a script name, use run.py by default
31
  set QUERY=!SCRIPT_NAME!
32
  set SCRIPT_NAME=run.py
33
  )
34
 
35
+ REM 检查脚本是否存在 | Check if the script exists
36
  if not exist "owl\!SCRIPT_NAME!" (
37
+ echo 错误 | Error: 脚本 | Script 'owl\!SCRIPT_NAME!' 不存在 | does not exist
38
+ echo 可用的脚本有 | Available scripts:
39
  dir /b owl\*.py | findstr /v "__"
40
  exit /b 1
41
  )
42
 
43
+ echo 使用脚本 | Using script: !SCRIPT_NAME!
44
+ echo 查询内容 | Query content: !QUERY!
45
 
46
+ REM 从docker-compose.yml获取服务名称(如果文件存在) | Get service name from docker-compose.yml (if file exists)
47
  if exist ".container\docker-compose.yml" (
48
  for /f "tokens=*" %%a in ('findstr /r "^ [a-zA-Z0-9_-]*:" .container\docker-compose.yml') do (
49
  set line=%%a
50
  set service=!line:~2,-1!
51
  if not "!service!"=="" (
52
+ REM 使用第一个找到的服务名称 | Use the first service name found
53
  set SERVICE_NAME=!service!
54
+ echo 从docker-compose.yml检测到服务名称 | Detected service name from docker-compose.yml: !SERVICE_NAME!
55
  goto :found_service
56
  )
57
  )
58
  )
59
  :found_service
60
 
61
+ REM 确保Docker容器正在运行 | Ensure Docker container is running
62
  docker-compose ps | findstr "!SERVICE_NAME!.*Up" > nul
63
  if errorlevel 1 (
64
+ echo 启动Docker容器... | Starting Docker container...
65
  docker-compose up -d
66
 
67
+ REM 使用循环检查容器是否就绪 | Use loop to check if container is ready
68
+ echo 等待容器启动... | Waiting for container to start...
69
  set /a total_wait=0
70
 
71
  :wait_loop
 
75
  docker-compose ps | findstr "!SERVICE_NAME!.*Up" > nul
76
  if errorlevel 1 (
77
  if !total_wait! LSS !MAX_WAIT_SECONDS! (
78
+ echo 容器尚未就绪,已等待!total_wait!秒,继续等待... | Container not ready yet, waited for !total_wait! seconds, continuing to wait...
79
  goto :wait_loop
80
  ) else (
81
+ echo 错误 | Error:容器启动超时,已等待!MAX_WAIT_SECONDS!秒 | Container startup timeout, waited for !MAX_WAIT_SECONDS! seconds
82
+ echo 请检查Docker容器状态 | Please check Docker container status:docker-compose ps
83
  exit /b 1
84
  )
85
  ) else (
86
+ echo 容���已就绪,共等待了!total_wait!秒 | Container is ready, waited for !total_wait! seconds in total
87
  )
88
  )
89
 
90
+ REM 检查容器中是否存在xvfb-python命令 | Check if xvfb-python command exists in container
91
+ echo 检查容器中的命令... | Checking commands in container...
92
  docker-compose exec -T !SERVICE_NAME! which !PYTHON_CMD! > nul 2>&1
93
  if errorlevel 1 (
94
+ echo 警告 | Warning:容器中未找到!PYTHON_CMD!命令,尝试使用python替代 | !PYTHON_CMD! command not found in container, trying to use python instead
95
  set PYTHON_CMD=python
96
 
97
+ REM 检查python命令是否存在 | Check if python command exists
98
  docker-compose exec -T !SERVICE_NAME! which python > nul 2>&1
99
  if errorlevel 1 (
100
+ echo 错误 | Error:容器中未找到python命令 | python command not found in container
101
+ echo 请检查容器配置 | Please check container configuration
102
  exit /b 1
103
  )
104
  )
105
 
106
+ REM 在容器中运行指定的脚本,传递查询参数 | Run the specified script in container, passing query parameter
107
+ echo 在Docker容器中使用!PYTHON_CMD!运行脚本... | Running script in Docker container using !PYTHON_CMD!...
108
  docker-compose exec -T !SERVICE_NAME! !PYTHON_CMD! !SCRIPT_NAME! "!QUERY!"
109
 
110
  if errorlevel 0 (
111
+ echo 查询完成! | Query completed!
112
  ) else (
113
+ echo 查询执行失败,请检查错误信息。 | Query execution failed, please check error messages.
114
  )
115
 
116
+ pause
.container/run_in_docker.sh CHANGED
@@ -1,44 +1,44 @@
1
  #!/bin/bash
2
 
3
- # 定义配置变量
4
  SERVICE_NAME="owl"
5
  PYTHON_CMD="xvfb-python"
6
  MAX_WAIT_SECONDS=60
7
  CHECK_INTERVAL_SECONDS=2
8
 
9
- # 检测操作系统类型
10
  OS_TYPE=$(uname -s)
11
- echo "检测到操作系统: $OS_TYPE"
12
 
13
- # 检查是否提供了查询参数
14
  if [ $# -lt 1 ]; then
15
- echo "用法: ./run_in_docker.sh [脚本名称] '你的问题'"
16
- echo "例如: ./run_in_docker.sh run.py '什么是人工智能?'"
17
- echo "或者: ./run_in_docker.sh run_deepseek_example.py '什么是人工智能?'"
18
- echo "如果不指定脚本名称,默认使用 run.py"
19
  exit 1
20
  fi
21
 
22
- # 判断第一个参数是否是脚本名称
23
  if [[ $1 == *.py ]]; then
24
  SCRIPT_NAME="$1"
25
- # 如果提供了第二个参数,则为查询内容
26
  if [ $# -ge 2 ]; then
27
  QUERY="$2"
28
  else
29
- echo "请提供查询参数,例如: ./run_in_docker.sh $SCRIPT_NAME '你的问题'"
30
  exit 1
31
  fi
32
  else
33
- # 如果第一个参数不是脚本名称,则默认使用 run.py
34
  SCRIPT_NAME="run.py"
35
  QUERY="$1"
36
  fi
37
 
38
- # 检查脚本是否存在
39
  if [ ! -f "owl/$SCRIPT_NAME" ]; then
40
- echo "错误: 脚本 'owl/$SCRIPT_NAME' 不存在"
41
- echo "可用的脚本有:"
42
  if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
43
  find owl -name "*.py" | grep -v "__" | sed 's/\\/\//g'
44
  else
@@ -47,36 +47,36 @@ if [ ! -f "owl/$SCRIPT_NAME" ]; then
47
  exit 1
48
  fi
49
 
50
- echo "使用脚本: $SCRIPT_NAME"
51
- echo "查询内容: $QUERY"
52
 
53
- # 从docker-compose.yml获取服务名称(如果文件存在)
54
  if [ -f ".container/docker-compose.yml" ]; then
55
  DETECTED_SERVICE=$(grep -E "^ [a-zA-Z0-9_-]*:" .container/docker-compose.yml | head -1 | sed 's/^ \(.*\):.*/\1/')
56
  if [ ! -z "$DETECTED_SERVICE" ]; then
57
  SERVICE_NAME="$DETECTED_SERVICE"
58
- echo "从docker-compose.yml检测到服务名称: $SERVICE_NAME"
59
  fi
60
  fi
61
 
62
- # 检查Docker Compose命令
63
  if command -v docker-compose &> /dev/null; then
64
  COMPOSE_CMD="docker-compose"
65
  elif docker compose version &> /dev/null; then
66
  COMPOSE_CMD="docker compose"
67
  else
68
- echo "错误: 未找到Docker Compose命令"
69
  exit 1
70
  fi
71
 
72
- # 确保Docker容器正在运行
73
  CONTAINER_RUNNING=$($COMPOSE_CMD ps | grep -c "$SERVICE_NAME.*Up" || true)
74
  if [ "$CONTAINER_RUNNING" -eq 0 ]; then
75
- echo "启动Docker容器..."
76
  $COMPOSE_CMD up -d
77
 
78
- # 使用循环检查容器是否就绪
79
- echo "等待容器启动..."
80
  TOTAL_WAIT=0
81
 
82
  while [ $TOTAL_WAIT -lt $MAX_WAIT_SECONDS ]; do
@@ -85,51 +85,51 @@ if [ "$CONTAINER_RUNNING" -eq 0 ]; then
85
 
86
  CONTAINER_RUNNING=$($COMPOSE_CMD ps | grep -c "$SERVICE_NAME.*Up" || true)
87
  if [ "$CONTAINER_RUNNING" -gt 0 ]; then
88
- echo "容器已就绪,共等待了 $TOTAL_WAIT 秒"
89
  break
90
  else
91
- echo "容器尚未就绪,已等待 $TOTAL_WAIT 秒,继续等待..."
92
  fi
93
  done
94
 
95
  if [ "$CONTAINER_RUNNING" -eq 0 ]; then
96
- echo "错误:容器启动超时,已等待 $MAX_WAIT_SECONDS 秒"
97
- echo "请检查Docker容器状态:$COMPOSE_CMD ps"
98
  exit 1
99
  fi
100
  fi
101
 
102
- # 检查容器中是否存在指定的Python命令
103
- echo "检查容器中的命令..."
104
  if ! $COMPOSE_CMD exec -T $SERVICE_NAME which $PYTHON_CMD &> /dev/null; then
105
- echo "警告:容器中未找到 $PYTHON_CMD 命令,尝试使用python替代"
106
  PYTHON_CMD="python"
107
 
108
- # 检查python命令是否存在
109
  if ! $COMPOSE_CMD exec -T $SERVICE_NAME which python &> /dev/null; then
110
- echo "错误:容器中未找到python命令"
111
- echo "请检查容器配置"
112
  exit 1
113
  fi
114
  fi
115
 
116
- # 在容器中运行指定的脚本,传递查询参数
117
- echo "在Docker容器中使用 $PYTHON_CMD 运行脚本..."
118
 
119
- # 根据操作系统类型执行不同的命令
120
  if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
121
- # Windows可能需要特殊处理引号
122
  winpty $COMPOSE_CMD exec -T $SERVICE_NAME $PYTHON_CMD $SCRIPT_NAME "$QUERY"
123
  RESULT=$?
124
  else
125
- # macOS 或 Linux
126
  $COMPOSE_CMD exec -T $SERVICE_NAME $PYTHON_CMD $SCRIPT_NAME "$QUERY"
127
  RESULT=$?
128
  fi
129
 
130
- # 检查命令执行结果
131
  if [ $RESULT -eq 0 ]; then
132
- echo "查询完成!"
133
  else
134
- echo "查询执行失败,请检查错误信息。"
135
- fi
 
1
  #!/bin/bash
2
 
3
+ # 定义配置变量 | Define configuration variables
4
  SERVICE_NAME="owl"
5
  PYTHON_CMD="xvfb-python"
6
  MAX_WAIT_SECONDS=60
7
  CHECK_INTERVAL_SECONDS=2
8
 
9
+ # 检测操作系统类型 | Detect operating system type
10
  OS_TYPE=$(uname -s)
11
+ echo "检测到操作系统 | Detected operating system: $OS_TYPE"
12
 
13
+ # 检查是否提供了查询参数 | Check if query parameters are provided
14
  if [ $# -lt 1 ]; then
15
+ echo "用法 | Usage: ./run_in_docker.sh [脚本名称 | script name] '你的问题 | your question'"
16
+ echo "例如 | Example: ./run_in_docker.sh run.py '什么是人工智能? | What is artificial intelligence?'"
17
+ echo "或者 | Or: ./run_in_docker.sh run_deepseek_example.py '什么是人工智能? | What is artificial intelligence?'"
18
+ echo "如果不指定脚本名称,默认使用 run.py | If script name is not specified, run.py will be used by default"
19
  exit 1
20
  fi
21
 
22
+ # 判断第一个参数是否是脚本名称 | Determine if the first parameter is a script name
23
  if [[ $1 == *.py ]]; then
24
  SCRIPT_NAME="$1"
25
+ # 如果提供了第二个参数,则为查询内容 | If a second parameter is provided, it's the query content
26
  if [ $# -ge 2 ]; then
27
  QUERY="$2"
28
  else
29
+ echo "请提供查询参数,例如 | Please provide query parameter, e.g.: ./run_in_docker.sh $SCRIPT_NAME '你的问题 | your question'"
30
  exit 1
31
  fi
32
  else
33
+ # 如果第一个参数不是脚本名称,则默认使用 run.py | If the first parameter is not a script name, use run.py by default
34
  SCRIPT_NAME="run.py"
35
  QUERY="$1"
36
  fi
37
 
38
+ # 检查脚本是否存在 | Check if the script exists
39
  if [ ! -f "owl/$SCRIPT_NAME" ]; then
40
+ echo "错误 | Error: 脚本 | Script 'owl/$SCRIPT_NAME' 不存在 | does not exist"
41
+ echo "可用的脚本有 | Available scripts:"
42
  if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
43
  find owl -name "*.py" | grep -v "__" | sed 's/\\/\//g'
44
  else
 
47
  exit 1
48
  fi
49
 
50
+ echo "使用脚本 | Using script: $SCRIPT_NAME"
51
+ echo "查询内容 | Query content: $QUERY"
52
 
53
+ # 从docker-compose.yml获取服务名称(如果文件存在) | Get service name from docker-compose.yml (if file exists)
54
  if [ -f ".container/docker-compose.yml" ]; then
55
  DETECTED_SERVICE=$(grep -E "^ [a-zA-Z0-9_-]*:" .container/docker-compose.yml | head -1 | sed 's/^ \(.*\):.*/\1/')
56
  if [ ! -z "$DETECTED_SERVICE" ]; then
57
  SERVICE_NAME="$DETECTED_SERVICE"
58
+ echo "从docker-compose.yml检测到服务名称 | Detected service name from docker-compose.yml: $SERVICE_NAME"
59
  fi
60
  fi
61
 
62
+ # 检查Docker Compose命令 | Check Docker Compose command
63
  if command -v docker-compose &> /dev/null; then
64
  COMPOSE_CMD="docker-compose"
65
  elif docker compose version &> /dev/null; then
66
  COMPOSE_CMD="docker compose"
67
  else
68
+ echo "错误 | Error: 未找到Docker Compose命令 | Docker Compose command not found"
69
  exit 1
70
  fi
71
 
72
+ # 确保Docker容器正在运行 | Ensure Docker container is running
73
  CONTAINER_RUNNING=$($COMPOSE_CMD ps | grep -c "$SERVICE_NAME.*Up" || true)
74
  if [ "$CONTAINER_RUNNING" -eq 0 ]; then
75
+ echo "启动Docker容器... | Starting Docker container..."
76
  $COMPOSE_CMD up -d
77
 
78
+ # 使用循环检查容器是否就绪 | Use loop to check if container is ready
79
+ echo "等待容器启动... | Waiting for container to start..."
80
  TOTAL_WAIT=0
81
 
82
  while [ $TOTAL_WAIT -lt $MAX_WAIT_SECONDS ]; do
 
85
 
86
  CONTAINER_RUNNING=$($COMPOSE_CMD ps | grep -c "$SERVICE_NAME.*Up" || true)
87
  if [ "$CONTAINER_RUNNING" -gt 0 ]; then
88
+ echo "容器已就绪,共等待了 $TOTAL_WAIT 秒 | Container is ready, waited for $TOTAL_WAIT seconds in total"
89
  break
90
  else
91
+ echo "容器尚未就绪,已等待 $TOTAL_WAIT 秒,继续等待... | Container not ready yet, waited for $TOTAL_WAIT seconds, continuing to wait..."
92
  fi
93
  done
94
 
95
  if [ "$CONTAINER_RUNNING" -eq 0 ]; then
96
+ echo "错误 | Error:容器启动超时,已等待 $MAX_WAIT_SECONDS 秒 | Container startup timeout, waited for $MAX_WAIT_SECONDS seconds"
97
+ echo "请检查Docker容器状态 | Please check Docker container status:$COMPOSE_CMD ps"
98
  exit 1
99
  fi
100
  fi
101
 
102
+ # 检查容器中是否存在指定的Python命令 | Check if specified Python command exists in container
103
+ echo "检查容器中的命令... | Checking commands in container..."
104
  if ! $COMPOSE_CMD exec -T $SERVICE_NAME which $PYTHON_CMD &> /dev/null; then
105
+ echo "警告 | Warning:容器中未找到 $PYTHON_CMD 命令,尝试使用python替代 | $PYTHON_CMD command not found in container, trying to use python instead"
106
  PYTHON_CMD="python"
107
 
108
+ # 检查python命令是否存在 | Check if python command exists
109
  if ! $COMPOSE_CMD exec -T $SERVICE_NAME which python &> /dev/null; then
110
+ echo "错误 | Error:容器中未找到python命令 | python command not found in container"
111
+ echo "请检查容器配置 | Please check container configuration"
112
  exit 1
113
  fi
114
  fi
115
 
116
+ # 在容器中运行指定的脚本,传递查询参数 | Run the specified script in container, passing query parameter
117
+ echo "在Docker容器中使用 $PYTHON_CMD 运行脚本... | Running script in Docker container using $PYTHON_CMD..."
118
 
119
+ # 根据操作系统类型执行不同的命令 | Execute different commands based on operating system type
120
  if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
121
+ # Windows可能需要特殊处理引号 | Windows may need special handling for quotes
122
  winpty $COMPOSE_CMD exec -T $SERVICE_NAME $PYTHON_CMD $SCRIPT_NAME "$QUERY"
123
  RESULT=$?
124
  else
125
+ # macOS 或 Linux | macOS or Linux
126
  $COMPOSE_CMD exec -T $SERVICE_NAME $PYTHON_CMD $SCRIPT_NAME "$QUERY"
127
  RESULT=$?
128
  fi
129
 
130
+ # 检查命令执行结果 | Check command execution result
131
  if [ $RESULT -eq 0 ]; then
132
+ echo "查询完成! | Query completed!"
133
  else
134
+ echo "查询执行失败,请检查错误信息。 | Query execution failed, please check error messages."
135
+ fi