重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。

同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
This commit is contained in:
oliver 2026-04-26 08:34:33 +08:00
parent 4a23b715a2
commit dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions

View file

@ -1,8 +1,9 @@
param(
param(
[string]$BindHost = "127.0.0.1",
[int]$Port = 8787,
[switch]$SkipInstall = $false,
[switch]$Background = $false
[switch]$Background = $false,
[bool]$WithWikiWorker = $true
)
$ErrorActionPreference = "Stop"
@ -16,16 +17,20 @@ function Fail([string]$msg) {
exit 1
}
$repoRoot = Split-Path -Parent (Split-Path -Parent $PSScriptRoot)
Set-Location $repoRoot
$repoRoot = Split-Path -Parent (Split-Path -Parent (Split-Path -Parent $PSScriptRoot))
$repoParent = Split-Path -Parent $repoRoot
Set-Location $repoParent
$runDir = Join-Path $PSScriptRoot ".run"
New-Item -ItemType Directory -Force -Path $runDir | Out-Null
$pidFile = Join-Path $runDir "gateway.pid"
Write-Step "Project root: $repoRoot"
Write-Step "Working directory: $repoParent"
$venvPython = Join-Path $repoRoot "oclaw/.venv/Scripts/python.exe"
$env:PYTHONPATH = $repoParent
$venvPython = Join-Path $repoRoot ".venv/Scripts/python.exe"
if (Test-Path $venvPython) {
Write-Step "Using venv python: $venvPython"
$pythonExe = $venvPython
@ -40,7 +45,7 @@ if (Test-Path $venvPython) {
if (-not $SkipInstall) {
Write-Step "Installing dependencies (pip install -r requirements.txt)"
& $pythonExe -m pip install -r "requirements.txt"
& $pythonExe -m pip install -r (Join-Path $repoRoot "requirements.txt")
} else {
Write-Step "Skip dependency install"
}
@ -52,15 +57,20 @@ Write-Host "Chat: http://$BindHost`:$Port/chat"
Write-Host "WS: ws://$BindHost`:$Port/ws"
Write-Host ""
$configPath = Join-Path $repoRoot "oclaw\oclaw.json"
$configPath = Join-Path $repoRoot "oclaw.json"
if (Test-Path $configPath) {
$env:OCLAW_CONFIG_PATH = $configPath
Write-Step "Using OCLAW_CONFIG_PATH: $configPath"
}
if ($WithWikiWorker) {
Write-Step "Ensuring wiki worker is running"
& "$PSScriptRoot/start_wiki_worker.ps1" -Background
}
if ($Background) {
Write-Step "Starting gateway in background"
$p = Start-Process -FilePath $pythonExe -ArgumentList @("-m","oclaw.runtime.operations","gateway","start","--host",$BindHost,"--port",$Port) -WorkingDirectory $repoRoot -PassThru -WindowStyle Hidden
$p = Start-Process -FilePath $pythonExe -ArgumentList @("-m","oclaw.runtime.operations","gateway","start","--host",$BindHost,"--port",$Port) -WorkingDirectory $repoParent -PassThru -WindowStyle Hidden
Set-Content -Path $pidFile -Value "$($p.Id)" -Encoding ascii
Write-Host "gateway.pid = $pidFile" -ForegroundColor DarkGray
Write-Host "PID = $($p.Id)" -ForegroundColor Green
@ -70,3 +80,5 @@ if ($Background) {
Write-Step "Starting gateway (foreground)"
& $pythonExe -m oclaw.runtime.operations gateway start --host $BindHost --port $Port