diff --git a/src/push/Makefile b/cmd/open_im_push/Makefile
similarity index 100%
rename from src/push/Makefile
rename to cmd/open_im_push/Makefile
diff --git a/src/push/open_im_push.go b/cmd/open_im_push/main.go
similarity index 86%
rename from src/push/open_im_push.go
rename to cmd/open_im_push/main.go
index 159ecc6cb..a57a56ba0 100644
--- a/src/push/open_im_push.go
+++ b/cmd/open_im_push/main.go
@@ -1,7 +1,7 @@
 package main
 
 import (
-	"Open_IM/src/push/logic"
+	"Open_IM/internal/push/logic"
 	"flag"
 	"sync"
 )
diff --git a/src/push/content_struct/content.go b/internal/push/content_struct/content.go
similarity index 100%
rename from src/push/content_struct/content.go
rename to internal/push/content_struct/content.go
diff --git a/src/push/logic/init.go b/internal/push/logic/init.go
similarity index 100%
rename from src/push/logic/init.go
rename to internal/push/logic/init.go
diff --git a/src/push/logic/push_handler.go b/internal/push/logic/push_handler.go
similarity index 100%
rename from src/push/logic/push_handler.go
rename to internal/push/logic/push_handler.go
diff --git a/src/push/logic/push_rpc_server.go b/internal/push/logic/push_rpc_server.go
similarity index 100%
rename from src/push/logic/push_rpc_server.go
rename to internal/push/logic/push_rpc_server.go
diff --git a/src/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go
similarity index 100%
rename from src/push/logic/push_to_client.go
rename to internal/push/logic/push_to_client.go
diff --git a/src/push/logic/tpns.go b/internal/push/logic/tpns.go
similarity index 77%
rename from src/push/logic/tpns.go
rename to internal/push/logic/tpns.go
index 616c9c099..6a5dc1e56 100644
--- a/src/push/logic/tpns.go
+++ b/internal/push/logic/tpns.go
@@ -1,11 +1,11 @@
 package logic
 
 import (
+	tpns "Open_IM/internal/push/sdk/tpns-server-sdk-go/go"
+	"Open_IM/internal/push/sdk/tpns-server-sdk-go/go/auth"
+	"Open_IM/internal/push/sdk/tpns-server-sdk-go/go/common"
+	"Open_IM/internal/push/sdk/tpns-server-sdk-go/go/req"
 	"Open_IM/src/common/config"
-	tpns "Open_IM/src/push/sdk/tpns-server-sdk-go/go"
-	"Open_IM/src/push/sdk/tpns-server-sdk-go/go/auth"
-	"Open_IM/src/push/sdk/tpns-server-sdk-go/go/common"
-	"Open_IM/src/push/sdk/tpns-server-sdk-go/go/req"
 )
 
 var badgeType = -2
diff --git a/src/push/sdk/tpns-server-sdk-go/go/auth/auth.go b/internal/push/sdk/tpns-server-sdk-go/go/auth/auth.go
similarity index 100%
rename from src/push/sdk/tpns-server-sdk-go/go/auth/auth.go
rename to internal/push/sdk/tpns-server-sdk-go/go/auth/auth.go
diff --git a/src/push/sdk/tpns-server-sdk-go/go/client/client.go b/internal/push/sdk/tpns-server-sdk-go/go/client/client.go
similarity index 100%
rename from src/push/sdk/tpns-server-sdk-go/go/client/client.go
rename to internal/push/sdk/tpns-server-sdk-go/go/client/client.go
diff --git a/src/push/sdk/tpns-server-sdk-go/go/common/http_helper.go b/internal/push/sdk/tpns-server-sdk-go/go/common/http_helper.go
similarity index 95%
rename from src/push/sdk/tpns-server-sdk-go/go/common/http_helper.go
rename to internal/push/sdk/tpns-server-sdk-go/go/common/http_helper.go
index 31ef387ff..6c010c4f4 100644
--- a/src/push/sdk/tpns-server-sdk-go/go/common/http_helper.go
+++ b/internal/push/sdk/tpns-server-sdk-go/go/common/http_helper.go
@@ -1,7 +1,7 @@
 package common
 
 import (
-	tpns "Open_IM/src/push/sdk/tpns-server-sdk-go/go"
+	tpns "Open_IM/internal/push/sdk/tpns-server-sdk-go/go"
 	"encoding/json"
 	"fmt"
 	"io/ioutil"
diff --git a/src/push/sdk/tpns-server-sdk-go/go/common/json_helper.go b/internal/push/sdk/tpns-server-sdk-go/go/common/json_helper.go
similarity index 100%
rename from src/push/sdk/tpns-server-sdk-go/go/common/json_helper.go
rename to internal/push/sdk/tpns-server-sdk-go/go/common/json_helper.go
diff --git a/src/push/sdk/tpns-server-sdk-go/go/def.go b/internal/push/sdk/tpns-server-sdk-go/go/def.go
similarity index 100%
rename from src/push/sdk/tpns-server-sdk-go/go/def.go
rename to internal/push/sdk/tpns-server-sdk-go/go/def.go
diff --git a/src/push/sdk/tpns-server-sdk-go/go/req/req.go b/internal/push/sdk/tpns-server-sdk-go/go/req/req.go
similarity index 99%
rename from src/push/sdk/tpns-server-sdk-go/go/req/req.go
rename to internal/push/sdk/tpns-server-sdk-go/go/req/req.go
index cc4195ec7..7afc07004 100644
--- a/src/push/sdk/tpns-server-sdk-go/go/req/req.go
+++ b/internal/push/sdk/tpns-server-sdk-go/go/req/req.go
@@ -1,7 +1,7 @@
 package req
 
 import (
-	tpns "Open_IM/src/push/sdk/tpns-server-sdk-go/go"
+	tpns "Open_IM/internal/push/sdk/tpns-server-sdk-go/go"
 	"bytes"
 	"encoding/json"
 	"io"
diff --git a/src/rpc/chat/chat/send_msg.go b/src/rpc/chat/chat/send_msg.go
index 8a7366a7c..ba5f26c9c 100644
--- a/src/rpc/chat/chat/send_msg.go
+++ b/src/rpc/chat/chat/send_msg.go
@@ -2,6 +2,7 @@ package rpcChat
 
 import (
 	"Open_IM/internal/api/group"
+	"Open_IM/internal/push/content_struct"
 	"Open_IM/src/common/config"
 	"Open_IM/src/common/constant"
 	http2 "Open_IM/src/common/http"
@@ -9,7 +10,6 @@ import (
 	"Open_IM/src/grpc-etcdv3/getcdv3"
 	pbChat "Open_IM/src/proto/chat"
 	pbGroup "Open_IM/src/proto/group"
-	"Open_IM/src/push/content_struct"
 	"Open_IM/src/utils"
 	"context"
 	"encoding/json"