DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

facai5382-lab /

facai5382-lab/dsh-edge-dock

Verified

DSH ??:Harness ?????????????,??????????;???????????????????(Windows)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@59593049

dsh-edge-dock

把 DeepSeek Harness 贴到屏幕左/右边缘后,点窗口外面它自动收进边缘,鼠标碰到那条边它自动滑出来。 另带「窗口置顶」和「其他窗口全屏时也能唤出」。

只支持 Windows + DSH 桌面版。不需要管理员权限,不需要装 .NET SDK(Win10/11 自带 .NET Framework 4.x)。

不想用 git 的话,直接下打包好的 zip:Releases · v1.0.0 → 解压 → 跑 install.ps1。

设置入口:Harness 设置 → 贴边自动收起(左侧导航,图标是一个靠右边的窗口)。


安装

  1. 下载/克隆本仓库,解压到任意目录
  2. 在该目录执行:
powershell -ExecutionPolicy Bypass -File .\install.ps1

脚本会:

  • 把插件拷进 %USERPROFILE%\.dsh\profiles\desktop\plugins\dsh-edge-dock 与 ...\node_modules\dsh-edge-dock
  • 在 profile 的 package.json 里补两处登记(dependencies 与 dsh.profile.bundles),只插入两行,改前自动备份 .bak,写完自校验、失败自动还原
  1. 完全退出 DeepSeek Harness(托盘图标右键退出)再重新打开
  2. 打开 设置 → 贴边自动收起 → 打开「启用贴边自动收起」

profile 不在默认位置时加参数:-Profile "D:\xxx\.dsh\profiles\desktop"。

exe 不需要你手动安装:宿主半侧第一次加载时会把它铺到 %LOCALAPPDATA%\DshEdgeDock\ 并拉起、之后每 8 秒守护一次。

卸载

# 1. 关掉助手进程
Stop-Process -Name DshEdgeDock -ErrorAction SilentlyContinue
# 2. 删插件目录(两处)
Remove-Item "$env:USERPROFILE\.dsh\profiles\desktop\plugins\dsh-edge-dock" -Recurse -Force
Remove-Item "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-edge-dock" -Recurse -Force

再删掉 profile package.json 里的 "dsh-edge-dock" 两处登记即可;%LOCALAPPDATA%\DshEdgeDock\ 可以直接删(日志与配置)。


设置项

开关 作用
启用贴边自动收起 总开关,关掉后窗口行为完全复原
窗口置顶 让 Harness 始终在最前(收起时会自动临时撤掉,不会挡住别人的全屏)
其他窗口全屏时也能唤出 前台有全屏程序时,鼠标碰到边缘也会把 Harness 提到最前
Windows 窗口布局的窗口保持原样 用贴靠布局摆成半屏/三分屏的窗口不自动收起(默认开)
开机自动启动 写 HKCU\...\Run,只对当前用户、当前机器有效

页面上还有「立即唤出 / 立即收起 / 重启助手」三个按钮,配合状态条(是否检测到窗口、当前贴哪边、是否已收起)方便排查。


结构

文件 作用
lib/index.js 宿主半侧:把 bin/DshEdgeDock.exe 铺到 %LOCALAPPDATA%\DshEdgeDock\,拉起并守护,暴露同源接口 /api-dsh-edge-dock/state|set|action
lib/client.js 浏览器半侧:设置页那一屏(状态条 + 开关 + 按钮),2 秒轮询
bin/DshEdgeDock.exe 真正干活的 Win32 小程序:找 DSH 主窗口、判贴边、滑动收起/伸出、置顶、托盘菜单
src/EdgeDock.cs 上面那个 exe 的 C# 源码(单文件,WinForms + P/Invoke)
src/build.ps1 用系统自带 csc 重新编译 exe
cordis.patch.yml 把 dsh-edge-dock 挂成一条 loader 行
install.ps1 一键安装/迁移脚本

设计取舍

  • 不改 app.asar:DSH 夜间自动更新会把它覆盖,重打包 213MB 的 asar 还有 integrity 风险。所以窗口操作全部放在一个独立 exe 里,Harness 更新不影响它。
  • 插件只当遥控器:浏览器里拿不到窗口句柄,所以页面上所有开关都经宿主半侧转成一句 TCP 命令发给 exe(127.0.0.1:59731,一行命令一行应答,仅回环地址)。
  • 贴靠布局豁免:用 Windows「贴靠布局」摆成半屏/三分屏的窗口不自动收起,只有自己拖到边缘的才收(可在设置里关)。
  • 全屏唤出:唤出时如果前台窗口铺满整屏,就临时把 Harness 提到最前;点外面收起时自动让回,不会长期霸占最前。

行为细节

  • 收起 = 滑到屏幕边缘只留 4px(相邻有显示器时改为隐藏),动画 6 步;唤出时鼠标只要碰到那条边的任意高度即可。
  • 贴边判定留了 64px 容差:手动拖到边缘附近(稍许越界也算)就能识别。
  • 窗口被自己拖离边缘、或把窗口最小化/收进托盘,都不会误判成「已收起」。
  • 多显示器:贴的那侧如果还有屏幕,就不留 4px 而是直接隐藏窗口(避免遮住邻屏)。
  • 托盘图标右键:暂停自动收起、窗口置顶、全屏唤出、开机自动启动、显示窗口、退出。
  • 配置与日志在 %LOCALAPPDATA%\DshEdgeDock\(config.ini、edgedock.log、selftest.txt)。

自检

& "$env:LOCALAPPDATA\DshEdgeDock\DshEdgeDock.exe" --selftest

会跑 8 组窗口矩形用例(半屏、三分屏、四分之一、整屏、右半屏底部等)并把结果写到 %LOCALAPPDATA%\DshEdgeDock\selftest.txt。

构建

powershell -ExecutionPolicy Bypass -File .\src\build.ps1

用的是 C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\csc.exe(Windows 自带,C# 5 语法)。

已知限制

  • 只支持 Windows;非 win32 平台宿主半侧会直接返回,不加载任何东西
  • exe 未签名,首次运行可能被 SmartScreen / 杀软提示
  • 端口固定 59731 + 单实例互斥,同一台机器不会跑两份
  • Windows 的「贴靠布局」窗口按几何形状识别(半屏/三分屏/四分之一/整屏),非标准尺寸的自定义布局仍会被当成贴边

License

MIT,见 LICENSE。

—/ 5

No ratings yet

Verified DSH bundle

Commit 595930498433

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout