26 包 monorepo(TS 全源码): - snowcat-core: NT 内核 API 封装 + listener(含 9.9.37 六回调适配)+ Packet 发包 - snowcat-onebot: OneBot v11 全动作 + MCP Streamable HTTP 适配器 + 稳定线 - snowcat-webui-frontend/backend: 雪猫控制台(React+HeroUI) - snowcat-shell: 单文件 bundle 出口(vite inlineDynamicImports) - snowcat-native: napi2native / MoeHoo / ffmpeg / pty 运行时 - 56 项 SnowLuma 独门动作移植(qzone 全家桶/群相册/装扮/闪照/收藏) - 工具件: 解包器/启动器/便携制作器/doctor GitHub 关联已全量指向 DandanLLab/SnowCatQQ
44 lines
2.0 KiB
PowerShell
44 lines
2.0 KiB
PowerShell
# SnowCat 9.9.37 适配验证启动(一次性脚本,复用 snowcat-launch 逻辑)
|
|
$ErrorActionPreference = 'Stop'
|
|
$NapcatDir = 'C:\dsh\.tmp\napcat-shell'
|
|
$QQPath = 'D:\SnowCat.Portable\SnowCat.9.9.37-54395.Shell\QQ.exe'
|
|
$root = Split-Path $QQPath -Parent
|
|
$app = Get-ChildItem (Join-Path $root 'versions') -Directory | ForEach-Object {
|
|
$pj = Join-Path $_.FullName 'resources\app\package.json'
|
|
if (Test-Path $pj) { Get-Content $pj -Raw | ConvertFrom-Json }
|
|
} | Sort-Object { [version]($_.version -replace '-.*','') } -Descending | Select-Object -First 1
|
|
|
|
$qqnt = [ordered]@{
|
|
name = 'qq-chat'
|
|
verHash = ''
|
|
version = $app.version
|
|
linuxVersion = ''
|
|
linuxVerHash = ''
|
|
private = $true
|
|
description = 'QQ'
|
|
productName = 'QQ'
|
|
author = @{ name = 'Tencent'; email = 'QQ-Team@tencent.com' }
|
|
homepage = 'https://im.qq.com'
|
|
sideEffects = $true
|
|
bin = @{ qd = 'externals/devtools/cli/index.js' }
|
|
main = './loadNapCat.js'
|
|
buildVersion = if ($app.version -match '-(\d+)$') { $Matches[1] } else { '0' }
|
|
isPureShell = $true
|
|
isByteCodeShell = $true
|
|
platform = 'win32'
|
|
eleArch = 'x64'
|
|
}
|
|
$qqntPath = Join-Path $NapcatDir 'qqnt.json'
|
|
[IO.File]::WriteAllText($qqntPath, ($qqnt | ConvertTo-Json -Depth 4), (New-Object System.Text.UTF8Encoding($false)))
|
|
$mainJs = (Join-Path $NapcatDir 'napcat.mjs').Replace('\', '/')
|
|
Set-Content (Join-Path $NapcatDir 'loadNapCat.js') -Value "(async () => {await import(`"file:///$mainJs`")})()" -Encoding ASCII
|
|
|
|
$env:NAPCAT_PATCH_PACKAGE = $qqntPath
|
|
$env:NAPCAT_LOAD_PATH = Join-Path $NapcatDir 'loadNapCat.js'
|
|
$env:NAPCAT_INJECT_PATH = Join-Path $NapcatDir 'NapCatWinBootHook.dll'
|
|
$env:NAPCAT_MAIN_PATH = $mainJs
|
|
Write-Host ("[OK] qqnt=" + $app.version + " build=" + $qqnt['buildVersion'])
|
|
$logFile = Join-Path $NapcatDir ('snowcat-boot5-' + (Get-Date -Format 'HHmmss') + '.log')
|
|
Start-Process -FilePath (Join-Path $NapcatDir 'NapCatWinBootMain.exe') -ArgumentList ('"' + $QQPath + '"', '"' + (Join-Path $NapcatDir 'NapCatWinBootHook.dll') + '"', '-q3430961870') -WindowStyle Hidden -RedirectStandardError $logFile
|
|
Write-Host 'launched'
|