@echo off setlocal enabledelayedexpansion echo [1/3] 正在查找所有opencode会话... echo. set SESSIONS_FOUND=0 for /f "usebackq tokens=*" %%A in (`opencode session list 2^>nul ^| findstr /R "[a-f0-9\-]\{32,\}"`) do ( set "SID=%%A" for /f "tokens=* delims= " %%B in ("!SID!") do set SID=%%B if not "!SID!"=="" ( echo 删除会话: !SID! opencode session delete !SID! >nul 2>&1 set /a SESSIONS_FOUND+=1 ) ) if !SESSIONS_FOUND!==0 ( echo (未发现通过CLI列出的会话) ) else ( echo 共删除 !SESSIONS_FOUND! 个会话(CLI方式) ) echo. set DELETED=0 for %%P in ("%LOCALAPPDATA%\opencode" "%APPDATA%\opencode" "%USERPROFILE%\.opencode") do ( if exist "%%P\sessions" ( for /r "%%P\sessions" %%F in (*.json) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) for /r "%%P\sessions" %%F in (*.jsonl) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) for /r "%%P\sessions" %%F in (*.sqlite) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) for /r "%%P\sessions" %%F in (*.db) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) rmdir /s /q "%%P\sessions" >nul 2>&1 ) if exist "%%P\sessionstore" ( for /r "%%P\sessionstore" %%F in (*.json) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) for /r "%%P\sessionstore" %%F in (*.jsonl) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) for /r "%%P\sessionstore" %%F in (*.sqlite) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) for /r "%%P\sessionstore" %%F in (*.db) do ( del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1 ) ) ) echo. echo [2/3] 直接删除 !DELETED! 个残留文件 echo. echo [3/3] 清理阻塞进程... taskkill /F /FI "IMAGENAME eq opencode.exe" >nul 2>&1 taskkill /F /FI "IMAGENAME eq node.exe" /FI "WINDOWTITLE eq *opencode*" >nul 2>&1 for /f "tokens=5 delims=," %%P in ('netstat -ano ^| findstr ":4090"') do ( taskkill /F /PID %%P >nul 2>&1 ) echo 清理完毕 echo. echo ===== 以下文件/目录被安全保留 ===== echo [技能] %USERPROFILE%\.config\opencode\skills\ echo [插件] %USERPROFILE%\.config\opencode\plugins\ echo [MCP] %USERPROFILE%\.config\opencode\mcp\ echo [配置] %USERPROFILE%\.config\opencode\opencode.json echo [OMF链] %APPDATA%\opencode\omf.json echo. echo 会话清理完成! pause