dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
打游戏或全屏应用在前台时,自动把 dsh-pet 的桌宠窗口收起来,退出后原样放回。用「全屏窗口铺满显示器 + 前台进程在游戏目录 + 系统全屏状态」三重信号判定,连续两次采样一致才动作,避免切窗口时闪隐;只切换窗口可见性,不改 dsh-pet 的任何配置,也不动它的安装目录。托盘菜单可暂停、立即恢复、重载配置。仅 Windows。
Hides your dsh-pet windows while you are playing a game, and puts them back when you are done.
Windows only. Requires dsh-pet to be installed and visible (any display value: desktop, web or both).
ShowWindow.dsh plugin --profile web add dsh-pet-game-guardUse your own profile name if the host is not web:
dsh plugin --profile desktop add dsh-pet-game-guardRestart the host once. Nothing else is needed: the plugin unpacks its helper binary and starts it with DSH, and stops it when DSH exits.
Local development:
dsh plugin --profile web add link:/absolute/path/to/dsh-pet-game-guardA tick every 350 ms, three signals, with a debounce of 2 consecutive identical ticks:
WS_CAPTION). Maximised windows are excluded, because they keep the caption or leave the taskbar gap.libraryfolders.vdf, steamapps\common is added, and the usual Epic / Xbox / GOG / Riot / WeGame folders are appended. extra_game_dirs and extra_game_exes extend this by hand.ignore_processes is checked first, so a fullscreen DeepSeek Harness window never hides the pet.Hiding is done by window title prefix (dsh-pet) and class (Chrome_WidgetWin_1), so it works for every pet in display: desktop and display: both without knowing their ids.
The helper is installed to %LOCALAPPDATA%\PetGuard:
File · Purpose PetGuard.exe · the helper; replaced on plugin update config.ini · settings; created once, then never overwritten petguard.log · written only when debug_log=1, rotated at 512 KiB selftest.txt · output of the command line modes below
The helper must live outside the DSH workspace: a process started from a directory with a low integrity label has no permission to call ShowWindow on the pet's windows and fails with err=5.
Key · Default · Meaning enabled · 1 · 0 disables the guard entirely (pet always visible) poll_ms · 350 · detection interval in milliseconds hide_after · 2 · consecutive "in game" ticks before hiding show_after · 2 · consecutive "not in game" ticks before showing hide_when_fullscreen · 1 · hide when a fullscreen window is in front hide_when_game_process · 1 · hide when the foreground process is a game scan_steam_libraries · 1 · scan Steam libraries automatically rescan_minutes · 5 · how often the game directory list is rebuilt debug_log · 1 · write petguard.log ignore_processes · explorer.exe,DeepSeek Harness.exe · never hide when these are in front (comma separated, exe names) extra_game_dirs · *(empty)* · extra game directories, whole subtree (comma separated) extra_game_exes · *(empty)* · extra game executable names (comma separated)
After editing, right-click the tray icon and choose 重新加载配置 (Reload config).
PetGuard.exe --once # print one detection result to selftest.txt
PetGuard.exe --dirs # print the scanned game directories and extra exe names
PetGuard.exe --list # list the pet windows it can see
PetGuard.exe --hide # hide the pet now
PetGuard.exe --restore # show the pet now
PetGuard.exe --status # print the current status
PetGuard.exe --quit # ask a running instance to exit (restores the pet first)assets/PetGuard.cs.whisperEnabled off in the pet's config if that matters to you.hide_when_fullscreen=0 if you only want games.TaskbarCreated broadcast (re-register after Explorer restarts) and re-register once 20 s after startup to survive a boot race with Explorer.MIT