+ )
+}
diff --git a/webview-ui/src/components/settings/ExperimentalSettings.tsx b/webview-ui/src/components/settings/ExperimentalSettings.tsx
index a1719a954c4..982de949098 100644
--- a/webview-ui/src/components/settings/ExperimentalSettings.tsx
+++ b/webview-ui/src/components/settings/ExperimentalSettings.tsx
@@ -13,6 +13,7 @@ import { SectionHeader } from "./SectionHeader"
import { Section } from "./Section"
import { ExperimentalFeature } from "./ExperimentalFeature"
import { ImageGenerationSettings } from "./ImageGenerationSettings"
+import { CustomToolsSettings } from "./CustomToolsSettings"
type ExperimentalSettingsProps = HTMLAttributes & {
experiments: Experiments
@@ -92,6 +93,15 @@ export const ExperimentalSettings = ({
/>
)
}
+ if (config[0] === "CUSTOM_TOOLS") {
+ return (
+ setExperimentEnabled(EXPERIMENT_IDS.CUSTOM_TOOLS, enabled)}
+ />
+ )
+ }
return (
{
runSlashCommand: false,
nativeToolCalling: false,
multipleNativeToolCalls: false,
+ customTools: false,
} as Record,
checkpointTimeout: DEFAULT_CHECKPOINT_TIMEOUT_SECONDS + 5,
}
@@ -263,6 +264,7 @@ describe("mergeExtensionState", () => {
runSlashCommand: false,
nativeToolCalling: false,
multipleNativeToolCalls: false,
+ customTools: false,
})
})
})
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index 20b1e0d510f..c64dccde8f1 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -824,6 +824,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Crides paral·leles a eines",
"description": "Quan està activat, el protocol natiu pot executar múltiples eines en un sol torn de missatge de l'assistent."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Habilitar eines personalitzades",
+ "description": "Quan està habilitat, Roo pot carregar i utilitzar eines TypeScript/JavaScript personalitzades des del directori .roo/tools del vostre projecte o ~/.roo/tools per a eines globals. Nota: aquestes eines s'aprovaran automàticament.",
+ "toolsHeader": "Eines personalitzades disponibles",
+ "noTools": "No s'han carregat eines personalitzades. Afegiu fitxers .ts o .js al directori .roo/tools del vostre projecte o ~/.roo/tools per a eines globals.",
+ "refreshButton": "Actualitzar",
+ "refreshing": "Actualitzant...",
+ "refreshSuccess": "Eines actualitzades correctament",
+ "refreshError": "Error en actualitzar les eines",
+ "toolParameters": "Paràmetres"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index d68f7e7d32a..ced4a8b428e 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -824,6 +824,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Parallele Tool-Aufrufe",
"description": "Wenn aktiviert, kann das native Protokoll mehrere Tools in einer einzigen Assistenten-Nachrichtenrunde ausführen."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Benutzerdefinierte Tools aktivieren",
+ "description": "Wenn aktiviert, kann Roo benutzerdefinierte TypeScript/JavaScript-Tools aus dem .roo/tools-Verzeichnis deines Projekts oder ~/.roo/tools für globale Tools laden und verwenden. Hinweis: Diese Tools werden automatisch genehmigt.",
+ "toolsHeader": "Verfügbare benutzerdefinierte Tools",
+ "noTools": "Keine benutzerdefinierten Tools geladen. Füge .ts- oder .js-Dateien zum .roo/tools-Verzeichnis deines Projekts oder ~/.roo/tools für globale Tools hinzu.",
+ "refreshButton": "Aktualisieren",
+ "refreshing": "Aktualisieren...",
+ "refreshSuccess": "Tools erfolgreich aktualisiert",
+ "refreshError": "Fehler beim Aktualisieren der Tools",
+ "toolParameters": "Parameter"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index 2396bded682..a4aeea1ae63 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -833,6 +833,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Parallel tool calls",
"description": "When enabled, the native protocol can execute multiple tools in a single assistant message turn."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Enable custom tools",
+ "description": "When enabled, Roo can load and use custom TypeScript/JavaScript tools from your project's .roo/tools directory or ~/.roo/tools for global tools. Note: these tools will automatically be auto-approved.",
+ "toolsHeader": "Available Custom Tools",
+ "noTools": "No custom tools loaded. Add .ts or .js files to your project's .roo/tools directory or ~/.roo/tools for global tools.",
+ "refreshButton": "Refresh",
+ "refreshing": "Refreshing...",
+ "refreshSuccess": "Tools refreshed successfully",
+ "refreshError": "Failed to refresh tools",
+ "toolParameters": "Parameters"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index 6c03855056f..e0e1881d177 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -824,6 +824,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Llamadas paralelas a herramientas",
"description": "Cuando está habilitado, el protocolo nativo puede ejecutar múltiples herramientas en un solo turno de mensaje del asistente."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Habilitar herramientas personalizadas",
+ "description": "Cuando está habilitado, Roo puede cargar y usar herramientas TypeScript/JavaScript personalizadas desde el directorio .roo/tools de tu proyecto o ~/.roo/tools para herramientas globales. Nota: estas herramientas se aprobarán automáticamente.",
+ "toolsHeader": "Herramientas personalizadas disponibles",
+ "noTools": "No hay herramientas personalizadas cargadas. Añade archivos .ts o .js al directorio .roo/tools de tu proyecto o ~/.roo/tools para herramientas globales.",
+ "refreshButton": "Actualizar",
+ "refreshing": "Actualizando...",
+ "refreshSuccess": "Herramientas actualizadas correctamente",
+ "refreshError": "Error al actualizar las herramientas",
+ "toolParameters": "Parámetros"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index 9fb20036865..6ff29c77a45 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -824,6 +824,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Appels d'outils parallèles",
"description": "Lorsqu'activé, le protocole natif peut exécuter plusieurs outils en un seul tour de message d'assistant."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Activer les outils personnalisés",
+ "description": "Lorsqu'activé, Roo peut charger et utiliser des outils TypeScript/JavaScript personnalisés à partir du répertoire .roo/tools de votre projet ou ~/.roo/tools pour des outils globaux. Remarque : ces outils seront automatiquement approuvés.",
+ "toolsHeader": "Outils personnalisés disponibles",
+ "noTools": "Aucun outil personnalisé chargé. Ajoutez des fichiers .ts ou .js au répertoire .roo/tools de votre projet ou ~/.roo/tools pour des outils globaux.",
+ "refreshButton": "Actualiser",
+ "refreshing": "Actualisation...",
+ "refreshSuccess": "Outils actualisés avec succès",
+ "refreshError": "Échec de l'actualisation des outils",
+ "toolParameters": "Paramètres"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index ee4f55d243a..06efbf63243 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "समानांतर टूल कॉल",
"description": "सक्षम होने पर, नेटिव प्रोटोकॉल एकल सहायक संदेश टर्न में एकाधिक टूल निष्पादित कर सकता है।"
+ },
+ "CUSTOM_TOOLS": {
+ "name": "कस्टम टूल्स सक्षम करें",
+ "description": "सक्षम होने पर, Roo आपके प्रोजेक्ट की .roo/tools निर्देशिका या वैश्विक टूल्स के लिए ~/.roo/tools से कस्टम TypeScript/JavaScript टूल्स लोड और उपयोग कर सकता है। नोट: ये टूल्स स्वचालित रूप से स्वत:-अनुमोदित होंगे।",
+ "toolsHeader": "उपलब्ध कस्टम टूल्स",
+ "noTools": "कोई कस्टम टूल लोड नहीं हुआ। अपने प्रोजेक्ट की .roo/tools निर्देशिका या वैश्विक टूल्स के लिए ~/.roo/tools में .ts या .js फ़ाइलें जोड़ें।",
+ "refreshButton": "रिफ्रेश करें",
+ "refreshing": "रिफ्रेश हो रहा है...",
+ "refreshSuccess": "टूल्स सफलतापूर्वक रिफ्रेश हुए",
+ "refreshError": "टूल्स रिफ्रेश करने में विफल",
+ "toolParameters": "पैरामीटर्स"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json
index 79bf7ba7bff..6cae436f089 100644
--- a/webview-ui/src/i18n/locales/id/settings.json
+++ b/webview-ui/src/i18n/locales/id/settings.json
@@ -854,6 +854,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Panggilan tool paralel",
"description": "Ketika diaktifkan, protokol native dapat mengeksekusi beberapa tool dalam satu giliran pesan asisten."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Aktifkan tool kustom",
+ "description": "Ketika diaktifkan, Roo dapat memuat dan menggunakan tool TypeScript/JavaScript kustom dari direktori .roo/tools proyek Anda atau ~/.roo/tools untuk tool global. Catatan: tool ini akan disetujui otomatis.",
+ "toolsHeader": "Tool Kustom yang Tersedia",
+ "noTools": "Tidak ada tool kustom yang dimuat. Tambahkan file .ts atau .js ke direktori .roo/tools proyek Anda atau ~/.roo/tools untuk tool global.",
+ "refreshButton": "Refresh",
+ "refreshing": "Merefresh...",
+ "refreshSuccess": "Tool berhasil direfresh",
+ "refreshError": "Gagal merefresh tool",
+ "toolParameters": "Parameter"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index a7db28f7513..aebc6d9aa22 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Chiamate parallele agli strumenti",
"description": "Quando abilitato, il protocollo nativo può eseguire più strumenti in un singolo turno di messaggio dell'assistente."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Abilita strumenti personalizzati",
+ "description": "Quando abilitato, Roo può caricare e utilizzare strumenti TypeScript/JavaScript personalizzati dalla directory .roo/tools del tuo progetto o ~/.roo/tools per strumenti globali. Nota: questi strumenti saranno automaticamente approvati.",
+ "toolsHeader": "Strumenti personalizzati disponibili",
+ "noTools": "Nessuno strumento personalizzato caricato. Aggiungi file .ts o .js alla directory .roo/tools del tuo progetto o ~/.roo/tools per strumenti globali.",
+ "refreshButton": "Aggiorna",
+ "refreshing": "Aggiornamento...",
+ "refreshSuccess": "Strumenti aggiornati con successo",
+ "refreshError": "Impossibile aggiornare gli strumenti",
+ "toolParameters": "Parametri"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index b80892cd111..44a1da4dc4c 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "並列ツール呼び出し",
"description": "有効にすると、ネイティブプロトコルは単一のアシスタントメッセージターンで複数のツールを実行できます。"
+ },
+ "CUSTOM_TOOLS": {
+ "name": "カスタムツールを有効化",
+ "description": "有効にすると、Rooはプロジェクトの.roo/toolsディレクトリまたはグローバルツール用の~/.roo/toolsからカスタムTypeScript/JavaScriptツールを読み込んで使用できます。注意:これらのツールは自動的に承認されます。",
+ "toolsHeader": "利用可能なカスタムツール",
+ "noTools": "カスタムツールが読み込まれていません。プロジェクトの.roo/toolsディレクトリまたはグローバルツール用の~/.roo/toolsに.tsまたは.jsファイルを追加してください。",
+ "refreshButton": "更新",
+ "refreshing": "更新中...",
+ "refreshSuccess": "ツールが正常に更新されました",
+ "refreshError": "ツールの更新に失敗しました",
+ "toolParameters": "パラメーター"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index 85ab220dfea..a810a6162cb 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "병렬 도구 호출",
"description": "활성화되면 네이티브 프로토콜이 단일 어시스턴트 메시지 턴에서 여러 도구를 실행할 수 있습니다."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "사용자 정의 도구 활성화",
+ "description": "활성화하면 Roo가 프로젝트의 .roo/tools 디렉터리 또는 전역 도구를 위한 ~/.roo/tools에서 사용자 정의 TypeScript/JavaScript 도구를 로드하고 사용할 수 있습니다. 참고: 이러한 도구는 자동으로 자동 승인됩니다.",
+ "toolsHeader": "사용 가능한 사용자 정의 도구",
+ "noTools": "로드된 사용자 정의 도구가 없습니다. 프로젝트의 .roo/tools 디렉터리 또는 전역 도구를 위한 ~/.roo/tools에 .ts 또는 .js 파일을 추가하세요.",
+ "refreshButton": "새로고침",
+ "refreshing": "새로고침 중...",
+ "refreshSuccess": "도구가 성공적으로 새로고침되었습니다",
+ "refreshError": "도구 새로고침에 실패했습니다",
+ "toolParameters": "매개변수"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index be2f2233628..10f14ae49de 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Parallelle tool-aanroepen",
"description": "Wanneer ingeschakeld, kan het native protocol meerdere tools uitvoeren in één enkele assistent-berichtbeurt."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Aangepaste tools inschakelen",
+ "description": "Indien ingeschakeld kan Roo aangepaste TypeScript/JavaScript-tools laden en gebruiken uit de map .roo/tools van je project of ~/.roo/tools voor globale tools. Opmerking: deze tools worden automatisch goedgekeurd.",
+ "toolsHeader": "Beschikbare aangepaste tools",
+ "noTools": "Geen aangepaste tools geladen. Voeg .ts- of .js-bestanden toe aan de map .roo/tools van je project of ~/.roo/tools voor globale tools.",
+ "refreshButton": "Vernieuwen",
+ "refreshing": "Vernieuwen...",
+ "refreshSuccess": "Tools succesvol vernieuwd",
+ "refreshError": "Fout bij vernieuwen van tools",
+ "toolParameters": "Parameters"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index 137bdabf3aa..c958a6e2895 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Równoległe wywołania narzędzi",
"description": "Po włączeniu protokół natywny może wykonywać wiele narzędzi w jednej turze wiadomości asystenta."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Włącz niestandardowe narzędzia",
+ "description": "Gdy włączone, Roo może ładować i używać niestandardowych narzędzi TypeScript/JavaScript z katalogu .roo/tools Twojego projektu lub ~/.roo/tools dla narzędzi globalnych. Uwaga: te narzędzia będą automatycznie zatwierdzane.",
+ "toolsHeader": "Dostępne niestandardowe narzędzia",
+ "noTools": "Nie załadowano niestandardowych narzędzi. Dodaj pliki .ts lub .js do katalogu .roo/tools swojego projektu lub ~/.roo/tools dla narzędzi globalnych.",
+ "refreshButton": "Odśwież",
+ "refreshing": "Odświeżanie...",
+ "refreshSuccess": "Narzędzia odświeżone pomyślnie",
+ "refreshError": "Nie udało się odświeżyć narzędzi",
+ "toolParameters": "Parametry"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index ea459ffdeb0..062079ad7e3 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Chamadas paralelas de ferramentas",
"description": "Quando habilitado, o protocolo nativo pode executar múltiplas ferramentas em um único turno de mensagem do assistente."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Ativar ferramentas personalizadas",
+ "description": "Quando habilitado, o Roo pode carregar e usar ferramentas TypeScript/JavaScript personalizadas do diretório .roo/tools do seu projeto ou ~/.roo/tools para ferramentas globais. Nota: estas ferramentas serão aprovadas automaticamente.",
+ "toolsHeader": "Ferramentas personalizadas disponíveis",
+ "noTools": "Nenhuma ferramenta personalizada carregada. Adicione arquivos .ts ou .js ao diretório .roo/tools do seu projeto ou ~/.roo/tools para ferramentas globais.",
+ "refreshButton": "Atualizar",
+ "refreshing": "Atualizando...",
+ "refreshSuccess": "Ferramentas atualizadas com sucesso",
+ "refreshError": "Falha ao atualizar ferramentas",
+ "toolParameters": "Parâmetros"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index 57560a9d33b..a908bc2ddf6 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Параллельные вызовы инструментов",
"description": "При включении нативный протокол может выполнять несколько инструментов в одном ходе сообщения ассистента."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Включить пользовательские инструменты",
+ "description": "Если включено, Roo сможет загружать и использовать пользовательские инструменты TypeScript/JavaScript из каталога .roo/tools вашего проекта или ~/.roo/tools для глобальных инструментов. Примечание: эти инструменты будут одобрены автоматически.",
+ "toolsHeader": "Доступные пользовательские инструменты",
+ "noTools": "Пользовательские инструменты не загружены. Добавьте файлы .ts или .js в каталог .roo/tools вашего проекта или ~/.roo/tools для глобальных инструментов.",
+ "refreshButton": "Обновить",
+ "refreshing": "Обновление...",
+ "refreshSuccess": "Инструменты успешно обновлены",
+ "refreshError": "Не удалось обновить инструменты",
+ "toolParameters": "Параметры"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index bb2b1d38432..26d433e0af7 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Paralel araç çağrıları",
"description": "Etkinleştirildiğinde, yerel protokol tek bir asistan mesaj turunda birden fazla araç yürütebilir."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Özel araçları etkinleştir",
+ "description": "Etkinleştirildiğinde, Roo projenizin .roo/tools dizininden veya global araçlar için ~/.roo/tools dizininden özel TypeScript/JavaScript araçlarını yükleyebilir ve kullanabilir. Not: Bu araçlar otomatik olarak onaylanacaktır.",
+ "toolsHeader": "Kullanılabilir Özel Araçlar",
+ "noTools": "Özel araç yüklenmedi. Projenizin .roo/tools dizinine veya global araçlar için ~/.roo/tools dizinine .ts veya .js dosyaları ekleyin.",
+ "refreshButton": "Yenile",
+ "refreshing": "Yenileniyor...",
+ "refreshSuccess": "Araçlar başarıyla yenilendi",
+ "refreshError": "Araçlar yenilenemedi",
+ "toolParameters": "Parametreler"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index 8425d8d6ef5..77d3fe7e2a2 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "Lệnh gọi công cụ song song",
"description": "Khi được bật, giao thức native có thể thực thi nhiều công cụ trong một lượt tin nhắn của trợ lý."
+ },
+ "CUSTOM_TOOLS": {
+ "name": "Bật công cụ tùy chỉnh",
+ "description": "Khi được bật, Roo có thể tải và sử dụng các công cụ TypeScript/JavaScript tùy chỉnh từ thư mục .roo/tools của dự án hoặc ~/.roo/tools cho các công cụ toàn cục. Lưu ý: các công cụ này sẽ được tự động phê duyệt.",
+ "toolsHeader": "Công cụ tùy chỉnh có sẵn",
+ "noTools": "Không có công cụ tùy chỉnh nào được tải. Thêm tệp .ts hoặc .js vào thư mục .roo/tools của dự án hoặc ~/.roo/tools cho các công cụ toàn cục.",
+ "refreshButton": "Làm mới",
+ "refreshing": "Đang làm mới...",
+ "refreshSuccess": "Làm mới công cụ thành công",
+ "refreshError": "Không thể làm mới công cụ",
+ "toolParameters": "Thông số"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index 327eb9f8c76..5a70cfd10de 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "并行工具调用",
"description": "启用后,原生协议可在单个助手消息轮次中执行多个工具。"
+ },
+ "CUSTOM_TOOLS": {
+ "name": "启用自定义工具",
+ "description": "启用后 Roo 可从项目中的 .roo/tools 目录或全局工具目录 ~/.roo/tools 加载并使用自定义 TypeScript/JavaScript 工具。注意:这些工具将自动获批。",
+ "toolsHeader": "可用自定义工具",
+ "noTools": "未加载自定义工具。请向项目的 .roo/tools 目录或全局工具目录 ~/.roo/tools 添加 .ts 或 .js 文件。",
+ "refreshButton": "刷新",
+ "refreshing": "正在刷新...",
+ "refreshSuccess": "工具刷新成功",
+ "refreshError": "工具刷新失败",
+ "toolParameters": "参数"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index 4967a7d6791..88ab5a2c094 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -825,6 +825,17 @@
"MULTIPLE_NATIVE_TOOL_CALLS": {
"name": "並行工具呼叫",
"description": "啟用後,原生協定可在單個助理訊息輪次中執行多個工具。"
+ },
+ "CUSTOM_TOOLS": {
+ "name": "啟用自訂工具",
+ "description": "啟用後,Roo 可以從專案中的 .roo/tools 目錄或全域工具目錄 ~/.roo/tools 載入並使用自訂 TypeScript/JavaScript 工具。注意:這些工具將自動獲得核准。",
+ "toolsHeader": "可用自訂工具",
+ "noTools": "未載入自訂工具。請向專案的 .roo/tools 目錄或全域工具目錄 ~/.roo/tools 新增 .ts 或 .js 檔案。",
+ "refreshButton": "重新整理",
+ "refreshing": "正在重新整理...",
+ "refreshSuccess": "工具重新整理成功",
+ "refreshError": "工具重新整理失敗",
+ "toolParameters": "參數"
}
},
"promptCaching": {