Skip to content

Releases

v1.0.2 - Copilot 键静默启动(不再弹终端窗口)

Choose a tag to compare

@plumeume plumeume released this 26 Sep 15:28

把笔记本上的 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(钩子 + 管理器插件)

Choose a tag to compare

@plumeume plumeume released this 26 Sep 09:12

把笔记本上的 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