diff --git a/dev.sh b/dev.sh index 8ad0e22..9362b9c 100755 --- a/dev.sh +++ b/dev.sh @@ -91,28 +91,17 @@ check_deps() { } # 构建热重载目录参数(返回热重载参数,日志输出到stderr) +# 使用 --reload-include 模式,自动监听 apps 目录下所有 .py 文件,支持动态安装 build_reload_dirs() { local RELOAD_DIRS="" - local APPS_FILE="apps/apps.txt" + local APPS_DIR="apps" - if [ ! -f "$APPS_FILE" ]; then - warn "未找到 $APPS_FILE,仅监听 jingrow 应用" >&2 - [ -d "apps/jingrow" ] && RELOAD_DIRS="--reload-dir $(cd apps/jingrow && pwd)" + if [ -d "$APPS_DIR" ]; then + # 监听整个 apps 目录,自动包含新安装的 app(支持热重载) + RELOAD_DIRS="--reload-dir $(cd "$APPS_DIR" && pwd)" + info "已启用 apps 目录热重载(自动监听所有 app)" >&2 else - info "从 $APPS_FILE 读取应用列表..." >&2 - while IFS= read -r app_name || [ -n "$app_name" ]; do - app_name=$(echo "$app_name" | sed 's/#.*$//' | xargs) - [ -z "$app_name" ] && continue - - if [ -d "apps/$app_name" ]; then - RELOAD_DIRS="$RELOAD_DIRS --reload-dir $(cd "apps/$app_name" && pwd)" - info " 添加热重载: $app_name" >&2 - else - warn " 应用目录不存在: apps/$app_name" >&2 - fi - done < "$APPS_FILE" - - [ -z "$RELOAD_DIRS" ] && warn "未找到任何应用目录,仅使用默认重载" >&2 || success "热重载目录配置完成" >&2 + warn "apps 目录不存在" >&2 fi echo "$RELOAD_DIRS"