diff --git a/mateclaw-ui/src/components/skill/PreflightInstallDialog.vue b/mateclaw-ui/src/components/skill/PreflightInstallDialog.vue new file mode 100644 index 00000000..98519241 --- /dev/null +++ b/mateclaw-ui/src/components/skill/PreflightInstallDialog.vue @@ -0,0 +1,245 @@ + + + + + + + diff --git a/mateclaw-ui/src/i18n/locales/en-US.ts b/mateclaw-ui/src/i18n/locales/en-US.ts index 2823bbed..749bae1d 100644 --- a/mateclaw-ui/src/i18n/locales/en-US.ts +++ b/mateclaw-ui/src/i18n/locales/en-US.ts @@ -17,6 +17,7 @@ export default { view: 'View', copy: 'Copy', copied: 'Copied', + copyFailed: 'Copy failed', confirm: 'Confirm', close: 'Close', add: 'Add', @@ -2006,10 +2007,25 @@ export default { actions: { configure: 'Configure', view: 'View', + setUp: 'Set Up', delete: 'Delete', saveChanges: 'Save Changes', createSkill: 'Create Skill', }, + preflight: { + title: 'Pre-flight check', + allMet: 'All requirements satisfied', + allMetDesc: 'This skill is ready to use as soon as you bind it to an agent.', + setupNeeded: '{count} requirement(s) need attention', + setupNeededDesc: 'Install the missing pieces below, then re-check or re-resolve the skill.', + requirements: 'Requirements', + features: 'Features', + installCommands: 'Install commands', + optional: 'Optional', + noManifest: 'This skill has no v3 manifest. Status falls back to legacy dependency reporting.', + recheck: 'Re-check', + loadFailed: 'Failed to load preflight data', + }, detail: { title: 'Skill detail', manifest: 'Manifest', diff --git a/mateclaw-ui/src/i18n/locales/zh-CN.ts b/mateclaw-ui/src/i18n/locales/zh-CN.ts index 892584b9..69bc1413 100644 --- a/mateclaw-ui/src/i18n/locales/zh-CN.ts +++ b/mateclaw-ui/src/i18n/locales/zh-CN.ts @@ -17,6 +17,7 @@ export default { view: '查看', copy: '复制', copied: '已复制', + copyFailed: '复制失败', confirm: '确认', close: '关闭', add: '添加', @@ -2008,10 +2009,25 @@ export default { actions: { configure: '配置', view: '查看', + setUp: '配置就绪', delete: '删除', saveChanges: '保存更改', createSkill: '创建技能', }, + preflight: { + title: '装前检查', + allMet: '所有依赖已满足', + allMetDesc: '该 skill 已就绪,绑定到 agent 即可使用。', + setupNeeded: '{count} 项依赖待处理', + setupNeededDesc: '按下方提示安装所需依赖,安装完成后点重新检查。', + requirements: '依赖项', + features: '特性', + installCommands: '安装命令', + optional: '可选', + noManifest: '该 skill 未提供 v3 manifest,状态回退到旧依赖检查模式。', + recheck: '重新检查', + loadFailed: '加载预检数据失败', + }, detail: { title: '技能详情', manifest: 'Manifest', diff --git a/mateclaw-ui/src/views/SkillMarket.vue b/mateclaw-ui/src/views/SkillMarket.vue index 69bde54f..5c0abc87 100644 --- a/mateclaw-ui/src/views/SkillMarket.vue +++ b/mateclaw-ui/src/views/SkillMarket.vue @@ -198,6 +198,14 @@