前言¶
在 DeepSeek Harness(DSH)里做智能体时,模型往往不知道你此刻正在看哪一行代码、哪篇文档或哪个网页。只靠对话上下文,很难准确回答「我现在在做什么」或「刚才那个窗口里写了什么」。常见做法是手动复制粘贴窗口内容,或依赖截图再 OCR,既打断工作流,又容易漏掉标题、URL、选中文本等结构化信息。
dsh-screen 针对 macOS,通过系统 Accessibility API 读取前台窗口文本,并以可选的本地记忆把一段时间内的屏幕活动沉淀下来,供智能体工具调用。数据默认留在本机,是否开启记忆由你配置。
这是什么¶
dsh-screen 是 DSH 社区插件,仓库为 william-jin-cmu/dsh-screen,维护者 William Jin(GitHub 用户 william-jin-cmu),在插件目录中归类为「记忆」。当前版本为 0.1.0,许可证 MIT,仅支持 darwin(macOS)。
它解决两类问题:一是让 agent 实时拿到前台应用、窗口标题、URL、选中文本和窗口全文;二是在你显式开启 memory 后,按间隔采样并保留文本,便于回答「我之前在做什么」或在历史屏幕文本里检索。
核心功能¶
插件向智能体暴露以下工具(能力以 README 为准):
| 工具 | 作用 | 何时可用 |
|---|---|---|
screen_now |
返回前台应用、标题、URL、选中文本及窗口文本 | 始终 |
screen_timeline |
按应用与窗口汇总一段时间内你的活动 | 开启 memory 后 |
screen_search |
对已记忆的屏幕文本做全文搜索 | 开启 memory 后 |
screen_get |
取回某条记忆条目的完整文本 | 开启 memory 后 |
除工具外,还提供 /screen 命令,用于查看当前已授予的权限,以及屏幕记忆是否开启。
读取路径是本机 Accessibility API,helper 作为 DSH 子进程运行;截图能力如需 Screen Recording 权限,README 说明该权限主要用于截图场景,与以文本为主的读取区分对待。
安装与启用¶
环境要求:DSH >=0.2.1-rc.5 <0.3.0,Node.js 22.19 或更高。
命令行安装(使用 web profile):
dsh plugin --profile web add dsh-screen
若使用 DSH 桌面应用,在 Plugins > Add plugin 中输入 dsh-screen 即可。
安装后,macOS 会向 实际运行 DSH 的那个应用 请求 Accessibility 权限:终端里跑 dsh web 时向终端授权;桌面应用则向 DSH 应用授权。首次使用建议在对话中执行 /screen,确认权限与记忆开关状态后再让 agent 调用 screen_now 等工具。
配置项¶
在插件设置中可调整以下字段(默认值见 README):
| 配置 | 默认值 | 含义 |
|---|---|---|
memory |
false |
每隔数秒采样前台窗口文本,写入 $DSH_HOME/screen/screen.db |
intervalSeconds |
5 |
屏幕记忆采样间隔(秒) |
retentionDays |
30 |
记忆保留天数 |
ignoreApps |
DSH 自身窗口 | 当前台为这些应用时,改为读取其后面的窗口 |
excludeApps |
密码管理器等 | 这些 Bundle ID 永不读取、不记忆 |
默认 memory 为 false,只有你主动打开后才会持续采样并启用 screen_timeline、screen_search、screen_get。excludeApps 中的应用不会被读取,适合降低敏感应用暴露面。
典型用法¶
- 安装插件并在系统设置中为 DSH 所属应用开启 Accessibility。
- 在 DSH 中执行
/screen,核对权限与记忆状态。 - 需要即时上下文时,让 agent 调用
screen_now(例如询问「当前窗口在讲什么」)。 - 若需要回顾一段时间内的操作,将
memory设为true,再使用screen_timeline或screen_search;命中条目后用screen_get拉取全文。
README 未给出固定对话模板;实际效果取决于 agent 是否被允许调用上述工具,以及你是否开启记忆与排除列表是否合理。
隐私与适用注意¶
按官方说明:除 agent 在调用工具后写入模型请求的内容外,屏幕数据不会离开本机;记忆默认关闭;excludeApps 中的应用不会被读取。
适用对象:在 macOS 上使用 DSH、希望减少手动贴屏文本、并愿意为本机辅助进程授权 Accessibility 的开发者。不适用:非 macOS 环境(package.json 中 os 仅为 darwin)。
安装插件即允许其在你的用户会话内按配置读取窗口文本;启用 memory 会在本地数据库中保留历史。使用前建议阅读仓库源码与 MIT 许可证,自行评估密码管理器、银行页面等是否已列入 excludeApps。
插件目录页:skillhub.cn/plugins/william-jin-cmu/dsh-screen。该目录为社区站点,与 DeepSeek / 幻方无官方从属关系,与 DSH「一切皆插件」的生态定位一致。
结尾¶
dsh-screen 把「当前屏幕」和可选的「本机屏幕时间线」变成 DSH 可调用的工具,减少复制粘贴,同时把记忆开关和排除应用交给你控制。更多信息见 GitHub:github.com/william-jin-cmu/dsh-screen。