🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

随屏助手 mengxiaoxian/lookover

DeepSeek Harness
mengxiaoxian43 天前有提交已提供中文文档扫描:含敏感能力

按一下就能读取屏幕内容并记住解决经验

29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mengxiaoxian/lookover
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 43 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 22 处,展示前 22 条)
  • 发起网络请求
    dsh-bubble/lib/client.js:12
    const response = await fetch('/api/xiaoguang/window', {method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(body),signal:life
  • 执行外部命令来自配置/变量
    dsh-bubble/lib/index.js:13
    const child = spawn(fileURLToPath(new URL('../bin/Xiaoguang Companion.app/Contents/MacOS/xiaoguang-helper', import.meta.url)), args,
  • 发起网络请求
    dsh-bubble/lib/index.js:33
    async fetch(request) {
  • 发起网络请求
    dsh-bubble/lib/index.js:59
    if (message.kind === 'request') void bridge.request(message)
  • 写入本地文件
    dsh-bubble/lib/index.js:63
    appendFileSync(config.diagnosticsPath, JSON.stringify({time:Date.now(),kind,op,skin,running,messageCount,partialLength,pid,width,height,requestId,surf
  • 发起网络请求
    dsh-bubble/lib/index.js:89
    else if (command.kind === 'select') void bridge.request({op:'select',sessionId:command.sessionId})
  • 发起网络请求
    dsh-bubble/lib/surface-bridge.js:34
    await this.bridge.request({op:'select',sessionId})
  • 读取本地文件
    dsh-expmem/lib/store.js:27
    if (!existsSync(file)) return fallback
  • 读取本地文件
    dsh-expmem/lib/store.js:28
    const text = await readFile(file, 'utf8')
  • 写入本地文件
    dsh-expmem/lib/store.js:33
    await mkdir(dirnameOf(file), { recursive: true })
  • 写入本地文件
    dsh-expmem/lib/store.js:34
    await writeFile(file, rows.map((r) => JSON.stringify(r)).join('\n') + '\n', 'utf8')
  • 读取本地文件
    dsh-expmem/lib/store.js:78
    if (existsSync(this.files.state)) {
  • 读取本地文件
    dsh-expmem/lib/store.js:79
    try { this.ignored = JSON.parse(await readFile(this.files.state, 'utf8')).ignored ?? {} } catch { this.ignored = {} }
  • 写入本地文件
    dsh-expmem/lib/store.js:89
    await writeFile(this.files.state, JSON.stringify({ ignored: this.ignored }, null, 2), 'utf8')
  • 写入本地文件
    dsh-expmem/lib/store.js:153
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    dsh-expmem/lib/store.js:186
    await writeFile(join(dir, `${record.id}.md`), fm + body, 'utf8')
  • 读取本地文件
    dsh-expmem/lib/store.js:340
    const files = existsSync(join(this.dir, 'cases')) ? await readdir(join(this.dir, 'cases')) : []
  • 读取本地文件
    dsh-expmem/lib/store.js:340
    const files = existsSync(join(this.dir, 'cases')) ? await readdir(join(this.dir, 'cases')) : []
  • 读取本地文件
    dsh-look/lib/index.js:64
    if (!existsSync(HELPER)) {
  • 执行外部命令来自配置/变量
    dsh-look/lib/index.js:68
    const child = spawn(HELPER, [...extraArgs, '--self-bundle', SELF_BUNDLE, ...EXCLUDED_BUNDLES.flatMap(bundle => ['--exclude-bundle', bundle]), '--self-
  • 写入本地文件
    dsh-look/lib/index.js:109
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    dsh-look/lib/index.js:110
    await appendFile(join(dir, 'log.jsonl'), `${JSON.stringify(result)}\n`)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 读取屏幕内容
  • 记忆解决经验
  • 场景感知

不离场、随叫随到、和你看着同一块屏幕的通用桌面助手 —— 基于 DeepSeek Harness 的 macOS 场景感知 + 经验记忆插件(dsh-look / dsh-mem)

README

由 DeepSeek 最新模型翻译生成
lookover 不离场、随叫随到、和你看着同一块屏幕的通用桌面助手。 名字来自它的核心交互:你按一下、说一句,它就凑过来看一眼你在看什么——而不是把你拽到它那里去。 基于 DeepSeek Harness(DSH)插件体系构建的 macOS 桌面 Agent 助手,由两个可独立使用的插件组成: | 模块 | 是什么 | 一句话 | | dsh-look/ | 场景感知探针 | 让 Agent 在被问到「这个/这个报错/这个页面」时,能真实读到你的屏幕上下文 | | dsh-expmem/ | 个人经验记忆 | 把解决过的问题存为带来源、可纠正的案例,下次相似任务直接召回 | 快速开始 前置:macOS 12+、Node ≥ 20、已安装 DeepSeek Harness(桌面端或 dsh web)。 方式一:插件市场(推荐) — DSH 里打开 设置 → 插件市场(dshmarket),搜索 dsh-look / dsh-expmem,一键安装。 方式二:命令行 dsh plugin --profile add dsh-look dsh-expmem 方式三:本地开发 — clone 本仓库,按 dsh-look/README.md / dsh-expmem/README.md 的 profile 配置安装。
展开完整文档(README 剩余 1 节)
lookover

不离场、随叫随到、和你看着同一块屏幕的通用桌面助手。

名字来自它的核心交互:你按一下、说一句,它就凑过来看一眼你在看什么——而不是把你拽到它那里去。

基于 DeepSeek Harness(DSH)插件体系构建的 macOS 桌面 Agent 助手,由两个可独立使用的插件组成:

| 模块 | 是什么 | 一句话 |
| dsh-look/ | 场景感知探针 | 让 Agent 在被问到「这个/这个报错/这个页面」时,能真实读到你的屏幕上下文 |
| dsh-expmem/ | 个人经验记忆 | 把解决过的问题存为带来源、可纠正的案例,下次相似任务直接召回 |

快速开始

前置:macOS 12+、Node ≥ 20、已安装 DeepSeek Harness(桌面端或 dsh web)。

方式一:插件市场(推荐) — DSH 里打开 设置 → 插件市场(dshmarket),搜索 dsh-look / dsh-expmem,一键安装。

方式二:命令行

dsh plugin --profile add dsh-look dsh-expmem

方式三:本地开发 — clone 本仓库,按 dsh-look/README.md / dsh-expmem/README.md 的 profile 配置安装。

权限与适配:
- 零权限即可用(app 档);授予「辅助功能」解锁窗口标题/选中文本(ax 档),授予「屏幕录制」解锁 OCR(ocr 档)
- 使用社区发行版 DSH 桌面端(非「小光」构建)时,设置环境变量 DSH_SELF_BUNDLE= 以正确过滤自窗口
- npm 包内置 arm64 / x64 预编译 helper,无需本地构建;从源码构建用 npm run build:native
- 不装宿主也能体验 dsh-expmem 核心逻辑:cd dsh-expmem && npm run demo

解决什么问题

用 AI 助手时最大的摩擦不是「问不出答案」,而是每换一个任务就要重新解释一遍背景:

- 你在浏览器看一份英文合同,想问第 7 条的风险——得先复制粘贴给 AI;
- 终端弹了个报错——得截图上传;
- 微信里对方说了句话——得手动转述。

用户指代屏幕内容(「这个」「他刚说的」)时,AI 是盲的。lookover 让 Agent 获得一次诚实、克制、留痕的「看」。

产品原则

1. 拉模型,零轮询——只在 agent 调用 look 工具那一刻读一次最前面的非自身窗口。无轮询、无跟踪、无注入,每次读取落盘留痕(~/.dsh/look/log.jsonl)。
2. 优雅降级——零权限也能用(app/bundleId/bounds),授予权限获得更多(窗口标题、文档 URL、选中文本、焦点元素),OCR 是最后一层兜底。
3. 答案出现在注意力所在处——召唤即捕获:按下热键的瞬间快照(此刻焦点未丢、选区最完整),答案就地交付,全程不离开当前工作页面。
4. 诚实边界——读不到就说读不到,禁止翻历史/读标签页/猜 URL 变相编造屏幕内容;这条边界是验收用例喂出来的(见下)。

架构

任何 App(Chrome / 微信 / 终端 / WPS / IDE …)
│ ⌥⌘Z 召唤(listen-only CGEventTap,不拦截) ▼ dsh-look 探针 ── 按下瞬间抓一次快照(热快照 39ms) ├─ app 档(零 TCC 权限): app / bundleId / pid / windowId / bounds ├─ ax 档(辅助功能权限): + 窗口标题 / 文档 URL / 选中文本 / 焦点元素 └─ ocr 档(录屏权限): + 截图 → macOS Vision 本地 OCR(零 token) ▼ agent/pre-step 隐藏注入(TTL 5min,防噪) DSH 宿主 Agent ── 基于共享快照回答 / 召回 dsh-expmem 经验案例 ▼ 答案交付在气泡(锚定注意力位置,不改前台 App)

多窗口场景:≥2 个可见候选窗时返回 windows 列表,look({pick:"微信"}) 按名称选窗——你指哪个它看哪个。

验收数据(真实测试,非宣称)

- A2「该看就看」命中率 11/11 = 100%:微信×2、Chrome×4、终端、WPS×2、ima.copilot×3,含 1 例「识别命中、执行越权」坏样本,加边界约束后复测通过
- A3「不该看就不看」0/5 次调用:无关问题期间留痕日志零增长
- 热快照 39ms;冷 Chrome ~1s(延迟被「展开+打字」掩盖);空闲开销 ≈ 0
- 完整记录见 docs/acceptance-M0.md

关键工程决策(为什么不好抄)

| 决策 | 被否掉的备选 | 理由 |
| 全局热键用 CGEventTap | Carbon RegisterEventHotKey | Carbon 在现代 macOS 后台 CLI 注册成功但永不派发(成品二进制同样踩坑);listen-only 不拦截,与 App 自有热键搭便车共存 |
| 快照在「按下瞬间」抓 | 唤起后再读 | 唤起 App 瞬间焦点即丢、选区被破坏——时序设计是「召唤即捕获」的根基 |
| Chromium AX 树手动唤醒 | 直接读 | Chromium 默认不构建无障碍树;AXManualAccessibility 唤醒 + 失败歇 0.6s 重扫;Blink 选区需 AXSelectedTextMarkerRange 参数化取值并滤  占位符 |
| OCR 用 macOS Vision 本地跑 | 云端多模态 | 零 token、零上传;gated——仅视觉语义问题才把图喂多模态模型 |
| 记忆插件不另起 LLM 管线 | 独立抽取服务 | agent 本身就是抽取器:只提供工具+系统提示+注入,结构化质量随宿主模型免费升级 |
完整踩坑记录:docs/engineering-handoff-2026-09-20.md

当前边界(诚实清单)

- v1 聚焦只读辅助:读你所读、答你所问;动作执行(代点、代发)后置
- 记忆召回是词元打分(CJK 二元组),同义改写会漏;向量索引在路线图上
- 副屏 / 跨 Space 窗口未覆盖;气泡收起时 AX 树不可达(自动展开后操作在做)
- 依赖 DSH 宿主运行环境,不是独立 App

路线图

- [x] M0 零权限 look 工具(验收 11/11)
- [x] M3 辅助功能层(选中文本三级读取)
- [x] M2-lite 召唤热键快照(39ms)
- [x] M4 截图 + 本地 OCR + gated 多模态
- [x] P2-lite 多窗口 pick / focus-input / 新会话热键
- [x] dsh-expmem MVP(案例存取/召回/纠正,13 项断言全绿)
- [ ] 召唤带宽阶梯:按住说话 → 拖拽即问
- [ ] 异步任务的「进行中形态」(长任务的进度呈现是真空地带)
- [ ] 收获周报:被动信号度量「真实解决问题」,替代人工验收

长期愿景:从「看见」到「记住」

lookover 的终局不是「看得见屏幕的助手」,而是个人经验型桌面助手:把共同解决问题的经历沉淀为带来源、可纠正、有适用条件的问题案例,让下一次相似任务——少解释一次背景,少重做一次研究,少踩一次已经踩过的坑。

三层产品承诺:当下(理解授权上下文、就地帮助)→ 跨任务(带回旧经验并核对适用条件)→ 长期(可查看、可修订的个人经验空间)。最有辨识度的瞬间:助手在新任务里提出「上次用过这个方法,但它依赖一个这次不成立的条件,建议调整」,并展示可核查的依据。

dsh-expmem 是这条路线的第一步。完整的产品方向评估(双向论证、对象模型、竞品对比、验证方案、信任风险)见 docs/product-direction-evaluation.md。

文档

- docs/product-direction-evaluation.md — 个人经验型桌面 AI 助手:产品方向评估(长期愿景)
- docs/product-design-mvp.md — dsh-expmem MVP 产品需求与设计方案(PRD)
- docs/acceptance-M0.md — M0 验收记录(含坏样本迭代过程)
- docs/engineering-handoff-2026-09-20.md — 工程交接与踩坑记录

各插件的使用与安装说明见各自目录的 README:dsh-look/README.md | dsh-expmem/README.md

License

MIT

作者

程蒙博(mengxiaoxian)· AI Agent 产品经理。产品设计与工程实现均为独立完成。
预览分享卡片长什么样 ↓mengxiaoxian/lookover
分享 · DeepSeek Harness Hub
mengxiaoxian/lookover

按一下就能读取屏幕内容并记住解决经验

这是你的仓库?认领条目

回到顶部