release: bump version to 0.45.0
This commit is contained in:
80
planet.sh
80
planet.sh
@@ -6,6 +6,48 @@ SCRIPT_PATH="${(%):-%N}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_PATH")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
load_user_zshrc_exported_env() {
|
||||
local load_mode="${PLANET_LOAD_ZSHRC_ENV:-1}"
|
||||
[ "$load_mode" != "0" ] || return 0
|
||||
[ "$load_mode" != "false" ] || return 0
|
||||
[ -f "$HOME/.zshrc" ] || return 0
|
||||
|
||||
local env_line env_name env_value
|
||||
if [ "$load_mode" = "source" ]; then
|
||||
command -v zsh >/dev/null 2>&1 || return 0
|
||||
while IFS= read -r env_line; do
|
||||
env_name="${env_line%%=*}"
|
||||
env_value="${env_line#*=}"
|
||||
case "$env_name" in
|
||||
AI_*|SERVICE_NAME|SERVICE_VERSION|PYTHON_IMAGE|UV_IMAGE|DOCKER_BUILDKIT|COMPOSE_DOCKER_CLI_BUILD|HTTP_PROXY|HTTPS_PROXY|NO_PROXY|http_proxy|https_proxy|no_proxy)
|
||||
export "${env_name}=${env_value}"
|
||||
;;
|
||||
esac
|
||||
done < <(zsh -fc 'source ~/.zshrc >/dev/null 2>&1; env' 2>/dev/null || true)
|
||||
return 0
|
||||
fi
|
||||
|
||||
while IFS= read -r env_line; do
|
||||
env_line="$(printf "%s" "$env_line" | sed -E 's/^[[:space:]]+//;s/[[:space:]]+$//')"
|
||||
case "$env_line" in
|
||||
""|\#*) continue ;;
|
||||
export\ *) env_line="${env_line#export }" ;;
|
||||
esac
|
||||
env_name="${env_line%%=*}"
|
||||
env_value="${env_line#*=}"
|
||||
[ "$env_name" != "$env_value" ] || continue
|
||||
env_name="$(printf "%s" "$env_name" | sed -E 's/^[[:space:]]+//;s/[[:space:]]+$//')"
|
||||
env_value="$(printf "%s" "$env_value" | sed -E 's/^[[:space:]]+//;s/[[:space:]]+$//;s/^"//;s/"$//;s/^'\''//;s/'\''$//')"
|
||||
case "$env_name" in
|
||||
AI_*|SERVICE_NAME|SERVICE_VERSION|PYTHON_IMAGE|UV_IMAGE|DOCKER_BUILDKIT|COMPOSE_DOCKER_CLI_BUILD|HTTP_PROXY|HTTPS_PROXY|NO_PROXY|http_proxy|https_proxy|no_proxy)
|
||||
export "${env_name}=${env_value}"
|
||||
;;
|
||||
esac
|
||||
done < "$HOME/.zshrc"
|
||||
}
|
||||
|
||||
load_user_zshrc_exported_env
|
||||
|
||||
RED='\033[38;5;203m'
|
||||
GREEN='\033[38;5;114m'
|
||||
YELLOW='\033[38;5;221m'
|
||||
@@ -68,7 +110,23 @@ AI_PROVIDER_BUILD_STAMP_FILE="$HOME/.cache/planet/aiprovider_build.sha256"
|
||||
AI_PROVIDER_BUILD_LOG_FILE="/tmp/planet_aiprovider_build.log"
|
||||
AI_PROVIDER_IMAGE_NAME="${AI_PROVIDER_IMAGE_NAME:-planet_aiprovider:latest}"
|
||||
AI_PROVIDER_CONTAINER_NAME="${AI_PROVIDER_CONTAINER_NAME:-planet_aiprovider}"
|
||||
PLANET_AI_PROVIDER_RUNTIME_ENV_FILE="${PLANET_AI_PROVIDER_RUNTIME_ENV_FILE:-/tmp/planet_aiprovider_runtime.env}"
|
||||
AI_PROVIDER_RECREATE_REQUIRED=0
|
||||
AI_PROVIDER_RUNTIME_ENV_NAMES=(
|
||||
SERVICE_NAME
|
||||
SERVICE_VERSION
|
||||
AI_PROVIDER
|
||||
AI_PROVIDER_API
|
||||
AI_BASE_URL
|
||||
AI_API_KEY
|
||||
AI_MODEL
|
||||
AI_TIMEOUT_SECONDS
|
||||
AI_HTTP_RETRY_ATTEMPTS
|
||||
AI_MAX_TOKENS
|
||||
AI_ANTHROPIC_VERSION
|
||||
AI_ANALYSIS_SYSTEM_PROMPT
|
||||
AI_PROVIDER_SERVICE_TOKEN
|
||||
)
|
||||
|
||||
prepend_path_once() {
|
||||
local path_entry="$1"
|
||||
@@ -590,6 +648,8 @@ compute_ai_provider_build_fingerprint() {
|
||||
find aiprovider \
|
||||
-type f \
|
||||
! -path '*/__pycache__/*' \
|
||||
! -name '.env' \
|
||||
! -name '.env.*' \
|
||||
! -name '*.pyc' \
|
||||
! -name '*.pyo' \
|
||||
| LC_ALL=C sort \
|
||||
@@ -633,6 +693,9 @@ run_ai_provider_container_manually() {
|
||||
if [ -f "$SCRIPT_DIR/aiprovider/.env" ]; then
|
||||
env_file_args=(--env-file "$SCRIPT_DIR/aiprovider/.env")
|
||||
fi
|
||||
if [ -s "$PLANET_AI_PROVIDER_RUNTIME_ENV_FILE" ]; then
|
||||
env_file_args+=(--env-file "$PLANET_AI_PROVIDER_RUNTIME_ENV_FILE")
|
||||
fi
|
||||
|
||||
docker run -d \
|
||||
--name "$AI_PROVIDER_CONTAINER_NAME" \
|
||||
@@ -641,6 +704,22 @@ run_ai_provider_container_manually() {
|
||||
"$AI_PROVIDER_IMAGE_NAME" >/dev/null
|
||||
}
|
||||
|
||||
write_ai_provider_runtime_env_file() {
|
||||
local env_name env_value
|
||||
|
||||
: > "$PLANET_AI_PROVIDER_RUNTIME_ENV_FILE"
|
||||
chmod 600 "$PLANET_AI_PROVIDER_RUNTIME_ENV_FILE" 2>/dev/null || true
|
||||
|
||||
for env_name in "${AI_PROVIDER_RUNTIME_ENV_NAMES[@]}"; do
|
||||
if [ -n "${(P)env_name+x}" ]; then
|
||||
env_value="${(P)env_name}"
|
||||
printf "%s=%s\n" "$env_name" "$env_value" >> "$PLANET_AI_PROVIDER_RUNTIME_ENV_FILE"
|
||||
fi
|
||||
done
|
||||
|
||||
export PLANET_AI_PROVIDER_RUNTIME_ENV_FILE
|
||||
}
|
||||
|
||||
recreate_ai_provider_container() {
|
||||
local ai_provider_port="${1:-$DEFAULT_AI_PROVIDER_PORT}"
|
||||
|
||||
@@ -1156,6 +1235,7 @@ start_ai_provider_service() {
|
||||
local retry=1
|
||||
set_wait_detail "启动 AI Provider"
|
||||
|
||||
write_ai_provider_runtime_env_file
|
||||
ensure_ai_provider_image_current
|
||||
|
||||
while [ "$retry" -le "$AI_PROVIDER_START_MAX_RETRIES" ]; do
|
||||
|
||||
Reference in New Issue
Block a user