File size: 2,313 Bytes
00a5163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
@echo off

rem onw AMD - Ore no NPU ga konna ni ugoku wake nai: install the resident tray app (Windows, AMD Ryzen AI NPU).

rem Finds Python 3.10+ (offers to install it with winget), creates .venv, installs onw + the tray, adds "onw" to

rem the Start menu and starts it in the task tray. FastFlowLM and the models are downloaded later from the

rem onw window (Models tab).
setlocal
cd /d "%~dp0"
set PYTHONUTF8=1

if not exist ".venv\installed-tray.txt" goto create

rem an older install has the tray but not the window's web view package: install it
".venv\Scripts\python.exe" -c "import webview" >nul 2>&1 && goto shortcut
:create
if exist ".venv\Scripts\python.exe" goto install
call "%~dp0find_python.bat"
if not defined PY (
    pause
    exit /b 1
)
echo [setup] creating Python environment in .venv ...
%PY% -m venv .venv
if errorlevel 1 (
    echo [setup] could not create the Python environment.
    pause
    exit /b 1
)
:install

rem (the bundled pip is fine; a newer pip once failed to install packages that have scripts, so it is not upgraded)
".venv\Scripts\python.exe" -m pip install -e .[tray]
if not errorlevel 1 goto installed
if defined RETRIED (
    echo [setup] package installation failed.
    pause
    exit /b 1
)
echo [setup] installation failed; rebuilding the Python environment once ...
set RETRIED=1
rmdir /s /q .venv
if not defined PY call "%~dp0find_python.bat"

%PY% -m venv .venv
goto install
:installed
echo ok> ".venv\installed.txt"
echo ok> ".venv\installed-tray.txt"

:shortcut

rem Start menu entry: pythonw -m onw tray (no console window)
set "PYW=%CD%\.venv\Scripts\pythonw.exe"
powershell -NoProfile -Command ^
  "$s = (New-Object -ComObject WScript.Shell).CreateShortcut([Environment]::GetFolderPath('Programs') + '\onw AMD.lnk');" ^
  "$s.TargetPath = '%PYW%'; $s.Arguments = '-m onw tray'; $s.WorkingDirectory = '%CD%';" ^
  "$s.Description = 'onw AMD - LLMs on the AMD Ryzen AI NPU'; $s.IconLocation = '%CD%\onw\web\icon.ico,0'; $s.Save()"
echo [setup] Start menu: onw AMD

echo [start] onw AMD is starting in the task tray. Pick a model to download in the window that opens.

rem --replace: a tray already running (an update by the one-line installer) restarts on the new files
start "" "%PYW%" -m onw tray --replace