feat(web): improve skill import flow

This commit is contained in:
Junyan Qin
2026-05-18 18:33:39 +08:00
parent 971cc3f675
commit 9e62227104
11 changed files with 1270 additions and 133 deletions
+125
View File
@@ -592,7 +592,14 @@ const thTH = {
taskQueue: 'งานติดตั้ง',
clearCompleted: 'ล้างที่เสร็จแล้ว',
noTasks: 'ไม่มีงานติดตั้ง',
titlePlugin: 'กำลังติดตั้งปลั๊กอิน {{name}}',
titleMCP: 'กำลังติดตั้งเซิร์ฟเวอร์ MCP {{name}}',
titleSkill: 'กำลังติดตั้งสกิล {{name}}',
installCompletePlugin: 'ติดตั้งปลั๊กอินสำเร็จ',
installCompleteMCP: 'ติดตั้งเซิร์ฟเวอร์ MCP สำเร็จ',
installCompleteSkill: 'ติดตั้งสกิลสำเร็จ',
},
uploadPluginOnly: 'รองรับเฉพาะแพ็กเกจปลั๊กอิน .lbpkg',
},
market: {
searchPlaceholder: 'ค้นหาปลั๊กอิน...',
@@ -662,6 +669,7 @@ const thTH = {
clearAll: 'ล้างทั้งหมด',
noTags: 'ไม่มีแท็กที่พร้อมใช้งาน',
},
installCard: 'ติดตั้ง {{name}}',
},
mcp: {
title: 'MCP',
@@ -824,6 +832,13 @@ const thTH = {
enableAllMCPServers: 'เปิดใช้งานเซิร์ฟเวอร์ MCP ทั้งหมด',
allPluginsEnabled: 'เปิดใช้งานปลั๊กอินทั้งหมดแล้ว',
allMCPServersEnabled: 'เปิดใช้งานเซิร์ฟเวอร์ MCP ทั้งหมดแล้ว',
enableAllSkills: 'เปิดใช้สกิลทั้งหมด',
allSkillsEnabled: 'เปิดใช้สกิลทั้งหมดแล้ว',
skillsTitle: 'สกิล',
noSkillsSelected: 'ยังไม่ได้เลือกสกิล',
addSkill: 'เพิ่มสกิล',
selectSkills: 'เลือกสกิล',
noSkillsAvailable: 'ไม่มีสกิลที่พร้อมใช้งาน',
},
debugDialog: {
title: 'แชท Pipeline',
@@ -1378,6 +1393,116 @@ const thTH = {
selectFromSidebar: 'เลือกหน้าปลั๊กอินจากแถบด้านข้าง',
invalidPage: 'หน้าปลั๊กอินไม่ถูกต้อง',
},
skills: {
title: 'สกิล',
description: 'สร้างและจัดการสกิลที่สามารถเปิดใช้ระหว่างการสนทนาได้',
createSkill: 'สร้างสกิล',
createSkillDescription: 'นำเข้าไดเรกทอรีในเครื่องหรือสร้างโดยกรอกข้อมูล',
editSkill: 'แก้ไขสกิล',
getSkillListError: 'ดึงรายการสกิลไม่สำเร็จ: ',
skillName: 'ชื่อสกิล',
displayName: 'ชื่อสกิล',
displayNamePlaceholder: 'ชื่อที่แสดง (รองรับทุกภาษา)',
skillSlug: 'ชื่อไดเรกทอรี',
skillSlugPlaceholder: 'english-name-only',
skillSlugHelp:
'ใช้เป็นชื่อไดเรกทอรีของสกิล รองรับเฉพาะตัวอักษร ตัวเลข ขีดกลาง และขีดล่าง',
skillDescription: 'คำอธิบายสกิล',
skillInstructions: 'คำสั่ง',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกไม่สำเร็จ: ',
createSuccess: 'สร้างสำเร็จ',
createError: 'สร้างไม่สำเร็จ: ',
deleteSuccess: 'ลบสำเร็จ',
deleteError: 'ลบไม่สำเร็จ: ',
deleteConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบสกิลนี้?',
delete: 'ลบสกิล',
skillNameRequired: 'ชื่อสกิลต้องไม่ว่าง',
skillDescriptionRequired: 'คำอธิบายสกิลต้องไม่ว่าง',
packageRootRequired: 'เส้นทางรากของแพ็กเกจต้องไม่ว่าง',
scan: 'สแกน',
scanSuccess: 'สแกนไดเรกทอรีสำเร็จ',
scanError: 'สแกนไดเรกทอรีไม่สำเร็จ: ',
noSkills: 'ยังไม่มีสกิลที่ตั้งค่าไว้',
preview: 'ดูตัวอย่าง',
previewInstructions: 'ดูตัวอย่างคำสั่ง',
instructionsPlaceholder: 'ป้อนคำสั่งของสกิลในรูปแบบ Markdown...',
descriptionPlaceholder:
'คำอธิบายสั้น ๆ ว่าสกิลนี้ทำอะไร (แสดงให้ LLM เห็น)',
packageRoot: 'ไดเรกทอรีแพ็กเกจ',
packageRootHelp:
'ไม่บังคับ จำเป็นเฉพาะเมื่อนำเข้าไดเรกทอรีสกิลที่มีอยู่ เว้นว่างไว้สำหรับสกิลใหม่ การสแกนจะตรวจไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยลึกสุด 2 ระดับ',
importLocalDirectory: 'นำเข้าไดเรกทอรีสกิลในเครื่อง',
chooseSkillDirectory: 'เลือกไดเรกทอรีของ SKILL.md',
chooseAnotherDirectory: 'เลือกไดเรกทอรีอื่น',
importingDirectory: 'กำลังสร้างตัวอย่าง...',
clearDirectoryPreview: 'ล้างไดเรกทอรีที่เลือก',
noSkillMdInDirectory: 'ไม่พบ SKILL.md ในไดเรกทอรีที่เลือก',
multipleSkillMdInDirectory:
'ไดเรกทอรีที่เลือกมี SKILL.md หลายไฟล์ โปรดเลือกไดเรกทอรีสกิลเดียวโดยตรง',
importDirectoryError: 'นำเข้าไดเรกทอรีไม่สำเร็จ: ',
advancedSettings: 'การตั้งค่าขั้นสูง',
searchSkills: 'ค้นหาสกิล...',
selectSkills: 'เลือกสกิล',
addSkill: 'เพิ่มสกิล',
builtin: 'ในตัว',
importFromGithub: 'ติดตั้งสกิลจาก GitHub',
createManually: 'สร้างด้วยตนเอง',
uploadZip: 'อัปโหลดแพ็กเกจ ZIP',
uploadZipOnly: 'รองรับเฉพาะแพ็กเกจสกิล .zip',
installSuccess: 'ติดตั้งสกิลสำเร็จ',
installError: 'ติดตั้งสกิลไม่สำเร็จ: ',
enterRepoUrl: 'ป้อน URL รีโพสitory GitHub',
repoUrlPlaceholder: 'เช่น https://github.com/owner/repo',
fetchingReleases: 'กำลังดึงรีลีส...',
selectRelease: 'เลือกรีลีส',
noReleasesFound: 'ไม่พบรีลีส',
fetchReleasesError: 'ดึงรีลีสไม่สำเร็จ: ',
selectAsset: 'เลือกไฟล์ที่จะติดตั้ง',
sourceArchive: 'ซอร์สโค้ด (zip)',
noAssetsFound: 'ไม่มีไฟล์ที่ติดตั้งได้ในรีลีสนี้',
fetchAssetsError: 'ดึงไฟล์ไม่สำเร็จ: ',
backToReleases: 'กลับไปที่รีลีส',
backToRepoUrl: 'กลับไปที่ URL รีโพสitory',
backToAssets: 'กลับไปที่ไฟล์',
releaseTag: 'แท็ก: {{tag}}',
publishedAt: 'เผยแพร่เมื่อ: {{date}}',
prerelease: 'พรีรีลีส',
assetSize: 'ขนาด: {{size}}',
confirmInstall: 'ยืนยันการติดตั้ง',
installing: 'กำลังติดตั้งสกิล...',
loading: 'กำลังโหลด...',
previewLoadError: 'โหลดตัวอย่างไม่สำเร็จ',
selectFromSidebar: 'เลือกสกิลจากแถบด้านข้าง',
dangerZone: 'พื้นที่อันตราย',
dangerZoneDescription: 'การกระทำที่ย้อนกลับไม่ได้และทำลายข้อมูล',
files: 'ไฟล์',
noFiles: 'ไม่พบไฟล์',
loadFilesError: 'โหลดไฟล์ไม่สำเร็จ: ',
readFileError: 'อ่านไฟล์ไม่สำเร็จ: ',
saveFile: 'บันทึกไฟล์',
saveFileSuccess: 'บันทึกไฟล์สำเร็จ',
saveFileError: 'บันทึกไฟล์ไม่สำเร็จ: ',
},
addExtension: {
manualAdd: 'เพิ่มด้วยตนเอง',
uploadExtension: 'ลากแล้ววางหรือคลิกเพื่ออัปโหลด',
uploadHint: 'รองรับไฟล์ .zip (สกิล) และ .lbpkg (ปลั๊กอิน)',
orContinueWith: 'หรือเลือกการทำงานด้านล่าง',
addMCPServerHint: 'เชื่อมต่อส่วนขยายเซิร์ฟเวอร์เครื่องมือ MCP',
installFromGithub: 'ติดตั้งจาก GitHub',
installFromGithubHint: 'แพ็กเกจปลั๊กอินหรือสกิล (SKILL.md)',
githubUrlHelp: 'วาง URL GitHub',
githubUrlTooltip:
'ปลั๊กอิน: วาง URL รีโพสitory, Release หรือ Tag สกิล: วาง URL หน้า SKILL.md ภายในไดเรกทอรีสกิล',
githubUrlPlaceholder: 'รีโพสitory GitHub, Release หรือลิงก์ SKILL.md',
githubUrlRequired: 'ป้อน URL GitHub',
previewSkill: 'ดูตัวอย่างสกิล',
noSkillPreviewFound: 'ไม่พบสกิลที่นำเข้าได้',
createSkill: 'สร้างสกิลใหม่',
createSkillHint: 'นำเข้าจากไดเรกทอรีในเครื่องหรือสร้างด้วยตนเอง',
unsupportedFileType: 'ประเภทไฟล์ไม่รองรับ รองรับเฉพาะไฟล์ .zip และ .lbpkg',
},
};
export default thTH;