Initial commit: QwenClaw persistent daemon for Qwen Code

This commit is contained in:
admin
2026-02-26 02:16:18 +04:00
Unverified
commit 80cdad994c
53 changed files with 7285 additions and 0 deletions

124
scripts/setup.ps1 Normal file
View File

@@ -0,0 +1,124 @@
# QwenClaw Setup Script
# Run this ONCE to set up QwenClaw with persistent auto-start
$ErrorActionPreference = "Stop"
Write-Host ""
Write-Host " ____ _ __ _ _ " -ForegroundColor Cyan
Write-Host " / ___|_ __ __ _ ___| | __ / _(_) | ___ " -ForegroundColor Cyan
Write-Host "| | | '__/ _` |/ __| |/ /| |_| | |/ _ \ " -ForegroundColor Cyan
Write-Host "| |___| | | (_| | (__| < | _| | | __/ " -ForegroundColor Cyan
Write-Host " \____|_| \__,_|\___|_|\_\|_| |_|_|\___| " -ForegroundColor Cyan
Write-Host ""
Write-Host "Persistent Daemon Setup" -ForegroundColor Cyan
Write-Host "=======================" -ForegroundColor Cyan
Write-Host ""
$QWENCLAW_DIR = Join-Path $env:USERPROFILE "qwenclaw"
$QWEN_DIR = Join-Path $env:USERPROFILE ".qwen"
# Step 1: Check prerequisites
Write-Host "[1/4] Checking prerequisites..." -ForegroundColor Yellow
try {
$bunVersion = bun --version 2>&1
Write-Host " Bun detected: v$bunVersion" -ForegroundColor Green
} catch {
Write-Host " [ERROR] Bun is not installed. Install from https://bun.sh" -ForegroundColor Red
exit 1
}
# Step 2: Install dependencies
Write-Host ""
Write-Host "[2/4] Installing dependencies..." -ForegroundColor Yellow
Set-Location $QWENCLAW_DIR
bun install
# Step 3: Create directories
Write-Host ""
Write-Host "[3/4] Creating directories..." -ForegroundColor Yellow
$dirs = @(
(Join-Path $QWEN_DIR "qwenclaw"),
(Join-Path $QWEN_DIR "qwenclaw\jobs"),
(Join-Path $QWEN_DIR "qwenclaw\logs"),
(Join-Path $QWEN_DIR "qwenclaw\inbox")
)
foreach ($dir in $dirs) {
if (-not (Test-Path $dir)) {
New-Item -ItemType Directory -Path $dir -Force | Out-Null
Write-Host " Created: $dir" -ForegroundColor Green
}
}
# Step 4: Set up Windows startup
Write-Host ""
Write-Host "[4/4] Setting up Windows auto-start..." -ForegroundColor Yellow
$installScript = Join-Path $QWENCLAW_DIR "scripts\install-startup.ps1"
& $installScript
# Create initial settings
Write-Host ""
Write-Host "Creating default settings..." -ForegroundColor Yellow
$settingsPath = Join-Path $QWEN_DIR "qwenclaw\settings.json"
if (-not (Test-Path $settingsPath)) {
$settings = @{
model = ""
api = ""
autoStart = $true
fallback = @{
model = ""
api = ""
}
timezone = "UTC"
timezoneOffsetMinutes = 0
heartbeat = @{
enabled = $false
interval = 15
prompt = ""
excludeWindows = @()
}
telegram = @{
token = ""
allowedUserIds = @()
}
security = @{
level = "moderate"
allowedTools = @()
disallowedTools = @()
}
web = @{
enabled = $true
host = "127.0.0.1"
port = 4632
}
}
$settings | ConvertTo-Json -Depth 10 | Out-File -FilePath $settingsPath -Encoding utf8
Write-Host " Created: $settingsPath" -ForegroundColor Green
}
# Summary
Write-Host ""
Write-Host "========================================" -ForegroundColor Green
Write-Host " QwenClaw Setup Complete!" -ForegroundColor Green
Write-Host "========================================" -ForegroundColor Green
Write-Host ""
Write-Host "What's configured:" -ForegroundColor Cyan
Write-Host " [OK] Dependencies installed" -ForegroundColor Green
Write-Host " [OK] Directories created" -ForegroundColor Green
Write-Host " [OK] Windows auto-start enabled" -ForegroundColor Green
Write-Host " [OK] Default settings created" -ForegroundColor Green
Write-Host ""
Write-Host "Quick Commands:" -ForegroundColor Cyan
Write-Host " bun run start - Start daemon manually" -ForegroundColor White
Write-Host " bun run status - Check daemon status" -ForegroundColor White
Write-Host " bun run stop - Stop daemon" -ForegroundColor White
Write-Host ""
Write-Host "Web Dashboard:" -ForegroundColor Cyan
Write-Host " http://127.0.0.1:4632" -ForegroundColor White
Write-Host ""
Write-Host "The daemon will start automatically when you log in to Windows." -ForegroundColor Green
Write-Host ""