feat: 新增技能相关功能
This commit is contained in:
@@ -20,5 +20,6 @@ export const NAMESPACES = [
|
||||
'knowledge',
|
||||
'component',
|
||||
'models',
|
||||
'skills',
|
||||
] as const;
|
||||
export type Namespace = (typeof NAMESPACES)[number];
|
||||
112
src/i18n/locales/en/skills.json
Normal file
112
src/i18n/locales/en/skills.json
Normal file
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"title": "Skills",
|
||||
"subtitle": "Browse and manage AI capabilities",
|
||||
"refresh": "Refresh",
|
||||
"openFolder": "Open Skills Folder",
|
||||
"gatewayWarning": "Gateway is not running. Skills cannot be loaded without an active Gateway.",
|
||||
"tabs": {
|
||||
"installed": "Installed",
|
||||
"marketplace": "Marketplace"
|
||||
},
|
||||
"filter": {
|
||||
"all": "All ({{count}})",
|
||||
"builtIn": "Built-in ({{count}})",
|
||||
"marketplace": "Marketplace ({{count}})"
|
||||
},
|
||||
"search": "Search skills...",
|
||||
"searchMarketplace": "Search marketplace...",
|
||||
"searchButton": "Search",
|
||||
"actions": {
|
||||
"enableVisible": "Enable Visible",
|
||||
"disableVisible": "Disable Visible",
|
||||
"installSkill": "Install Skills"
|
||||
},
|
||||
"noSkills": "No skills found",
|
||||
"noSkillsSearch": "Try a different search term",
|
||||
"noSkillsAvailable": "No skills available",
|
||||
"detail": {
|
||||
"info": "Information",
|
||||
"config": "Configuration",
|
||||
"description": "Description",
|
||||
"version": "Version",
|
||||
"author": "Author",
|
||||
"source": "Source",
|
||||
"coreSystem": "Core System",
|
||||
"bundled": "Bundled",
|
||||
"userInstalled": "User Installed",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"apiKey": "API Key",
|
||||
"apiKeyPlaceholder": "Enter API Key (optional)",
|
||||
"apiKeyDesc": "The primary API key for this skill. Leave blank if not required or configured elsewhere.",
|
||||
"envVars": "Environment Variables",
|
||||
"addVariable": "Add Variable",
|
||||
"noEnvVars": "No environment variables configured.",
|
||||
"keyPlaceholder": "KEY (e.g. BASE_URL)",
|
||||
"valuePlaceholder": "VALUE",
|
||||
"envNote": "Note: Rows with empty keys will be automatically removed during save.",
|
||||
"saving": "Saving...",
|
||||
"saveConfig": "Save Configuration",
|
||||
"configSaved": "Configuration saved",
|
||||
"openManual": "Open Manual",
|
||||
"openActualFolder": "Open Actual Folder",
|
||||
"copyPath": "Copy path",
|
||||
"pathUnavailable": "Path not available",
|
||||
"configurable": "Configurable",
|
||||
"uninstall": "Uninstall",
|
||||
"enable": "Enable",
|
||||
"disable": "Disable"
|
||||
},
|
||||
"source": {
|
||||
"badge": {
|
||||
"bundled": "Bundled",
|
||||
"managed": "Managed",
|
||||
"workspace": "Workspace",
|
||||
"extra": "Extra dirs",
|
||||
"agentsPersonal": "Personal .agents",
|
||||
"agentsProject": "Project .agents",
|
||||
"unknown": "Unknown source"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"enabled": "Skill enabled",
|
||||
"disabled": "Skill disabled",
|
||||
"installed": "Skill installed and enabled",
|
||||
"uninstalled": "Skill uninstalled successfully",
|
||||
"openedEditor": "Opened in editor",
|
||||
"failedEditor": "Failed to open editor",
|
||||
"failedSave": "Failed to save configuration",
|
||||
"failedOpenFolder": "Failed to open skills folder",
|
||||
"failedInstall": "Failed to install",
|
||||
"failedUninstall": "Failed to uninstall",
|
||||
"failedFolderNotFound": "Skills folder does not exist yet. Install a skill first.",
|
||||
"copiedPath": "Path copied",
|
||||
"failedCopyPath": "Failed to copy path",
|
||||
"failedOpenActualFolder": "Failed to open actual skill folder",
|
||||
"searchTimeoutError": "Search timed out, check network. You can also search on ClawHub.ai, download the ZIP, and extract it to \"{{path}}\"",
|
||||
"installTimeoutError": "Installation timed out, check network. You can also download the ZIP from ClawHub.ai and extract it to \"{{path}}\"",
|
||||
"searchRateLimitError": "Search rate limit exceeded. You can also search on ClawHub.ai, download the ZIP, and extract it to \"{{path}}\"",
|
||||
"installRateLimitError": "Installation rate limit exceeded. You can also download the ZIP from ClawHub.ai and extract it to \"{{path}}\"",
|
||||
"fetchTimeoutError": "Fetching skills timed out, please check your network connection.",
|
||||
"fetchRateLimitError": "Fetching skills rate limit exceeded, please try again later.",
|
||||
"noBatchEnableTargets": "All visible skills are already enabled.",
|
||||
"noBatchDisableTargets": "All visible skills are already disabled.",
|
||||
"batchEnabled": "{{count}} skills enabled.",
|
||||
"batchDisabled": "{{count}} skills disabled.",
|
||||
"batchPartial": "Updated {{success}} / {{total}} skills. Some items failed."
|
||||
},
|
||||
"marketplace": {
|
||||
"title": "Marketplace",
|
||||
"installDialogTitle": "Install Skills",
|
||||
"installDialogSubtitle": "Browse Explore by default, or enter keywords to search.",
|
||||
"sourceLabel": "Source",
|
||||
"sourceClawHub": "ClawHub",
|
||||
"securityNote": "Click skill card to view its documentation and security information on ClawHub before installation.",
|
||||
"manualInstallHint": "Network issues? You can always download skill ZIP archives from ClawHub.ai and extract them manually into \"{{path}}\".",
|
||||
"searching": "Searching ClawHub...",
|
||||
"noResults": "No skills found matching your search.",
|
||||
"emptyPrompt": "Search for new skills to expand your capabilities.",
|
||||
"searchError": "ClawHub search failed. Check your connection or installation.",
|
||||
"install": "Install"
|
||||
}
|
||||
}
|
||||
112
src/i18n/locales/ja/skills.json
Normal file
112
src/i18n/locales/ja/skills.json
Normal file
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"title": "スキル",
|
||||
"subtitle": "AI機能の閲覧と管理",
|
||||
"refresh": "更新",
|
||||
"openFolder": "スキルフォルダを開く",
|
||||
"gatewayWarning": "ゲートウェイが稼働していません。アクティブなゲートウェイがないとスキルを読み込めません。",
|
||||
"tabs": {
|
||||
"installed": "インストール済み",
|
||||
"marketplace": "マーケットプレイス"
|
||||
},
|
||||
"filter": {
|
||||
"all": "すべて ({{count}})",
|
||||
"builtIn": "内蔵 ({{count}})",
|
||||
"marketplace": "マーケットプレイス ({{count}})"
|
||||
},
|
||||
"search": "スキルを検索...",
|
||||
"searchMarketplace": "マーケットプレイスを検索...",
|
||||
"searchButton": "検索",
|
||||
"actions": {
|
||||
"enableVisible": "表示中を一括有効化",
|
||||
"disableVisible": "表示中を一括無効化",
|
||||
"installSkill": "スキルをインストール"
|
||||
},
|
||||
"noSkills": "スキルが見つかりません",
|
||||
"noSkillsSearch": "別の検索語をお試しください",
|
||||
"noSkillsAvailable": "利用可能なスキルがありません",
|
||||
"detail": {
|
||||
"info": "情報",
|
||||
"config": "設定",
|
||||
"description": "説明",
|
||||
"version": "バージョン",
|
||||
"author": "作者",
|
||||
"source": "ソース",
|
||||
"coreSystem": "コアシステム",
|
||||
"bundled": "内蔵",
|
||||
"userInstalled": "ユーザーインストール",
|
||||
"enabled": "有効",
|
||||
"disabled": "無効",
|
||||
"apiKey": "APIキー",
|
||||
"apiKeyPlaceholder": "APIキーを入力(任意)",
|
||||
"apiKeyDesc": "このスキルの主要なAPIキーです。不要な場合または別の場所で設定している場合は空白のままにしてください。",
|
||||
"envVars": "環境変数",
|
||||
"addVariable": "変数を追加",
|
||||
"noEnvVars": "環境変数が設定されていません。",
|
||||
"keyPlaceholder": "キー(例:BASE_URL)",
|
||||
"valuePlaceholder": "値",
|
||||
"envNote": "注意:キーが空の行は保存時に自動的に削除されます。",
|
||||
"saving": "保存中...",
|
||||
"saveConfig": "設定を保存",
|
||||
"configSaved": "設定を保存しました",
|
||||
"openManual": "マニュアルを開く",
|
||||
"openActualFolder": "実際のフォルダを開く",
|
||||
"copyPath": "パスをコピー",
|
||||
"pathUnavailable": "パスを取得できません",
|
||||
"configurable": "設定可能",
|
||||
"uninstall": "アンインストール",
|
||||
"enable": "有効化",
|
||||
"disable": "無効化"
|
||||
},
|
||||
"source": {
|
||||
"badge": {
|
||||
"bundled": "内蔵",
|
||||
"managed": "管理ディレクトリ",
|
||||
"workspace": "ワークスペース",
|
||||
"extra": "追加ディレクトリ",
|
||||
"agentsPersonal": "個人 .agents",
|
||||
"agentsProject": "プロジェクト .agents",
|
||||
"unknown": "不明なソース"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"enabled": "スキルを有効にしました",
|
||||
"disabled": "スキルを無効にしました",
|
||||
"installed": "スキルをインストールして有効にしました",
|
||||
"uninstalled": "スキルのアンインストールに成功しました",
|
||||
"openedEditor": "エディターで開きました",
|
||||
"failedEditor": "エディターを開けませんでした",
|
||||
"failedSave": "設定の保存に失敗しました",
|
||||
"failedOpenFolder": "スキルフォルダを開けませんでした",
|
||||
"failedInstall": "インストールに失敗しました",
|
||||
"failedUninstall": "アンインストールに失敗しました",
|
||||
"failedFolderNotFound": "スキルフォルダがまだ存在しません。先にスキルをインストールしてください。",
|
||||
"copiedPath": "パスをコピーしました",
|
||||
"failedCopyPath": "パスのコピーに失敗しました",
|
||||
"failedOpenActualFolder": "スキルの実際のフォルダを開けませんでした",
|
||||
"searchTimeoutError": "検索がタイムアウトしました。ClawHub.aiで検索してZIPをダウンロードし、\"{{path}}\" に展開することも可能です",
|
||||
"installTimeoutError": "インストールがタイムアウトしました。ClawHub.aiでZIPをダウンロードし、\"{{path}}\" に展開することも可能です",
|
||||
"searchRateLimitError": "検索リクエストの制限を超過しました。ClawHub.aiで検索してZIPをダウンロードし、\"{{path}}\" に展開することも可能です",
|
||||
"installRateLimitError": "インストールリクエストの制限を超過しました。ClawHub.aiからZIPをダウンロードし、\"{{path}}\" に展開することも可能です",
|
||||
"fetchTimeoutError": "スキルリストの取得がタイムアウトしました。ネットワークを確認してください。",
|
||||
"fetchRateLimitError": "スキルリスト取得のリクエスト制限を超過しました。後でお試しください。",
|
||||
"noBatchEnableTargets": "表示中のスキルはすべて有効です。",
|
||||
"noBatchDisableTargets": "表示中のスキルはすべて無効です。",
|
||||
"batchEnabled": "{{count}} 件のスキルを有効化しました。",
|
||||
"batchDisabled": "{{count}} 件のスキルを無効化しました。",
|
||||
"batchPartial": "{{success}} / {{total}} 件を更新しました。一部失敗しています。"
|
||||
},
|
||||
"marketplace": {
|
||||
"title": "マーケットプレイス",
|
||||
"installDialogTitle": "スキルをインストール",
|
||||
"installDialogSubtitle": "初期表示は Explore、キーワード入力時は検索します。",
|
||||
"sourceLabel": "ソース",
|
||||
"sourceClawHub": "ClawHub",
|
||||
"securityNote": "インストール前にスキルカードをクリックして、ClawHubでドキュメントとセキュリティ情報を確認してください。",
|
||||
"manualInstallHint": "ネットワークに問題がありますか?いつでもClawHub.aiからスキルのZIPをダウンロードし、手動で \"{{path}}\" に展開してインストールできます。",
|
||||
"searching": "ClawHubを検索中...",
|
||||
"noResults": "検索に一致するスキルが見つかりません。",
|
||||
"emptyPrompt": "新しいスキルを検索して機能を拡張しましょう。",
|
||||
"searchError": "ClawHub検索に失敗しました。接続またはインストールを確認してください。",
|
||||
"install": "インストール"
|
||||
}
|
||||
}
|
||||
112
src/i18n/locales/zh/skills.json
Normal file
112
src/i18n/locales/zh/skills.json
Normal file
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"title": "技能",
|
||||
"subtitle": "浏览和管理 AI 能力",
|
||||
"refresh": "刷新",
|
||||
"openFolder": "打开技能文件夹",
|
||||
"gatewayWarning": "网关未运行。没有活跃的网关,无法加载技能。",
|
||||
"tabs": {
|
||||
"installed": "已安装",
|
||||
"marketplace": "市场"
|
||||
},
|
||||
"filter": {
|
||||
"all": "全部 ({{count}})",
|
||||
"builtIn": "内置 ({{count}})",
|
||||
"marketplace": "市场 ({{count}})"
|
||||
},
|
||||
"search": "搜索技能...",
|
||||
"searchMarketplace": "搜索市场...",
|
||||
"searchButton": "搜索",
|
||||
"actions": {
|
||||
"enableVisible": "批量启用可见项",
|
||||
"disableVisible": "批量禁用可见项",
|
||||
"installSkill": "安装技能"
|
||||
},
|
||||
"noSkills": "未找到技能",
|
||||
"noSkillsSearch": "尝试不同的搜索词",
|
||||
"noSkillsAvailable": "暂无可用技能",
|
||||
"detail": {
|
||||
"info": "信息",
|
||||
"config": "配置",
|
||||
"description": "描述",
|
||||
"version": "版本",
|
||||
"author": "作者",
|
||||
"source": "来源",
|
||||
"coreSystem": "核心系统",
|
||||
"bundled": "内置",
|
||||
"userInstalled": "用户安装",
|
||||
"enabled": "已启用",
|
||||
"disabled": "已禁用",
|
||||
"apiKey": "API 密钥",
|
||||
"apiKeyPlaceholder": "输入 API 密钥(可选)",
|
||||
"apiKeyDesc": "此技能的主要 API 密钥。如果不需要或在别处配置,请留空。",
|
||||
"envVars": "环境变量",
|
||||
"addVariable": "添加变量",
|
||||
"noEnvVars": "未配置环境变量。",
|
||||
"keyPlaceholder": "键名 (例如 BASE_URL)",
|
||||
"valuePlaceholder": "值",
|
||||
"envNote": "注意:键名为空的行将在保存时自动移除。",
|
||||
"saving": "保存中...",
|
||||
"saveConfig": "保存配置",
|
||||
"configSaved": "配置已保存",
|
||||
"openManual": "打开手册",
|
||||
"openActualFolder": "打开实际目录",
|
||||
"copyPath": "复制路径",
|
||||
"pathUnavailable": "路径不可用",
|
||||
"configurable": "可配置",
|
||||
"uninstall": "卸载",
|
||||
"enable": "启用",
|
||||
"disable": "禁用"
|
||||
},
|
||||
"source": {
|
||||
"badge": {
|
||||
"bundled": "内置",
|
||||
"managed": "托管目录",
|
||||
"workspace": "工作区",
|
||||
"extra": "额外目录",
|
||||
"agentsPersonal": "个人 .agents",
|
||||
"agentsProject": "项目 .agents",
|
||||
"unknown": "未知来源"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"enabled": "技能已启用",
|
||||
"disabled": "技能已禁用",
|
||||
"installed": "技能已安装并启用",
|
||||
"uninstalled": "技能已成功卸载",
|
||||
"openedEditor": "已在编辑器中打开",
|
||||
"failedEditor": "无法打开编辑器",
|
||||
"failedSave": "保存配置失败",
|
||||
"failedOpenFolder": "无法打开技能文件夹",
|
||||
"failedInstall": "安装失败",
|
||||
"failedUninstall": "卸载失败",
|
||||
"failedFolderNotFound": "技能文件夹尚不存在,请先安装一个技能。",
|
||||
"copiedPath": "路径已复制",
|
||||
"failedCopyPath": "复制路径失败",
|
||||
"failedOpenActualFolder": "打开技能实际目录失败",
|
||||
"searchTimeoutError": "搜索超时,请检查网络。您也可访问 ClawHub.ai 搜索并下载压缩包,解压到 \"{{path}}\"",
|
||||
"installTimeoutError": "安装超时,请检查网络。您也可在 ClawHub.ai 下载该技能压缩包,解压到 \"{{path}}\"",
|
||||
"searchRateLimitError": "搜索请求过于频繁。您也可访问 ClawHub.ai 搜索并下载压缩包,解压到 \"{{path}}\"",
|
||||
"installRateLimitError": "安装请求过于频繁。您也可在 ClawHub.ai 下载该技能压缩包,解压到 \"{{path}}\"",
|
||||
"fetchTimeoutError": "获取技能列表超时,请检查网络。",
|
||||
"fetchRateLimitError": "获取技能列表请求过于频繁,请稍后再试。",
|
||||
"noBatchEnableTargets": "当前可见技能都已启用。",
|
||||
"noBatchDisableTargets": "当前可见技能都已禁用。",
|
||||
"batchEnabled": "已启用 {{count}} 个技能。",
|
||||
"batchDisabled": "已禁用 {{count}} 个技能。",
|
||||
"batchPartial": "已更新 {{success}} / {{total}} 个技能,部分操作失败。"
|
||||
},
|
||||
"marketplace": {
|
||||
"title": "市场",
|
||||
"installDialogTitle": "安装技能",
|
||||
"installDialogSubtitle": "默认展示 Explore,输入关键词后执行搜索。",
|
||||
"sourceLabel": "来源",
|
||||
"sourceClawHub": "ClawHub",
|
||||
"securityNote": "安装前请点击技能卡片,在 ClawHub 上查看其文档和安全信息。",
|
||||
"manualInstallHint": "遇到网络问题?您可以随时从 ClawHub.ai 下载技能压缩包,并将其解压至 \"{{path}}\" 目录来完成手动安装。",
|
||||
"searching": "正在搜索 ClawHub...",
|
||||
"noResults": "未找到匹配的技能。",
|
||||
"emptyPrompt": "搜索新技能以扩展您的能力。",
|
||||
"searchError": "ClawHub 搜索失败。请检查您的连接或安装。",
|
||||
"install": "安装"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user