dsh-screen:让 DSH 智能体看见当前屏幕并在本机可选记忆

前言

在 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 中的应用不会被读取,适合降低敏感应用暴露面。

典型用法

  1. 安装插件并在系统设置中为 DSH 所属应用开启 Accessibility。
  2. 在 DSH 中执行 /screen,核对权限与记忆状态。
  3. 需要即时上下文时,让 agent 调用 screen_now(例如询问「当前窗口在讲什么」)。
  4. 若需要回顾一段时间内的操作,将 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜