
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-plugin-appshot
Advanced tools
dsh-plugin-appshot — a DeepSeek Harness plugin for macOS context screenshot capture.
macOS 全局快捷键「一键截图当前窗口」,自动作为图片上下文挂入 DeepSeek Harness (DSH) 的 Composer —— 把当前工作窗口零摩擦交给 Agent。
dsh plugin --profile web add dsh-plugin-appshot
[dsh-plugin-appshot] plugin applied successfully、native agent ready 即加载成功;从源码安装(开发/贡献者):在插件目录
pnpm install && pnpm build && pnpm build:native,然后在插件父目录执行dsh plugin --profile <name> add ./dsh-plugin-appshot(dsh plugin add的相对路径锚定调用目录)。
DSH 版的「Codex Appshots」:为 DeepSeek Harness 带来全局快捷截屏上下文体验。
典型场景:无论你是在浏览器中查阅文档、在 IDE 中调试代码,还是在终端中排查报错——在任何应用的任何窗口中遇到疑问,只需按下 左 ⌘ + 右 ⌘,当前窗口截图便会瞬间自动传递到 DSH 客户端并挂入 Composer;附上你的问题即可直接向 Agent 提问,彻底告别「手动截图 → 切换窗口 → 粘贴上传」的繁琐流程。
截的是「当前窗口」,不是「整个屏幕」——与 Codex 官方对 Appshots 的描述一致("An appshot captures the frontmost window only.",Appshot 只截取最前面的那个窗口):
| ✅ 截取 | ❌ 不截取 |
|---|---|
| 触发瞬间正在操作的那一个前台窗口(Chrome / VS Code / Finder / Terminal…) | 整个屏幕、桌面壁纸、菜单栏/Dock、其他窗口、后台应用 |
按下 左⌘+右⌘ → 截取当前前台窗口 → 截图挂入 Composer → 输入描述并 Send
目前支持 macOS 14+;Windows 版本正在开发中。
dsh web 下截图仍会挂入 Composer,只是不唤起窗口);| 触发前(正在操作的前台窗口) | 触发后(自动截取并挂入 Composer) |
|---|---|
![]() | ![]() |

截图进入 Composer 而非直接触发 Agent——你可以补充说明、追加截图或删除不需要的附件,意图完全由你掌控。
UNUserNotificationCenter)提示失败原因。saveImage 成功后立即删除;插件启动时自动清理崩溃遗留的孤儿文件。系统由三方组成,数据单向流动:
┌─────────────────────────┐ NDJSON IPC (stdio) ┌──────────────────────────┐
│ macOS Native Agent │ ────────────────────────▶ │ Node / Cordis 宿主插件 │
│ (Appshot Agent.app) │ type: "appshot" │ (src/) │
│ · 双 Command 状态机 │ │ · fs.readFile 读字节 │
│ · 前台窗口识别 │ │ · attachments.saveImage │
│ · ScreenCaptureKit 截图 │ │ · 所有权原子转移 + unlink │
│ · 截图落盘后唤起 DSH │ │ · webServer SSE 广播 │
└─────────────────────────┘ └────────────┬─────────────┘
│ SSE (appshot/ready)
▼
┌─────────────────────────┐
│ DSH Client 模块 (Renderer) │
│ · 识别活跃 sessionId │
│ · 挂载 ImageAttachmentRef │
│ · 聚焦 Composer 输入框 │
└─────────────────────────┘
关键设计:
NSRunningApplication),不是 DSH API。saveImage 成功前 Staging 文件归插件;成功后所有权移交 DSH AttachmentStore,插件立即 unlink;失败分支 finally 清理;启动时执行孤儿文件 GC。首次触发截图时,macOS 会弹出授权引导,需授予:
| 权限 | 用途 |
|---|---|
| 屏幕录制 (Screen Recording) | ScreenCaptureKit 捕获前台窗口画面 |
| 辅助功能 (Accessibility) | 全局按键状态机监听 + 窗口唤起置顶 |
拒绝授权时本次截图终止,并通过系统通知提示;可在 系统设置 → 隐私与安全性 中补授后重试。
dsh web 下截图仍可入 Composer,但不唤起/置顶窗口。src/ 宿主插件(Cordis apply(ctx) 入口 + agent/ingest/sse/staging/ipc/client 模块)
native/macos/ Swift Native Agent(ScreenCaptureKit + 双 Command 状态机)
docs/ requirements.md(PRD)/ technical.md(技术方案)/ tasks.md(阶段验收)
tests/ 各 Phase 契约测试(node --test)
常用命令:
pnpm build # esbuild 打包宿主插件与客户端模块 → dist/
pnpm typecheck # tsc --noEmit
pnpm test # 契约测试(DSH_DISABLE_AGENT_SPAWN=1 避免拉起真实 Agent)
pnpm build:native # 构建 Appshot Agent.app
# Native 诊断(在 native/macos 内)
swift build && .build/debug/appshot-macos --list-windows # 列出可捕获窗口
.build/debug/appshot-macos --cli-capture --output /tmp/test.png # 前台窗口截图 PoC
依赖约束:@deepseek-ai/dsh-tools 与 @deepseek-ai/cordis 均为 peerDependencies(宿主提供;代码中只 import type,运行时由宿主注入 ctx);版本锁定 0.1.0-rc.6 线(npm latest 是过期 0.0.1-rc.1,勿用 npm i 覆盖)。
发布:pnpm publish(prepack 会自动执行 pnpm build && pnpm build:native,产物含 dist、cordis.patch.yml 与预构建的 Appshot Agent.app,用户安装无需任何构建授权)。
本项目基于 MIT 协议开源。
FAQs
dsh-plugin-appshot — a DeepSeek Harness plugin for macOS and Windows context screenshot capture.
The npm package dsh-plugin-appshot receives a total of 204 weekly downloads. As such, dsh-plugin-appshot popularity was classified as not popular.
We found that dsh-plugin-appshot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.