前言¶
用 DeepSeek Harness 桌面版做长会话时,主窗口默认尺寸往往只占屏幕一部分。每次启动后手动点一次最大化,对习惯全屏工作区的开发者来说只是小动作,但在频繁重启、多 profile 切换时仍会重复消耗注意力。DSH 生态里窗口行为本可由插件扩展;本插件在不动 Electron 主进程的前提下,在 host 加载阶段用系统级能力等价于「点一次最大化按钮」,面向 desktop profile 及基于 Electron / 系统窗口运行 DSH 的场景。
这是什么¶
dsh-auto-maximize 由维护者 FideFeiPlane 发布,分类为客户端插件。一句话定位:DeepSeek Harness 桌面版插件,启动时自动最大化主窗口,效果等同于手动点击最大化按钮。包版本 1.2.0,许可证 MIT;GitHub 镜像仓库为 FideFeiPlane/dsh-auto-maximize,主仓库在 Gitee。
插件是 host-only:随桌面版 host 进程在应用启动时加载。host 是纯 Node 子进程(ELECTRON_RUN_AS_NODE=1),拿不到 BrowserWindow,因此不能调用 BrowserWindow.maximize();实现路径是系统级窗口句柄上的「最大化」,而非 Electron API。
核心功能¶
平台策略(尽力而为)¶
失败只记日志,不 crash host。
| 平台 | 做法 | 依赖与备注 |
|---|---|---|
| Windows | 优先进程内 FFI:用 DSH 自带的 koffi 调 Win32 ShowWindow(hwnd, SW_MAXIMIZE);失败则回退 pwsh 7 或 Windows PowerShell 5.1 子进程 |
koffi 随 DSH 安装;无需额外权限 |
| macOS | 将窗口设为主屏可视区大小;失败时再点击绿色 AXZoomButton |
需 osascript;须授予「辅助功能」 |
| Linux | wmctrl 或 xdotool 设置 _NET_WM_STATE_MAXIMIZED |
工具通常需自行安装 |
Windows 上通过进程镜像路径与同可执行文件窗口匹配定位主窗口;macOS/Linux 可用配置项 processName 覆盖进程名。
行为边界¶
- 仅在 desktop profile 有意义;web profile 无窗口,插件会安静跳过。
- 只在启动挂载时执行一次,不会跟踪会话中用户手动改过的窗口状态。
- 可通过
enabled: false整体禁用;Windows 可用engine在auto/ffi/powershell间排查。
安装与启用¶
推荐通过插件市场 / npm(发布后可用):
dsh plugin --profile desktop add dsh-auto-maximize
本地开发可在 profile 目录(如 ~/.dsh/profiles/desktop)的 package.json 中以 file: 依赖引用,并把 dsh-auto-maximize 加入 dsh.profile.bundles,执行 pnpm install 后重启 DeepSeek Harness 桌面版。
卸载时从 dependencies 与 dsh.profile.bundles 两处移除该包,再 pnpm install 并重启应用。
典型用法:配置¶
在 profile 的 cordis.patch.yml 中覆盖 auto-maximize 条目即可。下面示例展示常见字段(默认值以 README 为准):
- id: auto-maximize
config:
enabled: true
engine: auto
timeoutMs: 5000
processName: 'DeepSeek Harness'
logKeepRuns: 5
logKeepLines: 200
| 配置 | 默认 | 说明 |
|---|---|---|
enabled |
true |
false 时插件不执行 |
engine |
auto |
Windows:auto / ffi / powershell |
timeoutMs |
5000 |
启动后等待窗口出现的上限(毫秒) |
processName |
可执行文件名 | macOS/Linux 定位窗口 |
logFile |
~/.dsh/auto-maximize.log |
false 关闭;字符串可自定义路径 |
logKeepRuns / logKeepLines |
5 / 200 |
日志轮转 |
macOS:须在「系统设置 → 隐私与安全性 → 辅助功能」中勾选 DeepSeek Harness,授权后重启;未授权时 host 日志会有 dsh-auto-maximize 相关指引。
验证无需重启 DSH:在「设置 → 插件」中关闭再打开该 bundle,相当于重新挂载并再跑一次最大化;诊断可看 ~/.dsh/auto-maximize.log(Windows 为 %USERPROFILE%\.dsh\auto-maximize.log)。
适用场景与注意¶
适合希望桌面版一打开就占满工作区的开发者;不适合需要固定小窗或 web-only profile。
插件以当前 DSH 进程权限运行,安装前建议查看仓库源码与 MIT 许可证。Linux 需自备 wmctrl 或 xdotool;多开实例时 Windows 按镜像与父进程 PID 区分,macOS/Linux 多窗口时可用 processName 区分。
DSH 社区插件目录(如 skillhub 上的条目)由社区维护,与 DeepSeek / 幻方无官方从属关系;安装命令以文档原文为准,勿自行拼接未在资料中出现的 github:owner/repo 形式。
结尾¶
dsh-auto-maximize 把「每次启动点最大化」收成一次配置:host 侧系统调用、跨平台回退与可关断的日志,默认即可用,按需改 cordis.patch.yml。进一步了解可访问插件目录页与 GitHub 仓库:
- 目录页:https://www.skillhub.cn/plugins/FideFeiPlane/dsh-auto-maximize
- GitHub:https://github.com/FideFeiPlane/dsh-auto-maximize