diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..969a0a3b
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,28 @@
+# Git and IDE
+.git
+.idea
+*.iml
+
+# Node artifacts
+**/node_modules
+**/dist
+**/.nuxt
+**/.output
+
+# Maven build output (will be rebuilt in Docker)
+**/target
+
+# Desktop / webchat (not needed for server or sites build)
+mateclaw-desktop
+
+# Data and logs
+data
+*.log
+
+# Misc
+.env
+*.md
+!docs/**/*.md
+!matevip-sites/**/*.md
+!mateclaw-plugin-api/**
+!mateclaw-server/**
diff --git a/docker-compose.yml b/docker-compose.yml
index c61b9498..5849cfb9 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -50,8 +50,8 @@ services:
# MateClaw 后端服务
mateclaw-server:
build:
- context: ./mateclaw-server
- dockerfile: Dockerfile
+ context: .
+ dockerfile: mateclaw-server/Dockerfile
container_name: mateclaw-server
restart: unless-stopped
depends_on:
diff --git a/mateclaw-server/Dockerfile b/mateclaw-server/Dockerfile
index 9a390d77..2856f6e4 100644
--- a/mateclaw-server/Dockerfile
+++ b/mateclaw-server/Dockerfile
@@ -1,9 +1,17 @@
# 多阶段构建
FROM maven:3.9-eclipse-temurin-21 AS builder
+
+# 先构建并安装 plugin-api 到本地 Maven 缓存
+WORKDIR /plugin-api
+COPY mateclaw-plugin-api/pom.xml ./pom.xml
+COPY mateclaw-plugin-api/src ./src
+RUN mvn install -DskipTests -q
+
+# 再构建 mateclaw-server
WORKDIR /build
-COPY pom.xml .
+COPY mateclaw-server/pom.xml .
RUN mvn dependency:go-offline -q
-COPY src ./src
+COPY mateclaw-server/src ./src
RUN mvn package -DskipTests -q
FROM eclipse-temurin:21-jre-alpine
diff --git a/mateclaw-server/pom.xml b/mateclaw-server/pom.xml
index 77c162e8..23f05608 100644
--- a/mateclaw-server/pom.xml
+++ b/mateclaw-server/pom.xml
@@ -6,7 +6,7 @@
vip.mate
mateclaw-server
- 1.1.0
+ 1.1.137-SNAPSHOT
jar
MateClaw Server
diff --git a/mateclaw-ui/package.json b/mateclaw-ui/package.json
index 564ceb64..5dfc4140 100644
--- a/mateclaw-ui/package.json
+++ b/mateclaw-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "mateclaw-ui",
- "version": "1.1.0",
+ "version": "1.1.137-SNAPSHOT",
"private": true,
"type": "module",
"description": "MateClaw - Personal AI Assistant Web Console",