diff --git a/npm/deepseek-tui/scripts/artifacts.js b/npm/deepseek-tui/scripts/artifacts.js index 080585ec3..a7fa1c3ea 100644 --- a/npm/deepseek-tui/scripts/artifacts.js +++ b/npm/deepseek-tui/scripts/artifacts.js @@ -13,7 +13,7 @@ const ASSET_MATRIX = { arm64: ["deepseek-macos-arm64", "deepseek-tui-macos-arm64"], }, win32: { - x64: ["deepseek-windows-x64.exe", "deepseek-tui-windows-x64.exe"], + x64: ["deepseek-windows-x64.exe", "deepseek-tui-windows-x64.exe", "deepseek-tui.bat"], }, }; diff --git a/scripts/release/prepare-local-release-assets.js b/scripts/release/prepare-local-release-assets.js index 404fc6e86..19bbf1fe0 100755 --- a/scripts/release/prepare-local-release-assets.js +++ b/scripts/release/prepare-local-release-assets.js @@ -62,6 +62,27 @@ async function main() { manifestLines.push(`${await sha256(outputPath)} ${asset.target}`); } + + // Windows: generate .bat launcher that prefers Windows Terminal + if (isWindows) { + const batContent = [ + "@echo off", + "set NO_ANIMATIONS=1", + "where wt >nul 2>nul", + "if %ERRORLEVEL% EQU 0 (", + " wt --title DeepSeek-TUI cmd /k ""%~dp0deepseek-tui-windows-x64.exe"", + ") else (", + " "%~dp0deepseek-tui-windows-x64.exe"", + ")", + "", + ].join("\r\n"); + const batPath = path.join(outputDir, "deepseek-tui.bat"); + await fs.writeFile(batPath, batContent, "utf8"); + const batHash = await sha256(batPath); + manifestLines.push(`${batHash} deepseek-tui.bat`); + console.log(`Generated ${batPath}`); + } + manifestLines.sort(); const manifestPath = path.join(outputDir, CHECKSUM_MANIFEST); await fs.writeFile(manifestPath, `${manifestLines.join("\n")}\n`, "utf8");