diff --git a/tool/open-in-terminal/open-in-terminal b/tool/open-in-terminal/open-in-terminal
index f723f72..fda426d 100755
--- a/tool/open-in-terminal/open-in-terminal
+++ b/tool/open-in-terminal/open-in-terminal
@@ -6,20 +6,25 @@ if [ -z "$1" ]; then
   echo "${TRANSHELL_CONTENT_PLEASE_PROVIDE_FILE_PATH}"
   exit 1
 fi
-DESKTOP_FILE_PATH=$1
-if [[ $DESKTOP_FILE_PATH == file://* ]]; then
-    # 如果是,移除 'file://' 部分并输出结果
-    DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
-fi
 
-# 获取文件内容中Exec=后的命令
-exec_command=$(grep -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
+    DESKTOP_FILE_PATH=$1
 
-# 打印提取的命令
-echo "$exec_command"
+    if [[ $DESKTOP_FILE_PATH == file://* ]]; then
+        # 如果是,移除 'file://' 部分并输出结果
+        DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
+    fi
 
-# 在默认终端执行命令
-eval "$exec_command"
+    # 获取文件内容中第一个 Exec= 后的命令
+    exec_command=$(grep -m 1 -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
+
+    # 删除 exec_command 中最后的 % 及其后面的内容
+    exec_command="${exec_command%\%*}"
+
+    # 打印提取的命令
+    echo "$exec_command"
+
+    # 在默认终端执行命令
+    eval "$exec_command"
 
 echo --------------------------------------
 echo "${TRANSHELL_CONTENT_ABOVE_IS_TERMINAL_OUTPUT}"
diff --git a/tool/store-helper/ss-launcher b/tool/store-helper/ss-launcher
new file mode 100755
index 0000000..1d9ad9e
--- /dev/null
+++ b/tool/store-helper/ss-launcher
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+function scan_desktop_file(){
+unset desktop_file_path
+    for desktop_file_path in $(dpkg -L "$1" |grep /usr/share/applications/ | awk '/\.desktop$/ {print}'); do
+	if [ "$(cat $desktop_file_path | grep NoDisplay=true)" = "" ];then
+	echo "$desktop_file_path is found"
+	fi
+    done
+	for desktop_file_path in $(dpkg -L "$1" |grep /opt/apps/$package_name/entries/applications | awk '/\.desktop$/ {print}'); do
+	if [ "$(cat $desktop_file_path | grep NoDisplay=true)" = "" ];then
+	echo $desktop_file_path is found
+	fi
+    done
+
+
+}
+
+function launch_app(){
+
+    # 检查是否传入了路径参数
+    if [ -z "$1" ]; then
+        echo "请传入文件路径作为参数"
+        exit 1
+    fi
+
+    DESKTOP_FILE_PATH=$1
+
+    if [[ $DESKTOP_FILE_PATH == file://* ]]; then
+        # 如果是,移除 'file://' 部分并输出结果
+        DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
+    fi
+
+    # 获取文件内容中第一个 Exec= 后的命令
+    exec_command=$(grep -m 1 -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
+
+    # 删除 exec_command 中最后的 % 及其后面的内容
+    exec_command="${exec_command%\%*}"
+
+    # 打印提取的命令
+    echo "$exec_command"
+
+    # 在默认终端执行命令
+    eval "$exec_command"
+}
+
+if [ "$#" -lt 2 ];then
+echo "Usage: $0 check/launch packagename"
+exit -1
+fi 
+
+
+if [ "$1" = "check" ];then
+
+scan_desktop_file "$2"
+	if [ "$desktop_file_path" = "" ];then
+		echo "No desktop file found. exit -1"
+		exit -1
+	else
+		exit 0
+	fi
+
+
+
+elif [ "$1" = "launch" ];then 
+scan_desktop_file "$2"
+	if [  "$desktop_file_path" = "" ];then
+		echo "No desktop file found. exit -1"
+		exit -1
+	fi
+
+
+launch_app "${desktop_file_path}"
+fi