66 lines
1.6 KiB
PowerShell
66 lines
1.6 KiB
PowerShell
param(
|
|
[switch]$InstallOpencode
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
function Test-Command($Name) {
|
|
return $null -ne (Get-Command $Name -ErrorAction SilentlyContinue)
|
|
}
|
|
|
|
function Install-OpencodeIfRequested {
|
|
if (-not $InstallOpencode) {
|
|
Write-Host "Skipping opencode install. Use -InstallOpencode to install it."
|
|
return
|
|
}
|
|
|
|
if (Test-Command "opencode") {
|
|
Write-Host "opencode is already installed."
|
|
opencode --version
|
|
return
|
|
}
|
|
|
|
if (Test-Command "scoop") {
|
|
Write-Host "Installing opencode with Scoop..."
|
|
scoop install opencode
|
|
}
|
|
elseif (Test-Command "npm") {
|
|
Write-Host "Installing opencode with npm..."
|
|
npm install -g opencode-ai
|
|
}
|
|
else {
|
|
Write-Host "Could not find Scoop or npm."
|
|
Write-Host "Install one of them, then run:"
|
|
Write-Host " scoop install opencode"
|
|
Write-Host "or:"
|
|
Write-Host " npm install -g opencode-ai"
|
|
return
|
|
}
|
|
|
|
if (Test-Command "opencode") {
|
|
Write-Host "opencode installed."
|
|
opencode --version
|
|
python -m nlprog config use-opencode
|
|
}
|
|
else {
|
|
Write-Host "opencode install command finished, but opencode is not on PATH yet."
|
|
Write-Host "Open a new terminal and run: opencode --version"
|
|
}
|
|
}
|
|
|
|
Write-Host "Installing NLProg..."
|
|
|
|
python --version
|
|
python -m pip install -e .
|
|
|
|
python -m nlprog init
|
|
python -m nlprog init-project --show
|
|
|
|
Install-OpencodeIfRequested
|
|
|
|
python -m nlprog doctor
|
|
|
|
Write-Host ""
|
|
Write-Host "NLProg is ready."
|
|
Write-Host "Try: python -m nlprog agent `"帮我检查这个项目`""
|