feat(skills): add install from ZIP file feature

- Add open_zip_file_dialog command for selecting ZIP files
- Add install_from_zip service method with recursive skill scanning
- Add install_skills_from_zip Tauri command
- Add frontend API methods and useInstallSkillsFromZip hook
- Add "Install from ZIP" button in Skills management page
- Support local skill ID format: local:{directory}
- Add i18n translations for new feature and error messages
This commit is contained in:
Jason
2026-01-28 11:56:36 +08:00
parent e3d335be2d
commit 987fc46e06
12 changed files with 333 additions and 3 deletions
+2
View File
@@ -38,6 +38,7 @@ function getErrorI18nKey(code: string): string {
SKILL_DIRECTORY_CONFLICT: "skills.error.directoryConflict",
EMPTY_ARCHIVE: "skills.error.emptyArchive",
GET_HOME_DIR_FAILED: "skills.error.getHomeDirFailed",
NO_SKILLS_IN_ZIP: "skills.error.noSkillsInZip",
};
return mapping[code] || "skills.error.unknownError";
@@ -54,6 +55,7 @@ function getSuggestionI18nKey(suggestion: string): string {
checkRepoUrl: "skills.error.suggestion.checkRepoUrl",
checkPermission: "skills.error.suggestion.checkPermission",
uninstallFirst: "skills.error.suggestion.uninstallFirst",
checkZipContent: "skills.error.suggestion.checkZipContent",
http403: "skills.error.http403",
http404: "skills.error.http404",
http429: "skills.error.http429",