feat(mcp): support mcp resources (#2215)

* feat(mcp): support mcp resources

* feat(web): split MCP resources into tab

* docs: add MCP resources PR review

* feat(mcp): productionize resource support

* feat(mcp): scope local agent tools and resources

* fix(web): gate space embedding models behind login

* fix(web): prevent clipped space model CTA

* test: update preproc resource tool expectations

* fix(web): expose skill authoring tools in selector

---------

Co-authored-by: yang.xiang <yang.xiang@advancegroup.com>
Co-authored-by: Hyu <chenhyu@proton.me>
Co-authored-by: Junyan Qin <rockchinq@gmail.com>
This commit is contained in:
advancer-young
2026-06-30 19:16:30 +08:00
committed by GitHub
parent 2618e06492
commit 096ec1a8ce
39 changed files with 4103 additions and 201 deletions
+46
View File
@@ -824,7 +824,9 @@ const enUS = {
toolsFound: 'tools',
unknownError: 'Unknown error',
noToolsFound: 'No tools found',
noResourcesFound: 'No resources found',
tabTools: 'Tools',
tabResources: 'Resources',
tabDocs: 'Docs',
noReadme: 'No documentation available',
parseResultFailed: 'Failed to parse test result',
@@ -844,6 +846,11 @@ const enUS = {
toolCount: 'Tools: {{count}}',
parameterCount: 'Parameters: {{count}}',
noParameters: 'No parameters',
resourceCount: 'Resources: {{count}}',
resourceBinaryContent: 'Binary content (cannot be displayed)',
resourceBinaryOmitted: 'Binary content omitted by resource safety policy',
resourceTruncated: 'Content truncated by byte or token limits',
resourceReadFailed: 'Failed to read resource content',
statusConnected: 'Connected',
statusDisconnected: 'Disconnected',
statusError: 'Connection Error',
@@ -935,9 +942,12 @@ const enUS = {
selectPlugins: 'Select Plugins',
pluginsTitle: 'Plugins',
mcpServersTitle: 'MCP Servers',
mcpResourcesTitle: 'MCP Resources',
noMCPServersSelected: 'No MCP servers selected',
noMCPResourcesAvailable: 'No MCP resources available',
addMCPServer: 'Add MCP Server',
selectMCPServers: 'Select MCP Servers',
enableMCPResourceAgentRead: 'Agent read',
toolCount: '{{count}} tools',
noPluginsInstalled: 'No installed plugins',
noMCPServersConfigured: 'No configured MCP servers',
@@ -953,6 +963,42 @@ const enUS = {
addSkill: 'Add Skill',
selectSkills: 'Select Skills',
noSkillsAvailable: 'No skills available',
mcpServersScopeTooltip:
'This only controls which MCP servers are bound to the pipeline. Choose exact MCP tools and resources in AI Feature > Local Agent.',
enableAllMCPServersTooltip:
'When enabled, all configured and enabled MCP servers become candidates for MCP tools and resources in AI Feature.',
},
localAgent: {
toolsTitle: 'Tools',
toolsDescription:
'Select plugin, MCP, skill, and built-in tools available to this Local Agent.',
toolsScopeTooltip:
'MCP tools only come from MCP servers bound in Extensions. Bind another MCP server there to make its tools selectable here.',
enableAllTools: 'Enable all tools',
allToolsEnabled: 'All available tools are enabled',
noToolsSelected: 'No tools selected',
editTools: 'Edit tools',
builtinTools: 'Built-in tools',
pluginTools: 'Plugin tools',
skillTools: 'Skill tools',
mcpTools: 'MCP tools',
mcpToolsScopeTooltip:
'Only tools from MCP servers currently allowed in Extensions are shown here.',
skillToolsScopeTooltip:
'Skill tools are available when LangBot skill service and the Box sandbox backend are ready. They let the agent activate or register skills.',
selectTools: 'Select tools',
resourcesTitle: 'Resources',
resourcesDescription:
'Select MCP resources and knowledge bases available to this Local Agent.',
knowledgeBases: 'Knowledge bases',
mcpResources: 'MCP resources',
mcpResourcesScopeTooltip:
'Only resources exposed by MCP servers currently allowed in Extensions are shown here.',
enableMCPResourceRead: 'Allow model to read MCP resources',
mcpResourceReadTooltip:
'When disabled, selected MCP resources are not injected into model context.',
noMCPResourcesAvailable: 'No MCP resources available',
selectKnowledgeBases: 'Select knowledge bases',
},
debugDialog: {
title: 'Pipeline Chat',
+45
View File
@@ -838,7 +838,9 @@ const esES = {
toolsFound: 'herramientas',
unknownError: 'Error desconocido',
noToolsFound: 'No se encontraron herramientas',
noResourcesFound: 'No se encontraron recursos',
tabTools: 'Herramientas',
tabResources: 'Recursos',
tabDocs: 'Documentación',
noReadme: 'No hay documentación disponible',
parseResultFailed: 'Error al analizar el resultado de la prueba',
@@ -858,6 +860,12 @@ const esES = {
toolCount: 'Herramientas: {{count}}',
parameterCount: 'Parámetros: {{count}}',
noParameters: 'Sin parámetros',
resourceCount: 'Recursos: {{count}}',
resourceBinaryContent: 'Contenido binario (no se puede mostrar)',
resourceBinaryOmitted:
'Contenido binario omitido por la política de seguridad de recursos',
resourceTruncated: 'Contenido truncado por límites de bytes o tokens',
resourceReadFailed: 'Error al leer el contenido del recurso',
statusConnected: 'Conectado',
statusDisconnected: 'Desconectado',
statusError: 'Error de conexión',
@@ -952,9 +960,12 @@ const esES = {
selectPlugins: 'Seleccionar plugins',
pluginsTitle: 'Plugins',
mcpServersTitle: 'Servidores MCP',
mcpResourcesTitle: 'Recursos MCP',
noMCPServersSelected: 'No hay servidores MCP seleccionados',
noMCPResourcesAvailable: 'No hay recursos MCP disponibles',
addMCPServer: 'Añadir servidor MCP',
selectMCPServers: 'Seleccionar servidores MCP',
enableMCPResourceAgentRead: 'Permitir lectura del modelo',
toolCount: '{{count}} herramientas',
noPluginsInstalled: 'No hay plugins instalados',
noMCPServersConfigured: 'No hay servidores MCP configurados',
@@ -970,6 +981,40 @@ const esES = {
addSkill: 'Añadir skill',
selectSkills: 'Seleccionar skills',
noSkillsAvailable: 'No hay skills disponibles',
mcpServersScopeTooltip:
'Aquí solo se controla qué servidores MCP se vinculan al Pipeline. Las herramientas y recursos MCP concretos se eligen en AI Feature > Local Agent.',
enableAllMCPServersTooltip:
'Al activarlo, todos los servidores MCP configurados y habilitados serán candidatos para herramientas y recursos MCP en AI Feature.',
},
localAgent: {
toolsTitle: 'Herramientas',
toolsDescription:
'Selecciona las herramientas de plugins, MCP e integradas disponibles para este Local Agent.',
toolsScopeTooltip:
'Las herramientas MCP solo provienen de servidores MCP vinculados en Extensiones. Vincula allí otro servidor para poder seleccionarlo aquí.',
enableAllTools: 'Activar todas las herramientas',
allToolsEnabled: 'Todas las herramientas disponibles están activadas',
noToolsSelected: 'No hay herramientas seleccionadas',
editTools: 'Editar herramientas',
builtinTools: 'Herramientas integradas',
pluginTools: 'Herramientas de plugin',
skillTools: 'Herramientas de skill',
mcpTools: 'Herramientas MCP',
mcpToolsScopeTooltip:
'Aquí solo se muestran herramientas de servidores MCP permitidos actualmente en Extensiones.',
selectTools: 'Seleccionar herramientas',
resourcesTitle: 'Recursos',
resourcesDescription:
'Selecciona los recursos MCP y bases de conocimiento disponibles para este Local Agent.',
knowledgeBases: 'Bases de conocimiento',
mcpResources: 'Recursos MCP',
mcpResourcesScopeTooltip:
'Aquí solo se muestran recursos expuestos por servidores MCP permitidos actualmente en Extensiones.',
enableMCPResourceRead: 'Permitir que el modelo lea recursos MCP',
mcpResourceReadTooltip:
'Si se desactiva, los recursos MCP seleccionados no se inyectarán en el contexto del modelo.',
noMCPResourcesAvailable: 'No hay recursos MCP disponibles',
selectKnowledgeBases: 'Seleccionar bases de conocimiento',
},
debugDialog: {
title: 'Chat del Pipeline',
+45
View File
@@ -830,7 +830,9 @@ const jaJP = {
toolsFound: '個のツール',
unknownError: '不明なエラー',
noToolsFound: 'ツールが見つかりません',
noResourcesFound: 'リソースが見つかりません',
tabTools: 'ツール',
tabResources: 'リソース',
tabDocs: 'ドキュメント',
noReadme: 'ドキュメントがありません',
parseResultFailed: 'テスト結果の解析に失敗しました',
@@ -850,6 +852,12 @@ const jaJP = {
toolCount: 'ツール:{{count}}',
parameterCount: 'パラメータ:{{count}}',
noParameters: 'パラメータなし',
resourceCount: 'リソース:{{count}}',
resourceBinaryContent: 'バイナリコンテンツ(表示できません)',
resourceBinaryOmitted:
'リソース安全ポリシーによりバイナリコンテンツを省略しました',
resourceTruncated: 'バイトまたはトークンの上限により内容を切り詰めました',
resourceReadFailed: 'リソースの読み込みに失敗しました',
statusConnected: '接続済み',
statusDisconnected: '未接続',
statusError: '接続エラー',
@@ -939,9 +947,12 @@ const jaJP = {
selectPlugins: 'プラグインを選択',
pluginsTitle: 'プラグイン',
mcpServersTitle: 'MCPサーバー',
mcpResourcesTitle: 'MCPリソース',
noMCPServersSelected: 'MCPサーバーが選択されていません',
noMCPResourcesAvailable: '利用可能なMCPリソースがありません',
addMCPServer: 'MCPサーバーを追加',
selectMCPServers: 'MCPサーバーを選択',
enableMCPResourceAgentRead: 'モデルの読み取りを許可',
toolCount: '{{count}}個のツール',
noPluginsInstalled: 'インストールされているプラグインがありません',
noMCPServersConfigured: '設定されているMCPサーバーがありません',
@@ -957,6 +968,40 @@ const jaJP = {
addSkill: 'スキルを追加',
selectSkills: 'スキルを選択',
noSkillsAvailable: '利用可能なスキルがありません',
mcpServersScopeTooltip:
'ここでは、このパイプラインに紐付ける MCP サーバーだけを管理します。個別の MCP ツールとリソースは AI 機能の Local Agent で選択します。',
enableAllMCPServersTooltip:
'有効にすると、設定済みで有効なすべての MCP サーバーが AI 機能の MCP ツールとリソース候補になります。',
},
localAgent: {
toolsTitle: 'ツール',
toolsDescription:
'この Local Agent が使用できるプラグイン、MCP、組み込みツールを選択します。',
toolsScopeTooltip:
'MCP ツールは拡張機能で紐付けられた MCP サーバーからのみ表示されます。追加するには先に拡張機能でサーバーを紐付けてください。',
enableAllTools: 'すべてのツールを有効化',
allToolsEnabled: '利用可能なすべてのツールが有効です',
noToolsSelected: 'ツールが選択されていません',
editTools: 'ツールを編集',
builtinTools: '組み込みツール',
pluginTools: 'プラグインツール',
skillTools: 'スキルツール',
mcpTools: 'MCP ツール',
mcpToolsScopeTooltip:
'拡張機能で現在許可されている MCP サーバーのツールだけが表示されます。',
selectTools: 'ツールを選択',
resourcesTitle: 'リソース',
resourcesDescription:
'この Local Agent が読み取れる MCP リソースとナレッジベースを選択します。',
knowledgeBases: 'ナレッジベース',
mcpResources: 'MCP リソース',
mcpResourcesScopeTooltip:
'拡張機能で現在許可されている MCP サーバーのリソースだけが表示されます。',
enableMCPResourceRead: 'モデルによる MCP リソース読み取りを許可',
mcpResourceReadTooltip:
'無効にすると、選択済みの MCP リソースもモデルコンテキストに注入されません。',
noMCPResourcesAvailable: '利用可能な MCP リソースがありません',
selectKnowledgeBases: 'ナレッジベースを選択',
},
debugDialog: {
title: 'パイプラインのチャット',
+45
View File
@@ -835,7 +835,9 @@ const ruRU = {
toolsFound: 'инструментов',
unknownError: 'Неизвестная ошибка',
noToolsFound: 'Инструменты не найдены',
noResourcesFound: 'Ресурсы не найдены',
tabTools: 'Инструменты',
tabResources: 'Ресурсы',
tabDocs: 'Документация',
noReadme: 'Документация отсутствует',
parseResultFailed: 'Не удалось разобрать результат теста',
@@ -855,6 +857,12 @@ const ruRU = {
toolCount: 'Инструменты: {{count}}',
parameterCount: 'Параметры: {{count}}',
noParameters: 'Нет параметров',
resourceCount: 'Ресурсы: {{count}}',
resourceBinaryContent: 'Двоичное содержимое (невозможно отобразить)',
resourceBinaryOmitted:
'Двоичное содержимое опущено согласно политике безопасности ресурсов',
resourceTruncated: 'Содержимое усечено по лимитам байтов или токенов',
resourceReadFailed: 'Не удалось прочитать содержимое ресурса',
statusConnected: 'Подключён',
statusDisconnected: 'Отключён',
statusError: 'Ошибка подключения',
@@ -945,9 +953,12 @@ const ruRU = {
selectPlugins: 'Выберите плагины',
pluginsTitle: 'Плагины',
mcpServersTitle: 'MCP-серверы',
mcpResourcesTitle: 'MCP-ресурсы',
noMCPServersSelected: 'MCP-серверы не выбраны',
noMCPResourcesAvailable: 'Нет доступных MCP-ресурсов',
addMCPServer: 'Добавить MCP-сервер',
selectMCPServers: 'Выберите MCP-серверы',
enableMCPResourceAgentRead: 'Разрешить модели чтение',
toolCount: '{{count}} инструментов',
noPluginsInstalled: 'Нет установленных плагинов',
noMCPServersConfigured: 'Нет настроенных MCP-серверов',
@@ -963,6 +974,40 @@ const ruRU = {
addSkill: 'Добавить навык',
selectSkills: 'Выбрать навыки',
noSkillsAvailable: 'Нет доступных навыков',
mcpServersScopeTooltip:
'Здесь задаётся только привязка MCP-серверов к конвейеру. Конкретные MCP-инструменты и ресурсы выбираются в AI Feature > Local Agent.',
enableAllMCPServersTooltip:
'Если включено, все настроенные и включённые MCP-серверы станут кандидатами для инструментов и ресурсов MCP в AI Feature.',
},
localAgent: {
toolsTitle: 'Инструменты',
toolsDescription:
'Выберите инструменты плагинов, MCP и встроенные инструменты для этого Local Agent.',
toolsScopeTooltip:
'MCP-инструменты берутся только из MCP-серверов, привязанных в Расширениях. Чтобы добавить источник, сначала привяжите там сервер.',
enableAllTools: 'Включить все инструменты',
allToolsEnabled: 'Все доступные инструменты включены',
noToolsSelected: 'Инструменты не выбраны',
editTools: 'Редактировать инструменты',
builtinTools: 'Встроенные инструменты',
pluginTools: 'Инструменты плагинов',
skillTools: 'Инструменты навыков',
mcpTools: 'Инструменты MCP',
mcpToolsScopeTooltip:
'Здесь показаны только инструменты MCP-серверов, разрешённых сейчас в Расширениях.',
selectTools: 'Выбрать инструменты',
resourcesTitle: 'Ресурсы',
resourcesDescription:
'Выберите MCP-ресурсы и базы знаний для этого Local Agent.',
knowledgeBases: 'Базы знаний',
mcpResources: 'MCP-ресурсы',
mcpResourcesScopeTooltip:
'Здесь показаны только ресурсы MCP-серверов, разрешённых сейчас в Расширениях.',
enableMCPResourceRead: 'Разрешить модели читать MCP-ресурсы',
mcpResourceReadTooltip:
'Если выключено, выбранные MCP-ресурсы не будут добавляться в контекст модели.',
noMCPResourcesAvailable: 'Нет доступных MCP-ресурсов',
selectKnowledgeBases: 'Выбрать базы знаний',
},
debugDialog: {
title: 'Чат конвейера',
+44
View File
@@ -813,7 +813,9 @@ const thTH = {
toolsFound: 'เครื่องมือ',
unknownError: 'ข้อผิดพลาดที่ไม่ทราบสาเหตุ',
noToolsFound: 'ไม่พบเครื่องมือ',
noResourcesFound: 'ไม่พบทรัพยากร',
tabTools: 'เครื่องมือ',
tabResources: 'ทรัพยากร',
tabDocs: 'เอกสาร',
noReadme: 'ไม่มีเอกสาร',
parseResultFailed: 'ไม่สามารถแยกวิเคราะห์ผลการทดสอบได้',
@@ -833,6 +835,11 @@ const thTH = {
toolCount: 'เครื่องมือ: {{count}}',
parameterCount: 'พารามิเตอร์: {{count}}',
noParameters: 'ไม่มีพารามิเตอร์',
resourceCount: 'ทรัพยากร: {{count}}',
resourceBinaryContent: 'เนื้อหาไบนารี (ไม่สามารถแสดงได้)',
resourceBinaryOmitted: 'ละเว้นเนื้อหาไบนารีตามนโยบายความปลอดภัยของทรัพยากร',
resourceTruncated: 'ตัดเนื้อหาตามขีดจำกัดไบต์หรือโทเคน',
resourceReadFailed: 'ไม่สามารถอ่านเนื้อหาทรัพยากรได้',
statusConnected: 'เชื่อมต่อแล้ว',
statusDisconnected: 'ไม่ได้เชื่อมต่อ',
statusError: 'ข้อผิดพลาดการเชื่อมต่อ',
@@ -922,9 +929,12 @@ const thTH = {
selectPlugins: 'เลือกปลั๊กอิน',
pluginsTitle: 'ปลั๊กอิน',
mcpServersTitle: 'เซิร์ฟเวอร์ MCP',
mcpResourcesTitle: 'ทรัพยากร MCP',
noMCPServersSelected: 'ไม่ได้เลือกเซิร์ฟเวอร์ MCP',
noMCPResourcesAvailable: 'ไม่มีทรัพยากร MCP ที่พร้อมใช้งาน',
addMCPServer: 'เพิ่มเซิร์ฟเวอร์ MCP',
selectMCPServers: 'เลือกเซิร์ฟเวอร์ MCP',
enableMCPResourceAgentRead: 'อนุญาตให้โมเดลอ่าน',
toolCount: '{{count}} เครื่องมือ',
noPluginsInstalled: 'ไม่มีปลั๊กอินที่ติดตั้ง',
noMCPServersConfigured: 'ไม่มีเซิร์ฟเวอร์ MCP ที่กำหนดค่า',
@@ -940,6 +950,40 @@ const thTH = {
addSkill: 'เพิ่มสกิล',
selectSkills: 'เลือกสกิล',
noSkillsAvailable: 'ไม่มีสกิลที่พร้อมใช้งาน',
mcpServersScopeTooltip:
'ส่วนนี้ใช้ควบคุมว่า Pipeline ผูกกับเซิร์ฟเวอร์ MCP ใดเท่านั้น ส่วนเครื่องมือและทรัพยากร MCP รายตัวให้เลือกใน AI Feature > Local Agent',
enableAllMCPServersTooltip:
'เมื่อเปิดใช้ เซิร์ฟเวอร์ MCP ที่ตั้งค่าและเปิดใช้งานทั้งหมดจะเป็นตัวเลือกสำหรับเครื่องมือและทรัพยากร MCP ใน AI Feature',
},
localAgent: {
toolsTitle: 'เครื่องมือ',
toolsDescription:
'เลือกเครื่องมือจากปลั๊กอิน MCP และเครื่องมือในตัวสำหรับ Local Agent นี้',
toolsScopeTooltip:
'เครื่องมือ MCP จะแสดงจากเซิร์ฟเวอร์ MCP ที่ผูกไว้ในส่วนขยายเท่านั้น หากต้องการเพิ่มแหล่งเครื่องมือ ให้ไปผูกเซิร์ฟเวอร์ที่นั่นก่อน',
enableAllTools: 'เปิดใช้เครื่องมือทั้งหมด',
allToolsEnabled: 'เปิดใช้เครื่องมือที่มีทั้งหมดแล้ว',
noToolsSelected: 'ยังไม่ได้เลือกเครื่องมือ',
editTools: 'แก้ไขเครื่องมือ',
builtinTools: 'เครื่องมือในตัว',
pluginTools: 'เครื่องมือปลั๊กอิน',
skillTools: 'เครื่องมือสกิล',
mcpTools: 'เครื่องมือ MCP',
mcpToolsScopeTooltip:
'ที่นี่จะแสดงเฉพาะเครื่องมือจากเซิร์ฟเวอร์ MCP ที่อนุญาตอยู่ในส่วนขยาย',
selectTools: 'เลือกเครื่องมือ',
resourcesTitle: 'ทรัพยากร',
resourcesDescription:
'เลือกทรัพยากร MCP และคลังความรู้สำหรับ Local Agent นี้',
knowledgeBases: 'คลังความรู้',
mcpResources: 'ทรัพยากร MCP',
mcpResourcesScopeTooltip:
'ที่นี่จะแสดงเฉพาะทรัพยากรจากเซิร์ฟเวอร์ MCP ที่อนุญาตอยู่ในส่วนขยาย',
enableMCPResourceRead: 'อนุญาตให้โมเดลอ่านทรัพยากร MCP',
mcpResourceReadTooltip:
'เมื่อปิด ทรัพยากร MCP ที่เลือกไว้จะไม่ถูกใส่เข้าไปในบริบทของโมเดล',
noMCPResourcesAvailable: 'ไม่มีทรัพยากร MCP ที่พร้อมใช้งาน',
selectKnowledgeBases: 'เลือกคลังความรู้',
},
debugDialog: {
title: 'แชท Pipeline',
+45
View File
@@ -828,7 +828,9 @@ const viVN = {
toolsFound: 'công cụ',
unknownError: 'Lỗi không xác định',
noToolsFound: 'Không tìm thấy công cụ nào',
noResourcesFound: 'Không tìm thấy tài nguyên nào',
tabTools: 'Công cụ',
tabResources: 'Tài nguyên',
tabDocs: 'Tài liệu',
noReadme: 'Không có tài liệu',
parseResultFailed: 'Phân tích kết quả kiểm tra thất bại',
@@ -848,6 +850,12 @@ const viVN = {
toolCount: 'Công cụ: {{count}}',
parameterCount: 'Tham số: {{count}}',
noParameters: 'Không có tham số',
resourceCount: 'Tài nguyên: {{count}}',
resourceBinaryContent: 'Nội dung nhị phân (không thể hiển thị)',
resourceBinaryOmitted:
'Nội dung nhị phân đã bị lược bỏ theo chính sách an toàn tài nguyên',
resourceTruncated: 'Nội dung đã bị cắt theo giới hạn byte hoặc token',
resourceReadFailed: 'Không thể đọc nội dung tài nguyên',
statusConnected: 'Đã kết nối',
statusDisconnected: 'Đã ngắt kết nối',
statusError: 'Lỗi kết nối',
@@ -937,9 +945,12 @@ const viVN = {
selectPlugins: 'Chọn Plugin',
pluginsTitle: 'Plugin',
mcpServersTitle: 'Máy chủ MCP',
mcpResourcesTitle: 'Tài nguyên MCP',
noMCPServersSelected: 'Chưa chọn máy chủ MCP nào',
noMCPResourcesAvailable: 'Không có tài nguyên MCP nào',
addMCPServer: 'Thêm máy chủ MCP',
selectMCPServers: 'Chọn máy chủ MCP',
enableMCPResourceAgentRead: 'Cho phép mô hình đọc',
toolCount: '{{count}} công cụ',
noPluginsInstalled: 'Chưa cài đặt plugin nào',
noMCPServersConfigured: 'Chưa cấu hình máy chủ MCP nào',
@@ -955,6 +966,40 @@ const viVN = {
addSkill: 'Thêm kỹ năng',
selectSkills: 'Chọn kỹ năng',
noSkillsAvailable: 'Không có kỹ năng khả dụng',
mcpServersScopeTooltip:
'Tại đây chỉ kiểm soát máy chủ MCP được liên kết với Pipeline. Công cụ và tài nguyên MCP cụ thể được chọn trong AI Feature > Local Agent.',
enableAllMCPServersTooltip:
'Khi bật, mọi máy chủ MCP đã cấu hình và bật sẽ trở thành ứng viên cho công cụ và tài nguyên MCP trong AI Feature.',
},
localAgent: {
toolsTitle: 'Công cụ',
toolsDescription:
'Chọn công cụ plugin, MCP và công cụ tích hợp sẵn cho Local Agent này.',
toolsScopeTooltip:
'Công cụ MCP chỉ đến từ máy chủ MCP đã liên kết trong Tiện ích mở rộng. Hãy liên kết máy chủ tại đó trước nếu muốn chọn thêm tại đây.',
enableAllTools: 'Bật tất cả công cụ',
allToolsEnabled: 'Tất cả công cụ khả dụng đã được bật',
noToolsSelected: 'Chưa chọn công cụ nào',
editTools: 'Sửa công cụ',
builtinTools: 'Công cụ tích hợp sẵn',
pluginTools: 'Công cụ plugin',
skillTools: 'Công cụ kỹ năng',
mcpTools: 'Công cụ MCP',
mcpToolsScopeTooltip:
'Tại đây chỉ hiển thị công cụ từ máy chủ MCP hiện được cho phép trong Tiện ích mở rộng.',
selectTools: 'Chọn công cụ',
resourcesTitle: 'Tài nguyên',
resourcesDescription:
'Chọn tài nguyên MCP và kho tri thức cho Local Agent này.',
knowledgeBases: 'Kho tri thức',
mcpResources: 'Tài nguyên MCP',
mcpResourcesScopeTooltip:
'Tại đây chỉ hiển thị tài nguyên từ máy chủ MCP hiện được cho phép trong Tiện ích mở rộng.',
enableMCPResourceRead: 'Cho phép mô hình đọc tài nguyên MCP',
mcpResourceReadTooltip:
'Khi tắt, tài nguyên MCP đã chọn sẽ không được đưa vào ngữ cảnh mô hình.',
noMCPResourcesAvailable: 'Không có tài nguyên MCP nào',
selectKnowledgeBases: 'Chọn kho tri thức',
},
debugDialog: {
title: 'Trò chuyện Pipeline',
+45
View File
@@ -790,7 +790,9 @@ const zhHans = {
toolsFound: '个工具',
unknownError: '未知错误',
noToolsFound: '未找到任何工具',
noResourcesFound: '未找到任何资源',
tabTools: '工具',
tabResources: '资源',
tabDocs: '文档',
noReadme: '暂无文档',
parseResultFailed: '解析测试结果失败',
@@ -810,6 +812,11 @@ const zhHans = {
toolCount: '工具:{{count}}',
parameterCount: '参数:{{count}}',
noParameters: '无参数',
resourceCount: '资源:{{count}}',
resourceBinaryContent: '二进制内容(无法显示)',
resourceBinaryOmitted: '二进制内容已按资源安全策略省略',
resourceTruncated: '内容已按字节或 token 限制截断',
resourceReadFailed: '读取资源内容失败',
statusConnected: '已连接',
statusDisconnected: '未连接',
statusError: '连接错误',
@@ -895,9 +902,12 @@ const zhHans = {
selectPlugins: '选择插件',
pluginsTitle: '插件',
mcpServersTitle: 'MCP 服务器',
mcpResourcesTitle: 'MCP 资源',
noMCPServersSelected: '未选择任何 MCP 服务器',
noMCPResourcesAvailable: '暂无可用 MCP 资源',
addMCPServer: '添加 MCP 服务器',
selectMCPServers: '选择 MCP 服务器',
enableMCPResourceAgentRead: '允许模型读取',
toolCount: '{{count}} 个工具',
noPluginsInstalled: '无已安装的插件',
noMCPServersConfigured: '无已配置的 MCP 服务器',
@@ -913,6 +923,41 @@ const zhHans = {
addSkill: '添加技能',
selectSkills: '选择技能',
noSkillsAvailable: '暂无可用技能',
mcpServersScopeTooltip:
'这里仅控制此流水线绑定哪些 MCP 服务器;具体 MCP 工具和资源在 AI 能力的内置 Agent 表单中选择。',
enableAllMCPServersTooltip:
'开启后,所有已配置且启用的 MCP 服务器都会进入 AI 能力里的 MCP 工具和资源候选范围。',
},
localAgent: {
toolsTitle: '工具',
toolsDescription:
'选择此内置 Agent 可以调用的插件、MCP、技能和内置工具。',
toolsScopeTooltip:
'MCP 工具只会从扩展集成中已绑定的 MCP 服务器里出现;如需增加 MCP 工具来源,请先到扩展集成绑定对应服务器。',
enableAllTools: '启用所有工具',
allToolsEnabled: '已启用所有可用工具',
noToolsSelected: '未选择任何工具',
editTools: '编辑工具',
builtinTools: '内置工具',
pluginTools: '插件工具',
skillTools: '技能工具',
mcpTools: 'MCP 工具',
mcpToolsScopeTooltip:
'这里仅展示扩展集成当前允许的 MCP 服务器提供的工具。',
skillToolsScopeTooltip:
'技能工具会在 LangBot 技能服务和 Box 沙箱后端可用时出现,用于让 Agent 激活或注册技能。',
selectTools: '选择工具',
resourcesTitle: '资源',
resourcesDescription: '选择此内置 Agent 可以读取的 MCP 资源和知识库。',
knowledgeBases: '知识库',
mcpResources: 'MCP 资源',
mcpResourcesScopeTooltip:
'这里仅展示扩展集成当前允许的 MCP 服务器暴露的资源。',
enableMCPResourceRead: '允许模型读取 MCP 资源',
mcpResourceReadTooltip:
'关闭后,即使已选择资源,也不会把 MCP 资源内容注入给模型。',
noMCPResourcesAvailable: '暂无可用 MCP 资源',
selectKnowledgeBases: '选择知识库',
},
debugDialog: {
title: '流水线对话',
+42
View File
@@ -789,7 +789,9 @@ const zhHant = {
toolsFound: '個工具',
unknownError: '未知錯誤',
noToolsFound: '未找到任何工具',
noResourcesFound: '未找到任何資源',
tabTools: '工具',
tabResources: '資源',
tabDocs: '文件',
noReadme: '暫無文件',
parseResultFailed: '解析測試結果失敗',
@@ -809,6 +811,11 @@ const zhHant = {
toolCount: '工具:{{count}}',
parameterCount: '參數:{{count}}',
noParameters: '無參數',
resourceCount: '資源:{{count}}',
resourceBinaryContent: '二進位內容(無法顯示)',
resourceBinaryOmitted: '二進位內容已依資源安全策略省略',
resourceTruncated: '內容已依位元組或 token 限制截斷',
resourceReadFailed: '讀取資源內容失敗',
statusConnected: '已連線',
statusDisconnected: '未連線',
statusError: '連接錯誤',
@@ -894,9 +901,12 @@ const zhHant = {
selectPlugins: '選擇插件',
pluginsTitle: '插件',
mcpServersTitle: 'MCP 伺服器',
mcpResourcesTitle: 'MCP 資源',
noMCPServersSelected: '未選擇任何 MCP 伺服器',
noMCPResourcesAvailable: '暫無可用 MCP 資源',
addMCPServer: '新增 MCP 伺服器',
selectMCPServers: '選擇 MCP 伺服器',
enableMCPResourceAgentRead: '允許模型讀取',
toolCount: '{{count}} 個工具',
noPluginsInstalled: '無已安裝的插件',
noMCPServersConfigured: '無已配置的 MCP 伺服器',
@@ -912,6 +922,38 @@ const zhHant = {
addSkill: '新增技能',
selectSkills: '選擇技能',
noSkillsAvailable: '暫無可用技能',
mcpServersScopeTooltip:
'這裡僅控制此流程線綁定哪些 MCP 伺服器;具體 MCP 工具和資源在 AI 能力的內建 Agent 表單中選擇。',
enableAllMCPServersTooltip:
'啟用後,所有已配置且啟用的 MCP 伺服器都會進入 AI 能力中的 MCP 工具和資源候選範圍。',
},
localAgent: {
toolsTitle: '工具',
toolsDescription: '選擇此內建 Agent 可以調用的插件、MCP 和內建工具。',
toolsScopeTooltip:
'MCP 工具只會從擴展集成中已綁定的 MCP 伺服器裡出現;如需增加 MCP 工具來源,請先到擴展集成綁定對應伺服器。',
enableAllTools: '啟用所有工具',
allToolsEnabled: '已啟用所有可用工具',
noToolsSelected: '未選擇任何工具',
editTools: '編輯工具',
builtinTools: '內建工具',
pluginTools: '插件工具',
skillTools: '技能工具',
mcpTools: 'MCP 工具',
mcpToolsScopeTooltip:
'這裡僅展示擴展集成目前允許的 MCP 伺服器提供的工具。',
selectTools: '選擇工具',
resourcesTitle: '資源',
resourcesDescription: '選擇此內建 Agent 可以讀取的 MCP 資源和知識庫。',
knowledgeBases: '知識庫',
mcpResources: 'MCP 資源',
mcpResourcesScopeTooltip:
'這裡僅展示擴展集成目前允許的 MCP 伺服器暴露的資源。',
enableMCPResourceRead: '允許模型讀取 MCP 資源',
mcpResourceReadTooltip:
'關閉後,即使已選擇資源,也不會把 MCP 資源內容注入給模型。',
noMCPResourcesAvailable: '暫無可用 MCP 資源',
selectKnowledgeBases: '選擇知識庫',
},
debugDialog: {
title: '流程線對話',