Merge pull request #11639 from Kilo-Org/mark/clarify-marketplace

docs: clarify marketplace installs
This commit is contained in:
Mark IJbema
2026-06-26 10:21:11 +02:00
committed by GitHub
33 changed files with 600 additions and 18 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Explain Marketplace item types, installation scopes, destination files, and MCP security before installation.
+2
View File
@@ -50,6 +50,8 @@ exclude = [
'^https?://api\.apertis\.ai/v1/?$',
# Redirects to authenticated Google Cloud console
'^https?://console\.cloud\.google\.com',
# Linear intermittently returns 503 to CI link checks.
'^https?://linear\.app/?$',
# Consistently times out in CI
'^https?://opncd\.ai',
'^https?://zod\.dev/v4/changelog',
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3545994fd7a126ea860b31e2ac07f9cbeaa03e872f805e3fd2ec7012556c6ea8
size 12665
oid sha256:36101257010ff15372b8e2b7ace1b5128ecc820ce5ca4111ff1ba7905473b0b4
size 19407
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45d2e8b0e2a5dd7a40ec5c0b5ab4acee6035ede90135980038628e98e3478cd9
size 682
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:10adc41427bfb41fb25fb25e14c771443c1b3cf23a546b05665370974fbc2209
size 54839
oid sha256:cca305368e62ec5b45c8b20bc5d4921e0ca8df1c54eb110efffe188837400b95
size 57533
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:572b5a2bfd530b743a8ebaaed2ddacc9611aaa31f450df0f2904f314d8cfff6d
size 52660
oid sha256:9a681b7c8866aa3aa6f1e8673afcb5efb79d3a251ba46b3c7201e22dcc77b9c2
size 55898
+5
View File
@@ -123,10 +123,15 @@
<!-- packages/opencode/src/cli/cmd/providers.ts -->
- <https://kilo.ai/docs/ai-providers#custom-provider>
<!-- packages/kilo-vscode/webview-ui/src/components/settings/CustomProviderDialog.tsx -->
- <https://kilo.ai/docs/automate/mcp/what-is-mcp>
<!-- packages/kilo-vscode/webview-ui/src/components/marketplace/InstallModal.tsx -->
- <https://kilo.ai/docs/code-with-ai/platforms/vscode/whats-new>
<!-- packages/kilo-vscode/webview-ui/src/components/migration/MigrationWizard.tsx -->
- <https://kilo.ai/docs/customize/custom-subagents>
<!-- packages/opencode/src/config/config.ts -->
- <https://kilo.ai/docs/customize/marketplace>
<!-- packages/kilo-vscode/webview-ui/src/components/marketplace/InstallModal.tsx -->
<!-- packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceListView.tsx -->
- <https://kilo.ai/docs/customize/workflows>
<!-- packages/opencode/src/config/config.ts -->
- <https://kilo.ai/gateway>
+18
View File
@@ -42,6 +42,24 @@ export const dict = {
"marketplace.install.scope": "النطاق",
"marketplace.install.scope.project": "المشروع",
"marketplace.install.scope.global": "عالمي",
"marketplace.install.scope.project.description":
"هذا المشروع فقط. يمكن إضافة الملفات المثبتة إلى نظام التحكم في الإصدارات ومشاركتها مع فريقك.",
"marketplace.install.scope.global.description":
"جميع المشاريع على هذا الجهاز. تُحفظ في إعدادات المستخدم الخاصة بك.",
"marketplace.install.destination": "وجهة التثبيت",
"marketplace.install.about.mcp":
"يمنح خادم MCP منصة Kilo أدوات إضافية للعمل مع الخدمات الخارجية أو البرامج المحلية.",
"marketplace.install.about.agent": "يضيف الوكيل دورًا قابلاً لإعادة الاستخدام بتعليماته وأذوناته الخاصة.",
"marketplace.install.about.skill": "تضيف المهارة تعليمات وموارد خاصة بمهام معينة يمكن لـ Kilo تحميلها عند الحاجة.",
"marketplace.install.mcp.warning":
"يمكن لخوادم MCP تشغيل أوامر محلية أو الاتصال بخدمات خارجية. ستطلب Kilo الإذن قبل استخدام أدواتها ما لم تسمح أذوناتك بذلك تلقائيًا.",
"marketplace.install.project.warning":
"قد تُضاف ملفات المشروع إلى نظام التحكم في الإصدارات. لا تخزّن الأسرار هنا إلا إذا كان الإعداد يشير إلى متغير بيئة.",
"marketplace.install.learnMore": "تعرّف على كيفية عمل عمليات التثبيت من Marketplace",
"marketplace.install.learnMcp": "معرفة المزيد عن MCP",
"marketplace.install.installedAt": "تم التثبيت في {{path}}",
"marketplace.intro": "ثبّت وكلاء ومهارات وأدوات MCP قابلة لإعادة الاستخدام لمشروع واحد أو لجميع المشاريع.",
"marketplace.intro.learnMore": "حول Marketplace",
"marketplace.install.prerequisites": "المتطلبات الأساسية",
"marketplace.install.installing": "جاري التثبيت...",
"marketplace.install.cancel": "إلغاء",
+19
View File
@@ -42,6 +42,25 @@ export const dict = {
"marketplace.install.scope": "Escopo",
"marketplace.install.scope.project": "Projeto",
"marketplace.install.scope.global": "Global",
"marketplace.install.scope.project.description":
"Somente este projeto. Os arquivos instalados podem ser adicionados ao controle de versão e compartilhados com sua equipe.",
"marketplace.install.scope.global.description":
"Todos os projetos nesta máquina. Armazenado na sua configuração de usuário.",
"marketplace.install.destination": "Destino da instalação",
"marketplace.install.about.mcp":
"Um servidor MCP fornece ao Kilo ferramentas adicionais para trabalhar com serviços externos ou programas locais.",
"marketplace.install.about.agent": "Um agente adiciona uma função reutilizável com instruções e permissões próprias.",
"marketplace.install.about.skill":
"Uma habilidade adiciona instruções e recursos específicos para tarefas que o Kilo pode carregar quando necessário.",
"marketplace.install.mcp.warning":
"Servidores MCP podem executar comandos locais ou se conectar a serviços externos. O Kilo solicitará permissão antes de usar suas ferramentas, a menos que suas permissões permitam isso automaticamente.",
"marketplace.install.project.warning":
"Os arquivos do projeto podem ser adicionados ao controle de versão. Não armazene segredos aqui, a menos que a configuração faça referência a uma variável de ambiente.",
"marketplace.install.learnMore": "Saiba como funcionam as instalações do Marketplace",
"marketplace.install.learnMcp": "Saiba mais sobre MCP",
"marketplace.install.installedAt": "Instalado em {{path}}",
"marketplace.intro": "Instale agentes, habilidades e ferramentas MCP reutilizáveis em um projeto ou em todos os projetos.",
"marketplace.intro.learnMore": "Sobre o Marketplace",
"marketplace.install.prerequisites": "Pré-requisitos",
"marketplace.install.installing": "Instalando...",
"marketplace.install.cancel": "Cancelar",
+19
View File
@@ -47,6 +47,25 @@ export const dict = {
"marketplace.install.scope": "Opseg",
"marketplace.install.scope.project": "Projekat",
"marketplace.install.scope.global": "Globalno",
"marketplace.install.scope.project.description":
"Samo ovaj projekat. Instalirane datoteke mogu se dodati u kontrolu verzija i dijeliti s vašim timom.",
"marketplace.install.scope.global.description":
"Svi projekti na ovom računaru. Čuva se u vašoj korisničkoj konfiguraciji.",
"marketplace.install.destination": "Odredište instalacije",
"marketplace.install.about.mcp":
"MCP server pruža Kilu dodatne alate za rad s vanjskim servisima ili lokalnim programima.",
"marketplace.install.about.agent": "Agent dodaje višekratnu ulogu s vlastitim uputama i dozvolama.",
"marketplace.install.about.skill":
"Vještina dodaje upute i resurse za određene zadatke koje Kilo može učitati kada su potrebni.",
"marketplace.install.mcp.warning":
"MCP serveri mogu pokretati lokalne naredbe ili se povezivati s vanjskim servisima. Kilo će zatražiti dozvolu prije korištenja njihovih alata, osim ako vaše dozvole to automatski dopuštaju.",
"marketplace.install.project.warning":
"Datoteke projekta mogu se dodati u kontrolu verzija. Ne čuvajte tajne ovdje osim ako konfiguracija upućuje na varijablu okruženja.",
"marketplace.install.learnMore": "Saznajte kako funkcionišu instalacije s Marketplacea",
"marketplace.install.learnMcp": "Saznajte više o MCP-u",
"marketplace.install.installedAt": "Instalirano u {{path}}",
"marketplace.intro": "Instalirajte višekratne agente, vještine i MCP alate za jedan ili sve projekte.",
"marketplace.intro.learnMore": "O Marketplaceu",
"marketplace.install.prerequisites": "Preduslovi",
"marketplace.install.installing": "Instalacija...",
"marketplace.install.cancel": "Otkaži",
+19
View File
@@ -42,6 +42,25 @@ export const dict = {
"marketplace.install.scope": "Omfang",
"marketplace.install.scope.project": "Projekt",
"marketplace.install.scope.global": "Global",
"marketplace.install.scope.project.description":
"Kun dette projekt. De installerede filer kan føjes til versionsstyring og deles med dit team.",
"marketplace.install.scope.global.description":
"Alle projekter på denne maskine. Gemmes i din brugerkonfiguration.",
"marketplace.install.destination": "Installationsplacering",
"marketplace.install.about.mcp":
"En MCP-server giver Kilo yderligere værktøjer til at arbejde med eksterne tjenester eller lokale programmer.",
"marketplace.install.about.agent": "En agent tilføjer en genanvendelig rolle med egne instruktioner og tilladelser.",
"marketplace.install.about.skill":
"En færdighed tilføjer opgavespecifikke instruktioner og ressourcer, som Kilo kan indlæse efter behov.",
"marketplace.install.mcp.warning":
"MCP-servere kan køre lokale kommandoer eller oprette forbindelse til eksterne tjenester. Kilo beder om tilladelse, før deres værktøjer bruges, medmindre dine tilladelser automatisk tillader det.",
"marketplace.install.project.warning":
"Projektfiler kan føjes til versionsstyring. Gem ikke hemmeligheder her, medmindre konfigurationen henviser til en miljøvariabel.",
"marketplace.install.learnMore": "Se, hvordan installationer fra Marketplace fungerer",
"marketplace.install.learnMcp": "Få mere at vide om MCP",
"marketplace.install.installedAt": "Installeret i {{path}}",
"marketplace.intro": "Installer genanvendelige agenter, færdigheder og MCP-værktøjer til ét eller alle projekter.",
"marketplace.intro.learnMore": "Om Marketplace",
"marketplace.install.prerequisites": "Forudsætninger",
"marketplace.install.installing": "Installerer...",
"marketplace.install.cancel": "Annuller",
+21
View File
@@ -42,6 +42,27 @@ export const dict = {
"marketplace.install.scope": "Bereich",
"marketplace.install.scope.project": "Projekt",
"marketplace.install.scope.global": "Global",
"marketplace.install.scope.project.description":
"Nur dieses Projekt. Die installierten Dateien können versioniert und mit Ihrem Team geteilt werden.",
"marketplace.install.scope.global.description":
"Alle Projekte auf diesem Computer. Wird in Ihrer Benutzerkonfiguration gespeichert.",
"marketplace.install.destination": "Installationsziel",
"marketplace.install.about.mcp":
"Ein MCP-Server stellt Kilo zusätzliche Werkzeuge für die Arbeit mit externen Diensten oder lokalen Programmen bereit.",
"marketplace.install.about.agent":
"Ein Agent fügt eine wiederverwendbare Rolle mit eigenen Anweisungen und Berechtigungen hinzu.",
"marketplace.install.about.skill":
"Ein Skill fügt aufgabenspezifische Anweisungen und Ressourcen hinzu, die Kilo bei Bedarf laden kann.",
"marketplace.install.mcp.warning":
"MCP-Server können lokale Befehle ausführen oder eine Verbindung zu externen Diensten herstellen. Kilo fragt vor der Verwendung ihrer Werkzeuge um Erlaubnis, sofern Ihre Berechtigungen dies nicht automatisch erlauben.",
"marketplace.install.project.warning":
"Projektdateien können in die Versionsverwaltung aufgenommen werden. Speichern Sie hier keine Geheimnisse, es sei denn, die Konfiguration verweist auf eine Umgebungsvariable.",
"marketplace.install.learnMore": "Erfahren Sie, wie Installationen aus dem Marketplace funktionieren",
"marketplace.install.learnMcp": "Mehr über MCP erfahren",
"marketplace.install.installedAt": "Installiert unter {{path}}",
"marketplace.intro":
"Installieren Sie wiederverwendbare Agenten, Skills und MCP-Werkzeuge für ein Projekt oder für alle Projekte.",
"marketplace.intro.learnMore": "Über den Marketplace",
"marketplace.install.prerequisites": "Voraussetzungen",
"marketplace.install.installing": "Wird installiert...",
"marketplace.install.cancel": "Abbrechen",
+18 -1
View File
@@ -41,9 +41,26 @@ export const dict = {
"marketplace.card.showMore": "Show more",
"marketplace.card.showLess": "Show less",
"marketplace.install.title": "Install {{name}}",
"marketplace.install.scope": "Scope",
"marketplace.install.scope": "Where should this be available?",
"marketplace.install.scope.project": "Project",
"marketplace.install.scope.global": "Global",
"marketplace.install.scope.project.description":
"Only this project. The installed files can be committed and shared with your team.",
"marketplace.install.scope.global.description": "All projects on this machine. Stored in your user configuration.",
"marketplace.install.destination": "Installation destination",
"marketplace.install.about.mcp":
"An MCP server gives Kilo additional tools for working with external services or local programs.",
"marketplace.install.about.agent": "An agent adds a reusable role with its own instructions and permissions.",
"marketplace.install.about.skill": "A skill adds task-specific instructions and resources that Kilo can load when needed.",
"marketplace.install.mcp.warning":
"MCP servers can run local commands or connect to external services. Kilo will ask for permission before using their tools unless your permissions allow them automatically.",
"marketplace.install.project.warning":
"Project files may be committed to version control. Do not store secrets here unless the configuration references an environment variable.",
"marketplace.install.learnMore": "Learn how Marketplace installs work",
"marketplace.install.learnMcp": "Learn more about MCP",
"marketplace.install.installedAt": "Installed to {{path}}",
"marketplace.intro": "Install reusable agents, skills, and MCP tools for one project or every project.",
"marketplace.intro.learnMore": "About Marketplace",
"marketplace.install.prerequisites": "Prerequisites",
"marketplace.install.installing": "Installing...",
"marketplace.install.cancel": "Cancel",
+20
View File
@@ -42,6 +42,26 @@ export const dict = {
"marketplace.install.scope": "Alcance",
"marketplace.install.scope.project": "Proyecto",
"marketplace.install.scope.global": "Global",
"marketplace.install.scope.project.description":
"Solo este proyecto. Los archivos instalados se pueden añadir al control de versiones y compartir con tu equipo.",
"marketplace.install.scope.global.description":
"Todos los proyectos de este equipo. Se almacena en tu configuración de usuario.",
"marketplace.install.destination": "Destino de la instalación",
"marketplace.install.about.mcp":
"Un servidor MCP proporciona a Kilo herramientas adicionales para trabajar con servicios externos o programas locales.",
"marketplace.install.about.agent":
"Un agente añade un rol reutilizable con sus propias instrucciones y permisos.",
"marketplace.install.about.skill":
"Una habilidad añade instrucciones y recursos específicos para tareas que Kilo puede cargar cuando sea necesario.",
"marketplace.install.mcp.warning":
"Los servidores MCP pueden ejecutar comandos locales o conectarse a servicios externos. Kilo pedirá permiso antes de usar sus herramientas, a menos que tus permisos lo permitan automáticamente.",
"marketplace.install.project.warning":
"Los archivos del proyecto pueden añadirse al control de versiones. No guardes secretos aquí, a menos que la configuración haga referencia a una variable de entorno.",
"marketplace.install.learnMore": "Descubre cómo funcionan las instalaciones de Marketplace",
"marketplace.install.learnMcp": "Más información sobre MCP",
"marketplace.install.installedAt": "Instalado en {{path}}",
"marketplace.intro": "Instala agentes, habilidades y herramientas MCP reutilizables en uno o todos los proyectos.",
"marketplace.intro.learnMore": "Acerca de Marketplace",
"marketplace.install.prerequisites": "Requisitos previos",
"marketplace.install.installing": "Instalando...",
"marketplace.install.cancel": "Cancelar",
+21
View File
@@ -42,6 +42,27 @@ export const dict = {
"marketplace.install.scope": "Portée",
"marketplace.install.scope.project": "Projet",
"marketplace.install.scope.global": "Global",
"marketplace.install.scope.project.description":
"Uniquement ce projet. Les fichiers installés peuvent être ajoutés au contrôle de version et partagés avec votre équipe.",
"marketplace.install.scope.global.description":
"Tous les projets sur cette machine. Enregistré dans votre configuration utilisateur.",
"marketplace.install.destination": "Destination de l'installation",
"marketplace.install.about.mcp":
"Un serveur MCP fournit à Kilo des outils supplémentaires pour interagir avec des services externes ou des programmes locaux.",
"marketplace.install.about.agent":
"Un agent ajoute un rôle réutilisable avec ses propres instructions et autorisations.",
"marketplace.install.about.skill":
"Une compétence ajoute des instructions et des ressources propres à une tâche que Kilo peut charger en cas de besoin.",
"marketplace.install.mcp.warning":
"Les serveurs MCP peuvent exécuter des commandes locales ou se connecter à des services externes. Kilo demandera votre autorisation avant d'utiliser leurs outils, sauf si vos autorisations le permettent automatiquement.",
"marketplace.install.project.warning":
"Les fichiers du projet peuvent être ajoutés au contrôle de version. N'y stockez pas de secrets, sauf si la configuration fait référence à une variable d'environnement.",
"marketplace.install.learnMore": "Découvrir le fonctionnement des installations depuis le Marketplace",
"marketplace.install.learnMcp": "En savoir plus sur MCP",
"marketplace.install.installedAt": "Installé dans {{path}}",
"marketplace.intro":
"Installez des agents, des compétences et des outils MCP réutilisables pour un projet ou pour tous vos projets.",
"marketplace.intro.learnMore": "À propos du Marketplace",
"marketplace.install.prerequisites": "Prérequis",
"marketplace.install.installing": "Installation en cours...",
"marketplace.install.cancel": "Annuler",
+20
View File
@@ -45,6 +45,26 @@ export const dict = {
"marketplace.install.scope": "Ambito",
"marketplace.install.scope.project": "Progetto",
"marketplace.install.scope.global": "Globale",
"marketplace.install.scope.project.description":
"Solo questo progetto. I file installati possono essere aggiunti al controllo versione e condivisi con il team.",
"marketplace.install.scope.global.description":
"Tutti i progetti su questo computer. Viene salvato nella configurazione utente.",
"marketplace.install.destination": "Destinazione dell'installazione",
"marketplace.install.about.mcp":
"Un server MCP fornisce a Kilo strumenti aggiuntivi per interagire con servizi esterni o programmi locali.",
"marketplace.install.about.agent":
"Un agente aggiunge un ruolo riutilizzabile con istruzioni e autorizzazioni proprie.",
"marketplace.install.about.skill":
"Una skill aggiunge istruzioni e risorse specifiche per un'attività che Kilo può caricare quando necessario.",
"marketplace.install.mcp.warning":
"I server MCP possono eseguire comandi locali o connettersi a servizi esterni. Kilo chiederà l'autorizzazione prima di usare i loro strumenti, a meno che le tue autorizzazioni non lo consentano automaticamente.",
"marketplace.install.project.warning":
"I file del progetto possono essere aggiunti al controllo versione. Non salvare segreti qui, a meno che la configurazione non faccia riferimento a una variabile di ambiente.",
"marketplace.install.learnMore": "Scopri come funzionano le installazioni dal Marketplace",
"marketplace.install.learnMcp": "Scopri di più su MCP",
"marketplace.install.installedAt": "Installato in {{path}}",
"marketplace.intro": "Installa agenti, skill e strumenti MCP riutilizzabili per uno o tutti i progetti.",
"marketplace.intro.learnMore": "Informazioni sul Marketplace",
"marketplace.install.prerequisites": "Prerequisiti",
"marketplace.install.installing": "Installazione...",
"marketplace.install.cancel": "Annulla",
+20
View File
@@ -41,6 +41,26 @@ export const dict = {
"marketplace.install.scope": "スコープ",
"marketplace.install.scope.project": "プロジェクト",
"marketplace.install.scope.global": "グローバル",
"marketplace.install.scope.project.description":
"このプロジェクトのみ。インストールしたファイルはバージョン管理に追加し、チームと共有できます。",
"marketplace.install.scope.global.description":
"このマシン上のすべてのプロジェクト。ユーザー設定に保存されます。",
"marketplace.install.destination": "インストール先",
"marketplace.install.about.mcp":
"MCPサーバーは、外部サービスやローカルプログラムを操作するための追加ツールをKiloに提供します。",
"marketplace.install.about.agent": "エージェントは、独自の指示と権限を持つ再利用可能な役割を追加します。",
"marketplace.install.about.skill":
"スキルは、必要に応じてKiloが読み込めるタスク固有の指示とリソースを追加します。",
"marketplace.install.mcp.warning":
"MCPサーバーはローカルコマンドを実行したり、外部サービスに接続したりできます。権限で自動的に許可されていない限り、Kiloはツールを使用する前に許可を求めます。",
"marketplace.install.project.warning":
"プロジェクトファイルはバージョン管理に追加される場合があります。設定で環境変数を参照している場合を除き、ここにシークレットを保存しないでください。",
"marketplace.install.learnMore": "Marketplaceからのインストールの仕組みを見る",
"marketplace.install.learnMcp": "MCPについて詳しく見る",
"marketplace.install.installedAt": "{{path}} にインストール済み",
"marketplace.intro":
"再利用可能なエージェント、スキル、MCPツールを1つのプロジェクトまたはすべてのプロジェクトにインストールできます。",
"marketplace.intro.learnMore": "Marketplaceについて",
"marketplace.install.prerequisites": "前提条件",
"marketplace.install.installing": "インストール中...",
"marketplace.install.cancel": "キャンセル",
+20
View File
@@ -41,6 +41,26 @@ export const dict = {
"marketplace.install.scope": "범위",
"marketplace.install.scope.project": "프로젝트",
"marketplace.install.scope.global": "글로벌",
"marketplace.install.scope.project.description":
"이 프로젝트에만 적용됩니다. 설치된 파일을 버전 관리에 추가하고 팀과 공유할 수 있습니다.",
"marketplace.install.scope.global.description":
"이 컴퓨터의 모든 프로젝트에 적용됩니다. 사용자 구성에 저장됩니다.",
"marketplace.install.destination": "설치 위치",
"marketplace.install.about.mcp":
"MCP 서버는 외부 서비스나 로컬 프로그램과 작업할 수 있는 추가 도구를 Kilo에 제공합니다.",
"marketplace.install.about.agent": "에이전트는 자체 지침과 권한을 가진 재사용 가능한 역할을 추가합니다.",
"marketplace.install.about.skill":
"스킬은 필요할 때 Kilo가 불러올 수 있는 작업별 지침과 리소스를 추가합니다.",
"marketplace.install.mcp.warning":
"MCP 서버는 로컬 명령을 실행하거나 외부 서비스에 연결할 수 있습니다. 권한 설정에서 자동으로 허용하지 않는 한 Kilo는 도구를 사용하기 전에 권한을 요청합니다.",
"marketplace.install.project.warning":
"프로젝트 파일이 버전 관리에 추가될 수 있습니다. 구성에서 환경 변수를 참조하는 경우가 아니면 여기에 비밀 정보를 저장하지 마세요.",
"marketplace.install.learnMore": "Marketplace 설치 방식 알아보기",
"marketplace.install.learnMcp": "MCP 자세히 알아보기",
"marketplace.install.installedAt": "{{path}}에 설치됨",
"marketplace.intro":
"재사용 가능한 에이전트, 스킬 및 MCP 도구를 하나의 프로젝트 또는 모든 프로젝트에 설치하세요.",
"marketplace.intro.learnMore": "Marketplace 정보",
"marketplace.install.prerequisites": "사전 요구 사항",
"marketplace.install.installing": "설치 중...",
"marketplace.install.cancel": "취소",
+20
View File
@@ -44,6 +44,26 @@ export const dict = {
"marketplace.install.scope": "Scope",
"marketplace.install.scope.project": "Project",
"marketplace.install.scope.global": "Globaal",
"marketplace.install.scope.project.description":
"Alleen dit project. De geïnstalleerde bestanden kunnen aan versiebeheer worden toegevoegd en met je team worden gedeeld.",
"marketplace.install.scope.global.description":
"Alle projecten op deze computer. Wordt opgeslagen in je gebruikersconfiguratie.",
"marketplace.install.destination": "Installatielocatie",
"marketplace.install.about.mcp":
"Een MCP-server geeft Kilo extra hulpmiddelen om met externe diensten of lokale programma's te werken.",
"marketplace.install.about.agent": "Een agent voegt een herbruikbare rol toe met eigen instructies en machtigingen.",
"marketplace.install.about.skill":
"Een vaardigheid voegt taakspecifieke instructies en bronnen toe die Kilo indien nodig kan laden.",
"marketplace.install.mcp.warning":
"MCP-servers kunnen lokale opdrachten uitvoeren of verbinding maken met externe diensten. Kilo vraagt toestemming voordat hun hulpmiddelen worden gebruikt, tenzij je machtigingen dit automatisch toestaan.",
"marketplace.install.project.warning":
"Projectbestanden kunnen aan versiebeheer worden toegevoegd. Sla hier geen geheimen op, tenzij de configuratie naar een omgevingsvariabele verwijst.",
"marketplace.install.learnMore": "Lees hoe installaties vanuit Marketplace werken",
"marketplace.install.learnMcp": "Meer informatie over MCP",
"marketplace.install.installedAt": "Geïnstalleerd in {{path}}",
"marketplace.intro":
"Installeer herbruikbare agenten, vaardigheden en MCP-hulpmiddelen voor één project of voor alle projecten.",
"marketplace.intro.learnMore": "Over Marketplace",
"marketplace.install.prerequisites": "Vereisten",
"marketplace.install.installing": "Installeren...",
"marketplace.install.cancel": "Annuleren",
+19
View File
@@ -42,6 +42,25 @@ export const dict = {
"marketplace.install.scope": "Omfang",
"marketplace.install.scope.project": "Prosjekt",
"marketplace.install.scope.global": "Globalt",
"marketplace.install.scope.project.description":
"Bare dette prosjektet. De installerte filene kan legges til i versjonskontroll og deles med teamet ditt.",
"marketplace.install.scope.global.description":
"Alle prosjekter på denne maskinen. Lagres i brukerkonfigurasjonen din.",
"marketplace.install.destination": "Installasjonssted",
"marketplace.install.about.mcp":
"En MCP-server gir Kilo flere verktøy for å arbeide med eksterne tjenester eller lokale programmer.",
"marketplace.install.about.agent": "En agent legger til en gjenbrukbar rolle med egne instruksjoner og tillatelser.",
"marketplace.install.about.skill":
"En ferdighet legger til oppgavespesifikke instruksjoner og ressurser som Kilo kan laste inn ved behov.",
"marketplace.install.mcp.warning":
"MCP-servere kan kjøre lokale kommandoer eller koble til eksterne tjenester. Kilo ber om tillatelse før verktøyene brukes, med mindre tillatelsene dine automatisk tillater det.",
"marketplace.install.project.warning":
"Prosjektfiler kan legges til i versjonskontroll. Ikke lagre hemmeligheter her med mindre konfigurasjonen viser til en miljøvariabel.",
"marketplace.install.learnMore": "Finn ut hvordan installasjoner fra Marketplace fungerer",
"marketplace.install.learnMcp": "Finn ut mer om MCP",
"marketplace.install.installedAt": "Installert i {{path}}",
"marketplace.intro": "Installer gjenbrukbare agenter, ferdigheter og MCP-verktøy for ett eller alle prosjekter.",
"marketplace.intro.learnMore": "Om Marketplace",
"marketplace.install.prerequisites": "Forutsetninger",
"marketplace.install.installing": "Installerer...",
"marketplace.install.cancel": "Avbryt",
+20
View File
@@ -42,6 +42,26 @@ export const dict = {
"marketplace.install.scope": "Zakres",
"marketplace.install.scope.project": "Projekt",
"marketplace.install.scope.global": "Globalny",
"marketplace.install.scope.project.description":
"Tylko ten projekt. Zainstalowane pliki można dodać do systemu kontroli wersji i udostępnić zespołowi.",
"marketplace.install.scope.global.description":
"Wszystkie projekty na tym komputerze. Zapisywane w konfiguracji użytkownika.",
"marketplace.install.destination": "Miejsce instalacji",
"marketplace.install.about.mcp":
"Serwer MCP zapewnia Kilo dodatkowe narzędzia do pracy z usługami zewnętrznymi lub programami lokalnymi.",
"marketplace.install.about.agent": "Agent dodaje rolę wielokrotnego użytku z własnymi instrukcjami i uprawnieniami.",
"marketplace.install.about.skill":
"Umiejętność dodaje instrukcje i zasoby dotyczące określonych zadań, które Kilo może wczytać w razie potrzeby.",
"marketplace.install.mcp.warning":
"Serwery MCP mogą uruchamiać lokalne polecenia lub łączyć się z usługami zewnętrznymi. Kilo poprosi o pozwolenie przed użyciem ich narzędzi, chyba że uprawnienia zezwalają na to automatycznie.",
"marketplace.install.project.warning":
"Pliki projektu mogą zostać dodane do systemu kontroli wersji. Nie przechowuj tutaj sekretów, chyba że konfiguracja odwołuje się do zmiennej środowiskowej.",
"marketplace.install.learnMore": "Dowiedz się, jak działają instalacje z Marketplace",
"marketplace.install.learnMcp": "Dowiedz się więcej o MCP",
"marketplace.install.installedAt": "Zainstalowano w {{path}}",
"marketplace.intro":
"Instaluj agentów, umiejętności i narzędzia MCP wielokrotnego użytku w jednym lub we wszystkich projektach.",
"marketplace.intro.learnMore": "O Marketplace",
"marketplace.install.prerequisites": "Wymagania wstępne",
"marketplace.install.installing": "Instalowanie...",
"marketplace.install.cancel": "Anuluj",
+21
View File
@@ -42,6 +42,27 @@ export const dict = {
"marketplace.install.scope": "Область",
"marketplace.install.scope.project": "Проект",
"marketplace.install.scope.global": "Глобально",
"marketplace.install.scope.project.description":
"Только этот проект. Установленные файлы можно добавить в систему контроля версий и предоставить команде.",
"marketplace.install.scope.global.description":
"Все проекты на этом компьютере. Сохраняется в вашей пользовательской конфигурации.",
"marketplace.install.destination": "Место установки",
"marketplace.install.about.mcp":
"MCP-сервер предоставляет Kilo дополнительные инструменты для работы с внешними сервисами или локальными программами.",
"marketplace.install.about.agent":
"Агент добавляет многократно используемую роль с собственными инструкциями и разрешениями.",
"marketplace.install.about.skill":
"Навык добавляет инструкции и ресурсы для определённых задач, которые Kilo может загрузить при необходимости.",
"marketplace.install.mcp.warning":
"MCP-серверы могут выполнять локальные команды или подключаться к внешним сервисам. Kilo запросит разрешение перед использованием их инструментов, если только ваши разрешения не допускают это автоматически.",
"marketplace.install.project.warning":
"Файлы проекта могут быть добавлены в систему контроля версий. Не храните здесь секреты, если только конфигурация не ссылается на переменную окружения.",
"marketplace.install.learnMore": "Узнайте, как работает установка из Marketplace",
"marketplace.install.learnMcp": "Подробнее о MCP",
"marketplace.install.installedAt": "Установлено в {{path}}",
"marketplace.intro":
"Устанавливайте многократно используемых агентов, навыки и инструменты MCP для одного или всех проектов.",
"marketplace.intro.learnMore": "О Marketplace",
"marketplace.install.prerequisites": "Предварительные требования",
"marketplace.install.installing": "Установка...",
"marketplace.install.cancel": "Отмена",
+19
View File
@@ -42,6 +42,25 @@ export const dict = {
"marketplace.install.scope": "ขอบเขต",
"marketplace.install.scope.project": "โปรเจกต์",
"marketplace.install.scope.global": "โกลบอล",
"marketplace.install.scope.project.description":
"เฉพาะโปรเจกต์นี้ ไฟล์ที่ติดตั้งสามารถเพิ่มลงในระบบควบคุมเวอร์ชันและแชร์กับทีมของคุณได้",
"marketplace.install.scope.global.description":
"ทุกโปรเจกต์ในเครื่องนี้ จัดเก็บไว้ในการกำหนดค่าผู้ใช้ของคุณ",
"marketplace.install.destination": "ปลายทางการติดตั้ง",
"marketplace.install.about.mcp":
"เซิร์ฟเวอร์ MCP เพิ่มเครื่องมือให้ Kilo สำหรับทำงานกับบริการภายนอกหรือโปรแกรมในเครื่อง",
"marketplace.install.about.agent": "เอเจนต์เพิ่มบทบาทที่นำกลับมาใช้ใหม่ได้พร้อมคำสั่งและสิทธิ์ของตนเอง",
"marketplace.install.about.skill":
"ทักษะเพิ่มคำสั่งและทรัพยากรเฉพาะงานที่ Kilo สามารถโหลดได้เมื่อจำเป็น",
"marketplace.install.mcp.warning":
"เซิร์ฟเวอร์ MCP สามารถเรียกใช้คำสั่งในเครื่องหรือเชื่อมต่อกับบริการภายนอกได้ Kilo จะขออนุญาตก่อนใช้เครื่องมือ เว้นแต่สิทธิ์ของคุณจะอนุญาตโดยอัตโนมัติ",
"marketplace.install.project.warning":
"ไฟล์โปรเจกต์อาจถูกเพิ่มลงในระบบควบคุมเวอร์ชัน อย่าเก็บข้อมูลลับไว้ที่นี่ เว้นแต่การกำหนดค่าจะอ้างอิงตัวแปรสภาพแวดล้อม",
"marketplace.install.learnMore": "เรียนรู้วิธีการติดตั้งจาก Marketplace",
"marketplace.install.learnMcp": "เรียนรู้เพิ่มเติมเกี่ยวกับ MCP",
"marketplace.install.installedAt": "ติดตั้งไปยัง {{path}} แล้ว",
"marketplace.intro": "ติดตั้งเอเจนต์ ทักษะ และเครื่องมือ MCP ที่นำกลับมาใช้ใหม่ได้สำหรับหนึ่งโปรเจกต์หรือทุกโปรเจกต์",
"marketplace.intro.learnMore": "เกี่ยวกับ Marketplace",
"marketplace.install.prerequisites": "ข้อกำหนดเบื้องต้น",
"marketplace.install.installing": "กำลังติดตั้ง...",
"marketplace.install.cancel": "ยกเลิก",
+20
View File
@@ -42,6 +42,26 @@ export const dict = {
"marketplace.install.scope": "Kapsam",
"marketplace.install.scope.project": "Proje",
"marketplace.install.scope.global": "Genel",
"marketplace.install.scope.project.description":
"Yalnızca bu proje. Yüklenen dosyalar sürüm kontrolüne eklenebilir ve ekibinizle paylaşılabilir.",
"marketplace.install.scope.global.description":
"Bu makinedeki tüm projeler. Kullanıcı yapılandırmanızda saklanır.",
"marketplace.install.destination": "Yükleme hedefi",
"marketplace.install.about.mcp":
"Bir MCP sunucusu, harici hizmetler veya yerel programlarla çalışmak için Kilo'ya ek araçlar sağlar.",
"marketplace.install.about.agent": "Bir ajan, kendi talimatları ve izinleri olan yeniden kullanılabilir bir rol ekler.",
"marketplace.install.about.skill":
"Bir yetenek, Kilo'nun gerektiğinde yükleyebileceği göreve özel talimatlar ve kaynaklar ekler.",
"marketplace.install.mcp.warning":
"MCP sunucuları yerel komutları çalıştırabilir veya harici hizmetlere bağlanabilir. İzinleriniz otomatik olarak izin vermediği sürece Kilo, araçlarını kullanmadan önce izin ister.",
"marketplace.install.project.warning":
"Proje dosyaları sürüm kontrolüne eklenebilir. Yapılandırma bir ortam değişkenine başvurmuyorsa gizli bilgileri burada saklamayın.",
"marketplace.install.learnMore": "Marketplace yüklemelerinin nasıl çalıştığını öğrenin",
"marketplace.install.learnMcp": "MCP hakkında daha fazla bilgi edinin",
"marketplace.install.installedAt": "{{path}} konumuna yüklendi",
"marketplace.intro":
"Yeniden kullanılabilir ajanları, yetenekleri ve MCP araçlarını bir proje veya tüm projeler için yükleyin.",
"marketplace.intro.learnMore": "Marketplace hakkında",
"marketplace.install.prerequisites": "Ön koşullar",
"marketplace.install.installing": "Yükleniyor...",
"marketplace.install.cancel": "İptal",
+21
View File
@@ -42,6 +42,27 @@ export const dict = {
"marketplace.install.scope": "Область",
"marketplace.install.scope.project": "Проєкт",
"marketplace.install.scope.global": "Глобально",
"marketplace.install.scope.project.description":
"Лише цей проєкт. Встановлені файли можна додати до системи контролю версій і надати команді.",
"marketplace.install.scope.global.description":
"Усі проєкти на цьому комп'ютері. Зберігається у вашій користувацькій конфігурації.",
"marketplace.install.destination": "Місце встановлення",
"marketplace.install.about.mcp":
"MCP-сервер надає Kilo додаткові інструменти для роботи із зовнішніми сервісами або локальними програмами.",
"marketplace.install.about.agent":
"Агент додає багаторазову роль із власними інструкціями та дозволами.",
"marketplace.install.about.skill":
"Навичка додає інструкції та ресурси для певних завдань, які Kilo може завантажити за потреби.",
"marketplace.install.mcp.warning":
"MCP-сервери можуть виконувати локальні команди або підключатися до зовнішніх сервісів. Kilo запитає дозвіл перед використанням їхніх інструментів, якщо ваші дозволи не дають змоги робити це автоматично.",
"marketplace.install.project.warning":
"Файли проєкту можуть бути додані до системи контролю версій. Не зберігайте тут секрети, якщо конфігурація не посилається на змінну середовища.",
"marketplace.install.learnMore": "Дізнайтеся, як працює встановлення з Marketplace",
"marketplace.install.learnMcp": "Докладніше про MCP",
"marketplace.install.installedAt": "Встановлено в {{path}}",
"marketplace.intro":
"Встановлюйте багаторазових агентів, навички та інструменти MCP для одного або всіх проєктів.",
"marketplace.intro.learnMore": "Про Marketplace",
"marketplace.install.prerequisites": "Передумови",
"marketplace.install.installing": "Встановлення...",
"marketplace.install.cancel": "Скасувати",
+17
View File
@@ -40,6 +40,23 @@ export const dict = {
"marketplace.install.scope": "作用域",
"marketplace.install.scope.project": "项目",
"marketplace.install.scope.global": "全局",
"marketplace.install.scope.project.description":
"仅限此项目。安装的文件可以提交到版本控制并与你的团队共享。",
"marketplace.install.scope.global.description": "此计算机上的所有项目。存储在你的用户配置中。",
"marketplace.install.destination": "安装位置",
"marketplace.install.about.mcp":
"MCP 服务器为 Kilo 提供用于处理外部服务或本地程序的额外工具。",
"marketplace.install.about.agent": "智能体会添加一个具有专属指令和权限的可复用角色。",
"marketplace.install.about.skill": "技能会添加特定任务的指令和资源,Kilo 可在需要时加载它们。",
"marketplace.install.mcp.warning":
"MCP 服务器可以运行本地命令或连接外部服务。除非你的权限允许自动使用,否则 Kilo 会在使用其工具前请求许可。",
"marketplace.install.project.warning":
"项目文件可能会提交到版本控制。除非配置引用了环境变量,否则不要在此处存储密钥。",
"marketplace.install.learnMore": "了解 Marketplace 安装的工作方式",
"marketplace.install.learnMcp": "详细了解 MCP",
"marketplace.install.installedAt": "已安装到 {{path}}",
"marketplace.intro": "为一个项目或所有项目安装可复用的智能体、技能和 MCP 工具。",
"marketplace.intro.learnMore": "关于 Marketplace",
"marketplace.install.prerequisites": "先决条件",
"marketplace.install.installing": "安装中...",
"marketplace.install.cancel": "取消",
+17
View File
@@ -40,6 +40,23 @@ export const dict = {
"marketplace.install.scope": "作用域",
"marketplace.install.scope.project": "專案",
"marketplace.install.scope.global": "全域",
"marketplace.install.scope.project.description":
"僅限此專案。安裝的檔案可以提交至版本控制並與你的團隊分享。",
"marketplace.install.scope.global.description": "此電腦上的所有專案。儲存在你的使用者設定中。",
"marketplace.install.destination": "安裝位置",
"marketplace.install.about.mcp":
"MCP 伺服器為 Kilo 提供用於處理外部服務或本機程式的額外工具。",
"marketplace.install.about.agent": "智能體會新增一個具有專屬指示和權限的可重複使用角色。",
"marketplace.install.about.skill": "技能會新增特定任務的指示和資源,Kilo 可在需要時載入它們。",
"marketplace.install.mcp.warning":
"MCP 伺服器可以執行本機命令或連線至外部服務。除非你的權限允許自動使用,否則 Kilo 會在使用其工具前請求許可。",
"marketplace.install.project.warning":
"專案檔案可能會提交至版本控制。除非設定引用了環境變數,否則請勿在此儲存密鑰。",
"marketplace.install.learnMore": "瞭解 Marketplace 安裝的運作方式",
"marketplace.install.learnMcp": "深入瞭解 MCP",
"marketplace.install.installedAt": "已安裝至 {{path}}",
"marketplace.intro": "為一個專案或所有專案安裝可重複使用的智能體、技能和 MCP 工具。",
"marketplace.intro.learnMore": "關於 Marketplace",
"marketplace.install.prerequisites": "先決條件",
"marketplace.install.installing": "安裝中...",
"marketplace.install.cancel": "取消",
@@ -17,6 +17,9 @@ interface ScopeOption {
label: string
}
const MARKETPLACE_DOCS = "https://kilo.ai/docs/customize/marketplace"
const MCP_DOCS = "https://kilo.ai/docs/automate/mcp/what-is-mcp"
interface Props {
item: MarketplaceItem
onClose: () => void
@@ -44,8 +47,32 @@ export const InstallModal = (props: Props) => {
const initial = workspace() ? options()[0] : options()[0]
const [scope, setScope] = createSignal<ScopeOption>(initial)
const [installing, setInstalling] = createSignal(false)
const [result, setResult] = createSignal<{ success: boolean; error?: string } | null>(null)
const [result, setResult] = createSignal<{
success: boolean
error?: string
scope: "project" | "global"
path: string
hasParameters: boolean
method?: string
} | null>(null)
const [params, setParams] = createSignal<Record<string, string>>({})
const [pending, setPending] = createSignal<{
scope: "project" | "global"
path: string
hasParameters: boolean
method?: string
} | null>(null)
const destination = (target = scope().value) => {
const base = target === "project" ? ".kilo" : "~/.config/kilo"
if (props.item.type === "mcp") return `${base}/kilo.json`
if (props.item.type === "agent") return `${base}/agents/${props.item.id}.md`
if (target === "project") return `.kilo/skills/${props.item.id}/`
return `~/.kilo/skills/${props.item.id}/`
}
const about = () => t(`marketplace.install.about.${props.item.type}`)
const scopeDescription = () => t(`marketplace.install.scope.${scope().value}.description`)
const openDocs = (url: string) => vscode.postMessage({ type: "openExternal", url })
// MCP installation methods
const methods = (): McpInstallationMethod[] => {
@@ -82,12 +109,15 @@ export const InstallModal = (props: Props) => {
createEffect(() => {
const unsub = vscode.onMessage((msg) => {
if (msg.type === "marketplaceInstallResult" && msg.slug === props.item.id) {
const request = pending()
setInstalling(false)
setResult({ success: msg.success, error: msg.error })
props.onInstallResult(msg.success, scope().value, {
hasParameters: Object.keys(params()).length > 0,
installationMethodName: method()?.name,
if (!request) return
setResult({ success: msg.success, error: msg.error, ...request })
props.onInstallResult(msg.success, request.scope, {
hasParameters: request.hasParameters,
installationMethodName: request.method,
})
setPending(null)
}
})
onCleanup(unsub)
@@ -96,14 +126,22 @@ export const InstallModal = (props: Props) => {
const doInstall = () => {
setInstalling(true)
const paramValues: Record<string, unknown> = { ...params() }
if (method()) {
paramValues.__method = method()!.name
const current = method()
if (current) {
paramValues.__method = current.name
}
const target = scope().value
setPending({
scope: target,
path: destination(target),
hasParameters: Object.keys(params()).length > 0,
method: current?.name,
})
vscode.postMessage({
type: "installMarketplaceItem",
mpItem: props.item,
mpInstallOptions: {
target: scope().value,
target,
parameters: Object.keys(paramValues).length > 0 ? paramValues : undefined,
},
})
@@ -131,6 +169,20 @@ export const InstallModal = (props: Props) => {
<Dialog title={t("marketplace.install.title", { name: props.item.name })} fit>
<Show when={!result()}>
<div class="install-modal-body">
<div class="install-modal-about">
<p>{about()}</p>
<div class="install-modal-links">
<button type="button" class="link" onClick={() => openDocs(MARKETPLACE_DOCS)}>
{t("marketplace.install.learnMore")}
</button>
<Show when={props.item.type === "mcp"}>
<button type="button" class="link" onClick={() => openDocs(MCP_DOCS)}>
{t("marketplace.install.learnMcp")}
</button>
</Show>
</div>
</div>
<div class="install-modal-section">
<span class="install-modal-label">{t("marketplace.install.scope")}</span>
<RadioGroup
@@ -140,8 +192,24 @@ export const InstallModal = (props: Props) => {
label={(x: ScopeOption) => x.label}
onSelect={(v: ScopeOption | undefined) => v && setScope(v)}
/>
<p class="install-modal-help">{scopeDescription()}</p>
<div class="install-modal-destination">
<span>{t("marketplace.install.destination")}</span>
<code>{destination()}</code>
</div>
</div>
<Show when={props.item.type === "mcp" || scope().value === "project"}>
<div class="install-modal-warning">
<Show when={props.item.type === "mcp"}>
<p>{t("marketplace.install.mcp.warning")}</p>
</Show>
<Show when={scope().value === "project"}>
<p>{t("marketplace.install.project.warning")}</p>
</Show>
</div>
</Show>
<Show when={methods().length > 1}>
<div class="install-modal-section">
<span class="install-modal-label">{t("marketplace.install.method")}</span>
@@ -215,6 +283,7 @@ export const InstallModal = (props: Props) => {
}
>
<p class="install-modal-success">{t("marketplace.install.success")}</p>
<p class="install-modal-result-path">{t("marketplace.install.installedAt", { path: r().path })}</p>
<div class="install-modal-footer">
<Button onClick={props.onClose}>{t("marketplace.install.done")}</Button>
</div>
@@ -12,6 +12,7 @@ import type {
MarketplaceRelevanceMetadata,
} from "../../types/marketplace"
import { useLanguage } from "../../context/language"
import { useVSCode } from "../../context/vscode"
import { filterItems, hasRelevantItems, retain } from "./utils"
import { ItemCard } from "./ItemCard"
import { MarketplaceContribute } from "./MarketplaceContribute"
@@ -36,6 +37,7 @@ interface Props {
export const MarketplaceListView = (props: Props) => {
const { t } = useLanguage()
const vscode = useVSCode()
const [search, setSearch] = createSignal("")
const [status, setStatus] = createSignal<StatusOption>({ value: "all", label: t("marketplace.filter.all") })
const [types, setTypes] = createSignal<MarketplaceItem["type"][]>([])
@@ -109,6 +111,18 @@ export const MarketplaceListView = (props: Props) => {
return (
<div class="marketplace-list">
<div class="marketplace-intro">
<span>{t("marketplace.intro")}</span>
<button
type="button"
class="link"
onClick={() =>
vscode.postMessage({ type: "openExternal", url: "https://kilo.ai/docs/customize/marketplace" })
}
>
{t("marketplace.intro.learnMore")}
</button>
</div>
<div class="marketplace-filters">
<div class="marketplace-search-field">
<TextField placeholder={props.searchPlaceholder} value={search()} onChange={setSearch} />
@@ -104,7 +104,6 @@ export const MarketplaceView = () => {
...(extra?.hasParameters && { hasParameters: true }),
...(extra?.installationMethodName && { installationMethodName: extra.installationMethodName }),
})
dialog.close()
fetchData()
}
}}
@@ -17,6 +17,32 @@
gap: 12px;
}
.marketplace-intro {
display: flex;
flex-wrap: wrap;
gap: 4px 8px;
color: var(--text-weak);
font-size: var(--kilo-font-size-12);
}
.marketplace-intro .link,
.install-modal-links .link {
all: unset;
color: var(--text-interactive-base);
cursor: pointer;
}
.marketplace-intro .link:hover,
.install-modal-links .link:hover {
text-decoration: underline;
}
.marketplace-intro .link:focus-visible,
.install-modal-links .link:focus-visible {
outline: 1px solid var(--vscode-focusBorder);
outline-offset: 2px;
}
.marketplace-filters {
display: flex;
gap: 8px;
@@ -277,6 +303,57 @@
gap: 6px;
}
.install-modal-about,
.install-modal-warning,
.install-modal-destination {
padding: 10px;
border: 1px solid var(--border-base, var(--vscode-widget-border));
border-radius: 4px;
background: var(--surface-raised-base, var(--vscode-editorWidget-background));
}
.install-modal-about p,
.install-modal-warning p,
.install-modal-help,
.install-modal-result-path {
margin: 0;
color: var(--text-weak);
font-size: var(--kilo-font-size-12);
}
.install-modal-links {
display: flex;
flex-wrap: wrap;
gap: 8px 12px;
margin-top: 6px;
font-size: var(--kilo-font-size-12);
}
.install-modal-warning {
display: flex;
flex-direction: column;
gap: 6px;
border-color: var(--border-warning-base);
}
.install-modal-destination {
display: flex;
flex-direction: column;
gap: 4px;
margin-top: 2px;
}
.install-modal-destination span {
color: var(--text-weak);
font-size: var(--kilo-font-size-11);
}
.install-modal-destination code {
color: var(--text-base);
font-size: var(--kilo-font-size-12);
overflow-wrap: anywhere;
}
.install-modal-label {
font-weight: 600;
font-size: var(--kilo-font-size-13);
@@ -309,7 +386,12 @@
color: var(--text-on-success-base);
font-size: var(--kilo-font-size-14);
font-weight: 600;
margin: 0 0 16px;
margin: 0 0 6px;
}
.install-modal-result-path {
margin-bottom: 16px;
overflow-wrap: anywhere;
}
.install-modal-error-msg {
@@ -196,7 +196,7 @@ export const LanguageProvider: ParentComponent<LanguageProviderProps> = (props)
})
const t = (key: UiI18nKey, params?: UiI18nParams) => {
const text = (dict() as Record<string, string>)[key] ?? String(key)
const text = (dict() as Record<string, string>)[key] ?? (dicts.en as Record<string, string>)[key] ?? String(key)
return resolveTemplate(text, params)
}
@@ -10,6 +10,8 @@ import type { Meta, StoryObj } from "storybook-solidjs-vite"
import { StoryProviders } from "./StoryProviders"
import { MarketplaceListView } from "../components/marketplace/MarketplaceListView"
import { ItemCard } from "../components/marketplace/ItemCard"
import { InstallModal } from "../components/marketplace/InstallModal"
import { MarketplaceSessionProvider } from "../context/marketplace-session"
import type {
SkillMarketplaceItem,
McpMarketplaceItem,
@@ -444,6 +446,19 @@ export const InstalledMcpCard: Story = {
),
}
export const InstallMcpModal: Story = {
name: "InstallModal — MCP explanation and destination",
render: () => (
<StoryProviders>
<MarketplaceSessionProvider>
<div style={{ "max-height": "700px", overflow: "auto", padding: "12px" }}>
<InstallModal item={MOCK_MCPS[0]} onClose={noop} onInstallResult={noop} />
</div>
</MarketplaceSessionProvider>
</StoryProviders>
),
}
// ---------------------------------------------------------------------------
// Mode Stories
// ---------------------------------------------------------------------------