- Зачем: Kimi Desktop по умолчанию ходит в сеть напрямую, а прокси нужен как для Codex и Claude. - Что: start-kimi-proxy.ps1 запускает Kimi.exe с параметрами Electron --proxy-server и --proxy-bypass-list, run-скрипт chezmoi создаёт ярлык Kimi Proxy в меню "Пуск"; тест синхронизации списков обхода обобщён на все копии. - Проверка: синтаксис скриптов проверен парсером PowerShell, tests/test_proxy_env_sync.py зелёный, запуск через ярлык проверен вручную.
39 lines
1.2 KiB
PowerShell
39 lines
1.2 KiB
PowerShell
$ErrorActionPreference = 'Stop'
|
|
|
|
$ProxyHostName = 'hproxy.local'
|
|
$ProxyPort = 12334
|
|
$HttpProxy = "http://${ProxyHostName}:${ProxyPort}"
|
|
$ProxyBypassList = "${ProxyHostName};localhost;127.0.0.1;[::1];*.concept-software.ru;dementev.space;*.dementev.space"
|
|
|
|
function Get-KimiApplication {
|
|
$Executable = Join-Path $env:LOCALAPPDATA 'Programs\Kimi\Kimi.exe'
|
|
if (-not (Test-Path -LiteralPath $Executable)) {
|
|
throw "Kimi Desktop не найден: ожидался файл '$Executable'."
|
|
}
|
|
|
|
return $Executable
|
|
}
|
|
|
|
function Assert-KimiNotRunning {
|
|
param(
|
|
[Parameter(Mandatory)]
|
|
[string]$Executable
|
|
)
|
|
|
|
$RunningProcess = Get-CimInstance Win32_Process -ErrorAction SilentlyContinue |
|
|
Where-Object { $_.ExecutablePath -eq $Executable } |
|
|
Select-Object -First 1
|
|
|
|
if ($null -ne $RunningProcess) {
|
|
throw 'Kimi уже запущен. Полностью закройте приложение и повторно откройте ярлык Kimi Proxy.'
|
|
}
|
|
}
|
|
|
|
$KimiExecutable = Get-KimiApplication
|
|
Assert-KimiNotRunning -Executable $KimiExecutable
|
|
|
|
Start-Process -FilePath $KimiExecutable -ArgumentList @(
|
|
"--proxy-server=${HttpProxy}",
|
|
"--proxy-bypass-list=${ProxyBypassList}"
|
|
)
|