Add Windows plugin installer

This commit is contained in:
admin_d
2026-07-26 16:26:55 +05:00
parent c06c7a8214
commit c27067c974
2 changed files with 76 additions and 1 deletions
+6 -1
View File
@@ -6,11 +6,16 @@ Codex.
## Установка налогового плагина
Репозиторий публичный: логин, пароль и SSH-ключ не требуются.
Откройте обычный PowerShell и выполните:
```powershell
codex plugin marketplace add "https://dev.ast.ltr.kz/Logos/codex-plugins.git" --ref main; if ($LASTEXITCODE -eq 0) { codex plugin add "tax-code-research@logos-company-plugins" }
irm "https://dev.ast.ltr.kz/Logos/codex-plugins/raw/branch/main/install.ps1" | iex
```
Сценарий при необходимости установит Git, Node.js LTS и Codex CLI, затем
подключит marketplace и установит `tax-code-research`. Повторный запуск
безопасен: он обновит marketplace и не будет повторно устанавливать плагин.
После установки перезапустите ChatGPT Desktop или откройте новый рабочий чат.
MCP плагина доступен только внутри корпоративной сети.
+70
View File
@@ -0,0 +1,70 @@
$ErrorActionPreference = "Stop"
function Install-WingetPackageIfMissing {
param(
[string]$Command,
[string]$PackageId
)
if (Get-Command $Command -ErrorAction SilentlyContinue) {
return
}
if (-not (Get-Command winget.exe -ErrorAction SilentlyContinue)) {
throw "winget не найден. Обновите Windows App Installer и повторите установку."
}
winget install --id $PackageId -e --accept-package-agreements --accept-source-agreements
if ($LASTEXITCODE -ne 0) {
throw "Не удалось установить пакет $PackageId."
}
}
Install-WingetPackageIfMissing "git.exe" "Git.Git"
Install-WingetPackageIfMissing "npm.cmd" "OpenJS.NodeJS.LTS"
$env:Path = "$env:ProgramFiles\Git\cmd;$env:ProgramFiles\nodejs;$env:APPDATA\npm;$env:Path"
$npm = Get-Command npm.cmd -ErrorAction SilentlyContinue
if (-not $npm) {
throw "Node.js установлен, но npm не найден. Перезапустите PowerShell и повторите команду."
}
$codex = Get-Command codex.cmd -ErrorAction SilentlyContinue
if (-not $codex) {
& $npm.Source install --global "@openai/codex"
if ($LASTEXITCODE -ne 0) {
throw "Не удалось установить Codex CLI."
}
$npmPrefix = (& $npm.Source config get prefix).Trim()
$env:Path = "$npmPrefix;$env:Path"
$codex = Get-Command codex.cmd -ErrorAction SilentlyContinue
}
if (-not $codex) {
throw "Codex CLI установлен, но команда codex не найдена. Перезапустите PowerShell и повторите установку."
}
$marketplaceName = "logos-company-plugins"
$marketplaceUrl = "https://dev.ast.ltr.kz/Logos/codex-plugins.git"
$pluginId = "tax-code-research@$marketplaceName"
$marketplaces = (& $codex.Source plugin marketplace list --json | ConvertFrom-Json).marketplaces
if ($marketplaces.name -contains $marketplaceName) {
& $codex.Source plugin marketplace upgrade $marketplaceName
} else {
& $codex.Source plugin marketplace add $marketplaceUrl --ref main
}
if ($LASTEXITCODE -ne 0) {
throw "Не удалось подключить marketplace $marketplaceName."
}
$installed = (& $codex.Source plugin list --json | ConvertFrom-Json).installed
if ($installed.pluginId -notcontains $pluginId) {
& $codex.Source plugin add $pluginId
if ($LASTEXITCODE -ne 0) {
throw "Не удалось установить плагин $pluginId."
}
}
Write-Host "Готово. Перезапустите ChatGPT Desktop или откройте новый рабочий чат." -ForegroundColor Green