diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json
index 5853d8260..7e160fccb 100644
--- a/src/i18n/langs/en.json
+++ b/src/i18n/langs/en.json
@@ -668,6 +668,7 @@
"SyncSuccessMsg": "Sync success",
"BatchActivate": "Batch activate",
"SyncSelected": "Sync selected",
+ "bulkDeploy": "Bulk deploy",
"bulkDeleteErrorMsg": "Bulk delete failed: ",
"bulkDeleteSuccessMsg": "Bulk delete success",
"bulkRemoveErrorMsg": "Bulk remove failed: ",
diff --git a/src/i18n/langs/ja.json b/src/i18n/langs/ja.json
index 9f33e22e1..8cdae4647 100644
--- a/src/i18n/langs/ja.json
+++ b/src/i18n/langs/ja.json
@@ -666,6 +666,7 @@
"BatchActivate": "一括アクティブ化",
"SyncSuccessMsg": "同期に成功しました",
"SyncSelected": "選択した同期",
+ "bulkDeploy": "一括デプロイ",
"bulkSyncErrorMsg": "一括同期に失敗しました:",
"bulkDeleteErrorMsg": "一括削除に失敗しました:",
"bulkDeleteSuccessMsg": "一括削除に成功しました",
diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json
index 1d64acb3c..efa9880c2 100644
--- a/src/i18n/langs/zh.json
+++ b/src/i18n/langs/zh.json
@@ -696,6 +696,7 @@
"User": "用户",
"BatchActivate": "批量激活",
"SyncSelected": "同步所选",
+ "bulkDeploy": "批量部署",
"bulkDeleteErrorMsg": "批量删除失败: ",
"bulkDeleteSuccessMsg": "批量删除成功",
"bulkRemoveErrorMsg": "批量移除失败: ",
diff --git a/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue b/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue
new file mode 100644
index 000000000..880320fb2
--- /dev/null
+++ b/src/views/settings/Applet/Applet/AppletDetail/AppletHosts.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/Applet/AppletDetail/index.vue b/src/views/settings/Applet/Applet/AppletDetail/index.vue
index 1383b0fd0..62bec4e0b 100644
--- a/src/views/settings/Applet/Applet/AppletDetail/index.vue
+++ b/src/views/settings/Applet/Applet/AppletDetail/index.vue
@@ -14,13 +14,15 @@