| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # opencode web Windows 服务安装脚本(NSSM 方案)
- # 用法:以管理员身份运行 PowerShell,执行:.\install-opencode-service.ps1
- Continue = 'Stop'
- # === 配置区 ===
- = 'OpenCodeWeb'
- = 'IwinTrue@123'
- = (Get-Command opencode.exe -ErrorAction Stop).Source
- = (Get-Command nssm -ErrorAction Stop).Source
- = "C:\ProgramData\OpenCodeWeb\logs"
- = "C:\ProgramData\OpenCodeWeb\data"
- New-Item -ItemType Directory -Path -Force | Out-Null
- New-Item -ItemType Directory -Path -Force | Out-Null
- Write-Host "OpenCode exe : " -ForegroundColor Cyan
- Write-Host "NSSM exe : " -ForegroundColor Cyan
- Write-Host "日志目录 : " -ForegroundColor Cyan
- Write-Host ""
- # Step 1: 安装/更新服务
- Write-Host "[1/3] 正在注册Windows服务..." -ForegroundColor Yellow
- & install
- & set AppParameters "web --port 4090 --hostname 0.0.0.0"
- & set AppEnvironmentExtra "OPENCODE_ADMIN_PASSWORD="
- & set AppDirectory "C:\Users\Administrator"
- & set Description "OpenCode AI Agent Web UI (port 4090)"
- & set Start SERVICE_AUTO_START
- & set AppStdout "\stdout.log"
- & set AppStderr "\stderr.log"
- # Step 2: 启动服务
- Write-Host "[2/3] 正在启动服务..." -ForegroundColor Yellow
- & restart
- Start-Sleep -Seconds 3
- # Step 3: 验证
- Write-Host "[3/3] 正在验证服务状态..." -ForegroundColor Yellow
- try {
- = Get-Service -ErrorAction Stop
- = netstat -ano | Select-String ":4090" | Select-String "LISTENING"
- Write-Host ""
- Write-Host "✅ 服务 '' 安装成功!" -ForegroundColor Green
- Write-Host " 状态 : "
- Write-Host " 访问地址 : http://localhost:4090"
- Write-Host " 登录密码 : "
- Write-Host " 日志文件 : "
- Write-Host ""
- Write-Host "--- 常用命令 ---" -ForegroundColor Cyan
- Write-Host " 启动服务 : nssm start "
- Write-Host " 停止服务 : nssm stop "
- Write-Host " 重启服务 : nssm restart "
- Write-Host " 服务状态 : Get-Service "
- Write-Host " 查看日志 : Get-Content $LogDir\stdout.log"
- Write-Host " 卸载服务 : nssm remove confirm"
- } catch {
- Write-Warning "服务安装完成,但启动可能有问题。请检查日志:"
- }
|