Add Provider Install wizard to GUI
- Create ProviderInstallDialog for installing AI provider CLI tools - Shows available providers (Claude, Codex, Gemini, OpenCode, Ollama) - Detects which providers are already installed - Runs installation commands with live output - Offers to add provider variants after installation - Add "Tools" menu with "Install AI Provider..." option - Add "Install Provider..." button to Providers page Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
@@ -35,7 +35,13 @@ class ProvidersPage(QWidget):
|
||||
|
||||
header_layout.addStretch()
|
||||
|
||||
self.btn_install = QPushButton("Install Provider...")
|
||||
self.btn_install.setToolTip("Install a new AI provider CLI tool")
|
||||
self.btn_install.clicked.connect(self._install_provider)
|
||||
header_layout.addWidget(self.btn_install)
|
||||
|
||||
self.btn_add = QPushButton("Add Provider")
|
||||
self.btn_add.setToolTip("Manually add a provider configuration")
|
||||
self.btn_add.clicked.connect(self._add_provider)
|
||||
header_layout.addWidget(self.btn_add)
|
||||
|
||||
@@ -121,6 +127,14 @@ class ProvidersPage(QWidget):
|
||||
name_item = self.table.item(row, 0)
|
||||
return name_item.text(), name_item.data(Qt.UserRole)
|
||||
|
||||
def _install_provider(self):
|
||||
"""Open the provider installation wizard."""
|
||||
from ..dialogs.provider_install_dialog import ProviderInstallDialog
|
||||
dialog = ProviderInstallDialog(self)
|
||||
if dialog.exec():
|
||||
self.refresh()
|
||||
self.main_window.show_status("Providers updated")
|
||||
|
||||
def _add_provider(self):
|
||||
"""Add a new provider."""
|
||||
from ..dialogs.provider_dialog import ProviderDialog
|
||||
|
||||
Reference in New Issue
Block a user