DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

XXP-AI-SPACE /

XXP-AI-SPACE/dsh-snip

Verified

Snipaste-style screenshot annotation for DeepSeek Harness

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

dsh-snip

DeepSeek Harness 的轻量截图标注插件。

交互方式和 Snipaste 一致:按 F1(或点剪刀)→ 整个屏幕定格压暗 → 鼠标框选 → 选区下方工具条上画红框 / 写文字 → 完成。 浮层是宿主侧拉起的系统级全屏窗口,不是页面里的图片,所以能截桌面端以外的任何东西,页面里也不会出现任何截图预览。

截图状态:整屏压暗、红色方框与文字标注、选区下方工具条

截图状态:整屏压暗 → 框选 → 红框 + 文字(滚轮调字号)→ 工具条 Box / Text / Size / Done / Cancel

English: A Snipaste-style screenshot tool for DeepSeek Harness. Press F1 anywhere (a real Windows global hotkey) and the whole screen freezes and dims; drag a region, then annotate it with red boxes and click-to-type text whose font size follows the mouse wheel. Esc exits, Enter confirms. The annotated image is composited at native resolution and dropped into the composer. Windows 10/11 only (uses Windows PowerShell + WinForms); everything runs locally.

用法

两个入口,行为完全一致:

  • 点输入框工具行的剪刀图标(模型选择器左侧、语音按钮旁);
  • 按 F1:宿主侧注册的全局热键,DSH 在后台、焦点在别的应用上也能触发。

进入截图后:

  1. 屏幕整体压暗(含任务栏与其他应用),拖动鼠标框选目标区域;松手后选区恢复原亮度,可以拖边角微调、拖框内移动。

  2. 选区下方弹出工具条:

    按钮 作用
    Box 在选区里拖出红色方框外框。可画多个
    Text 在选区里点一下就地输入文字(回车确认),滚轮调字号(8–200 px)
    Size N 当前字号,滚轮会实时变
    Done 合成并投递
    Cancel 取消
  3. 快捷键:Enter 确认(还没框选时先按 Enter = 整屏);Esc 退出截图(正在写字时先取消这条文字);双击选区内确认。

  4. 完成后:标注图按原分辨率合成为 PNG,自动作为附件放进当前输入框(同时写剪贴板兜底)。

    • 按钮路径:直接回填到那次请求;
    • F1 路径:结果先落到 %TEMP%\dsh-snip-hotkey\*.ready.png,页面每 0.9 s 取一张回填(页面最小化时等你切回来再取)。

结构

文件 作用
lib/overlay.ps1 全屏浮层本体:定格压暗、框选与手柄、工具条、红框、文字、合成导出。纯 ASCII(PowerShell 5.1 编码坑)
lib/hotkey.ps1 常驻热键助手:RegisterHotKey 抢 F1,按下拉起同一个浮层,结果改名 .ready.png 入队;父进程消失即自杀
lib/index.js 宿主半:拉起浮层 / 拉起热键助手 / 结果队列 / 自检路由
client/index.js 浏览器半:一颗按钮 + 轮询取热键结果 + 投进输入框(页面里没有截图预览)
lib/capture.ps1 维护用:一次性整屏抓帧(调试/自检,不参与截图流程)

结果约定:脚本把 JSON 写到 -Out 旁边(<png>.meta.json),宿主读文件而不是读 stdout——这样 spawn 完全不需要 stdio 管道。

安装

# npm(收录进市场之后,市场里点安装也是这条)
dsh plugin --profile desktop add dsh-snip

# 直接从 GitHub 装
dsh plugin --profile desktop add github:XXP-AI-SPACE/dsh-snip

# 本地开发(link 到源码)
dsh plugin --profile desktop add "link:F:\工作之后\3-DSH\plugins\dsh-snip"

装完冷启动桌面端(宿主半需要),浏览器半刷新页面即可。 发布/收录流程见 PUBLISH.md。

自检

# 宿主路由是否在
Invoke-WebRequest http://127.0.0.1:<GUI 端口>/dsh-snip/status -UseBasicParsing

# 整条链路(浮层会自己画一个样例选区并确认,约 1 秒闪一下)
Invoke-WebRequest 'http://127.0.0.1:<GUI 端口>/dsh-snip/capture?probe=1' -UseBasicParsing

# 纯几何自检(不弹窗)
powershell -ExecutionPolicy Bypass -File lib\overlay.ps1 -SelfTest

可调项

  • lib/index.js 顶部:HOTKEY_KEY(默认 'F1',可改 F2…F12)。
  • client/index.js 顶部:SLOT / ORDER(默认 conversation.input.right + 1000,即模型选择器之前;想放最左改成 conversation.input.left)。
  • lib/overlay.ps1 顶部:$HANDLE(手柄判定半径)、$MIN_W/$MIN_H(最小选区)、颜色与字号上下限在 Adjust-Font / 常量区。

热键排查

  • 助手日志:%TEMP%\dsh-snip-hotkey\hotkey.log(注册成功会写 hwnd= 与 listening: F1)。
  • 如果 F1 已被别的程序占用,RegisterHotKey 会失败:日志写 RegisterHotKey failed,助手退出,/dsh-snip/status 里 hotkey.helperAlive 为 false。换 HOTKEY_KEY 即可。
  • 助手会盯着 DSH 主进程(-ParentPid),应用退出后 300 ms 内自行退出,不会留下孤儿进程或占着 F1。

已知边界

  • 浮层是 TopMost 的全屏窗口,会盖住任务栏与所有应用;Esc 或 5 分钟空闲会自动退出。
  • 它抓的是浮层出现前那一帧,所以浮层里的内容不会截到自己。
  • 多显示器按虚拟屏幕整体覆盖(负坐标屏也算)。
  • 不做:编号角标(1、2、3 号方框)与标注清单、撤销、箭头/椭圆/马赛克。
—/ 5

No ratings yet

Verified DSH bundle

Commit 93da48cd9dc6

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