diff --git a/rebuild.sh b/rebuild.sh
new file mode 100644
index 0000000..105a254
--- /dev/null
+++ b/rebuild.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+set -e
+
+# 使用说明
+usage() {
+ echo "Usage: $0
[VER] [save]"
+ echo ""
+ echo " DIR - Dockerfile 所在目录路径 (必需)"
+ echo " VER - 镜像版本号 (可选, 默认: 1.0.0)"
+ echo " save - 是否保存为 tar 文件 (可选)"
+ exit 1
+}
+
+# 检查 DIR 参数
+if [ -z "$1" ]; then
+ echo "Error: 缺少 DIR 参数"
+ usage
+fi
+
+DIR="$1"
+VER="${2:-1.0.0}"
+SAVE="$3"
+
+# 检查目录是否存在
+if [ ! -d "$DIR" ]; then
+ echo "Error: 目录不存在: $DIR"
+ exit 1
+fi
+
+# 从目录路径提取文件夹名作为镜像名
+DIR_NAME=$(basename "$DIR")
+NAME="timi/${DIR_NAME}"
+
+echo "==> 构建镜像: ${NAME}:${VER}"
+echo "==> Dockerfile 路径: ${DIR}"
+
+# 删除已存在的同名镜像 (忽略错误)
+if docker image inspect "${NAME}:${VER}" > /dev/null 2>&1; then
+ echo "==> 删除已存在的镜像: ${NAME}:${VER}"
+ docker rmi "${NAME}:${VER}" || true
+fi
+
+# 构建镜像
+echo "==> 开始构建..."
+docker build -t "${NAME}:${VER}" "$DIR"
+
+echo "==> 构建完成: ${NAME}:${VER}"
+
+# 如果指定 save 参数,保存镜像为 tar
+if [ "$SAVE" = "save" ]; then
+ TAR_FILE="${DIR_NAME}.tar"
+ echo "==> 保存镜像为: ${TAR_FILE}"
+ docker save -o "$TAR_FILE" "${NAME}:${VER}"
+ echo "==> 保存完成: ${TAR_FILE}"
+fi