Repository navigation
Releases
Releases · plumeume/dsh-copilot-key
v1.0.2 - Copilot 键静默启动(不再弹终端窗口)
把笔记本上的 Copilot 硬件键变成「启动 / 唤起 DeepSeek Harness」。本次是钩子修复版:插件不变(仍是 npm dsh-copilot-key@1.0.1)。
v1.0.2 修了什么
- 按 Copilot 键不再弹出 cmd / 终端窗口。
1.0.1 及更早版本用 ShellExecute(UseShellExecute = true)启动launch-dsh.cmd,ShellExecute 必然给cmd.exe新建控制台,
Windows 11 又把这个控制台交给默认终端应用托管 —— 于是每次按键都在屏幕最前面弹一个「管理员: DeepSeek Harness」终端窗口。
现在改用CreateProcess+CREATE_NO_WINDOW(UseShellExecute = false/CreateNoWindow = true):
cmd → powershell整条链照旧,只是从创建起就没有窗口。GUI 程序不受影响 —— 冷启动时桌面端窗口照常出现。 launch-dsh.cmd失败时的pause加了DSH_COPILOT_HIDDEN守卫:watcher 会给隐藏运行的子进程设这个环境变量,
否则失败会留下一个看不见、却一直等人按键的进程。手动双击运行时行为不变。config.ini的launcher/log支持相对路径(相对配置文件所在目录),与config.example.ini的说明一致。- 新增静默回归测试:
hook/test/windowwatch.ps1(按键期间是否冒出窗口)、hook/test/hidden-gui-test.ps1(隐藏链里 GUI 窗口仍可见)。 - CI:标签推送时自动把新编译的 exe 连同
.sha256作为 Release 资产上传。
下载安装
| 资产 | 说明 |
|---|---|
DshCopilotKey.exe |
钩子主程序(由 CI 在 windows-latest 上用系统自带 csc.exe 现场编译) |
DshCopilotKey.exe.sha256 |
上面这个 exe 的 SHA256(每次构建都不同,所以随 Release 发布) |
$dir = "$env:USERPROFILE\copilot-key"
New-Item -ItemType Directory $dir -Force | Out-Null
$base = "https://github.com/plumeume/dsh-copilot-key"
$raw = "https://raw.githubusercontent.com/plumeume/dsh-copilot-key/master/hook"
Invoke-WebRequest "$base/releases/download/v1.0.2/DshCopilotKey.exe" -OutFile "$dir\DshCopilotKey.exe"
Invoke-WebRequest "$base/releases/download/v1.0.2/DshCopilotKey.exe.sha256" -OutFile "$dir\DshCopilotKey.exe.sha256"
Invoke-WebRequest "$raw/config.example.ini" -OutFile "$dir\config.ini"
Invoke-WebRequest "$raw/install.ps1" -OutFile "$dir\install.ps1"
Invoke-WebRequest "$raw/uninstall.ps1" -OutFile "$dir\uninstall.ps1"
$want = (Get-Content "$dir\DshCopilotKey.exe.sha256" -Raw).Split()[0]
$have = (Get-FileHash "$dir\DshCopilotKey.exe" -Algorithm SHA256).Hash
if ($want -ne $have) { throw "SHA256 mismatch: $have" } else { "SHA256 OK" }
powershell -ExecutionPolicy Bypass -File "$dir\install.ps1"也可以克隆仓库自己编译(不需要 .NET SDK):
cd hook; powershell -File build.ps1。
插件(npm,本次无改动)
dsh-copilot-key@1.0.1 —— 在 App 里管理钩子:状态 / 启停 / 重启 / 手动触发 / 改配置 / 看日志,7 个 copilot_key_* 工具。
桌面端在「设置 → 插件 → 添加插件」里填 dsh-copilot-key。
兼容性
- Windows 10/11(开发与实测于 Windows 11 build 26200)
- 插件实测 DeepSeek Harness 内核 0.1.7-rc.2
- 钩子需要以 Medium 完整性级别运行;安装目录若被打了 Low 标签会导致
EPERM,修复见hook/README.md
MIT License
v1.0.0 - Copilot 键启动 DSH(钩子 + 管理器插件)
把笔记本上的 Copilot 硬件键变成「启动 / 唤起 DeepSeek Harness」。
两个部分
- hook/ — 自研按键钩子(~9 KB C#,无第三方依赖):吞掉 Copilot 组合键、补发修饰键避免开始菜单弹出,然后启动或聚焦 DeepSeek Harness;带登录自启的计划任务。
- plugin/ — DeepSeek Harness 插件
dsh-copilot-key(已发布到 npm),在 App 里管理钩子:7 个copilot_key_*工具(status / start / stop / restart / trigger / config / log)。
安装
# 1) 钩子:下载本 Release 的 DshCopilotKey.exe,或自己编译
powershell -ExecutionPolicy Bypass -File hook/build.ps1
copy hook/config.example.ini hook/config.ini
powershell -ExecutionPolicy Bypass -File hook/install.ps1
# 2) 插件(npm)
npm install -g dsh-copilot-key # 或:dsh plugin --profile <p> add dsh-copilot-key
# 桌面端请在「设置 → 插件 → 添加插件」里填 dsh-copilot-key插件默认去 %USERPROFILE%\copilot-key 找钩子;装别处就设环境变量 DSH_COPILOT_KEY_DIR。
校验
DshCopilotKey.exe
SHA256 D4CD3941A5752CFF1C37AC98AAF55D6A24C38CE4F25D42EE4BA5DD6814A06349
大小 17408 字节
Get-FileHash .\DshCopilotKey.exe -Algorithm SHA256兼容性
- Windows 10/11(开发/测试于 Windows 11 build 26200)
- 插件实测 DeepSeek Harness 内核 0.1.7-rc.2(依赖
defineTool/dsh.bundle.patch/dsh.profile.bundles) - npm 包:https://www.npmjs.com/package/dsh-copilot-key
说明
- 钩子需要 Medium 完整性级别运行;若安装目录被打了 Low 标签会导致
EPERM,修复见 hook/README.md。 - 这是首个公开版本:钩子与插件接口都还在演进,欢迎提 Issue。
MIT License