dsh-companion-journal:带记忆的 macOS 桌宠与屏幕感知插件

前言

在 DeepSeek Harness(DSH)里做智能体,常见做法是手动复制窗口内容或截图再贴进会话。上下文切来切去,很难把「当时正在做什么」和模型回复留在一条可检索的时间线上。dsh-companion-journal 把自绘桌宠、原生截图/读窗桥和本地陪伴记录接到同一套插件里:热键或菜单触发后,读前台窗口(优先文本,必要时截图),让当前模型短评或继续对话,并把结果写在 ~/.dsh/dsh-companion-journal/。维护者为 DarkAnJ,仓库 darkanj/dsh-companion-journal,SkillHub 分类为客户端;截至目录收录时 GitHub 约 1 star。插件声明平台为 darwin,仅支持 macOS 11+。

这是什么

一句话定位:给 DSH 的自绘桌宠 + 屏幕感知层。桌宠浮窗由插件自带的 AppKit 程序 buddy/bin/dsh-buddy 负责;窗口、截图、选中文字由 Swift 桥 bridge/bin/dsh-bridge 提供,不依赖第三方桌宠框架。

数据流可以概括为:

当前模型 ──工具──> dsh-companion-journal ──原生桥──> macOS(窗口 / 截图 / 选中文字)
                          │
                          └──气泡──> dsh-buddy(立绘 + 气泡 + 右键菜单)

宿主要求:DeepSeek Harness >= 0.2.1-rc.1 < 0.3.0(README 写明 0.2.2-rc.1 实测通过)。许可证 MIT,当前包版本 1.0.2。

核心功能

README 用入口表归纳能力;各功能均可从桌宠右键菜单进入,热键在设置页自定义(表中不写死组合键)。

功能 做什么
看一眼 后台截刚才用过的窗口,模型给 ≤40 字评语,桌宠念出;不激活目标应用
看一眼并提问 截窗并弹输入框,图文一并发给当前会话
看几眼 多次「看一眼」收成一组,气泡上「结束并看 / 提问 / 取消」
看一阵 对某窗口按间隔采样,可暂停、可调 1/2/5/10/20 秒;段摘要与拼图,停止后生成带时间线记录
陪伴记录 侧边栏搜索、时间筛选、追问(带图)、对记录开新会话、多选删除
桌宠 立绘、气泡、拖动与位置记忆、全局热键

读内容策略:Word、PDF、网页正文等优先读文本;视频、画布、扫描件等才走截图。记录里同时保留文字与图片。插件不上传数据;仅在触发感知类操作时,把当次内容发给你配置的模型。

安装与启用

环境

项 要求
系统 macOS 11+(universal 二进制)
DSH >= 0.2.1-rc.1 < 0.3.0
其他平台 Windows / Linux 会被宿主拒绝安装

方式一:Release 预编译包(推荐)

在 DSH「插件」→「添加插件」→「安装第三方插件」,填入:

https://github.com/DarkAnJ/dsh-companion-journal/releases/latest/download/dsh-companion-journal.tgz

方式二:从 GitHub 源码安装

github:DarkAnJ/dsh-companion-journal

命令行等价写法:

dsh plugin --profile desktop add \
  https://github.com/DarkAnJ/dsh-companion-journal/releases/latest/download/dsh-companion-journal.tgz

装完后完全退出并重开 DeepSeek Harness(宿主只在启动时加载插件代码)。升级重复安装即可;卸载在插件页操作,~/.dsh/dsh-companion-journal/ 内记录与人设立绘默认保留。

权限与首次使用

可用程度取决于 macOS 权限,授权对象均为 DeepSeek Harness.app:

权限 用途
屏幕录制 截图、窗口标题
辅助功能(可选) 跨应用读选中文字
自动化(按应用,可选) Word / Preview / Skim 正文
Zotero 本地 API(可选) 文献条目

路径:系统设置 → 隐私与安全性。插件内 设置 → 陪伴桌宠 → 权限 可请求授权、打开对应面板、刷新状态。授权后同样需完全退出并重开 DSH,TCC 身份才会重新加载。

典型用法

下面按 README 描述的可复现流程说明。

看一眼:右键桌宠或热键(默认可在 cordis.patch.yml 里改,如 buddy.hotkeys.look: F8)。失败时会说明:无屏幕录制权限、模型不支持图片、或没有其他前台窗口。

看一阵:右键 →「看一阵」→ 气泡显示「开始」且应用名随切换更新 →「开始」后按间隔采样,可暂停与改采样率 →「停止」生成带时间线记录,「丢弃」不保存。

陪伴记录:侧边栏入口;可对单条追问、开新会话;多图记录宫格与大图切换。

配置示例(~/.dsh/profiles/desktop/cordis.patch.yml,改完重启生效):

- id: dsh-companion-journal
  name: 'dsh-companion-journal'
  config:
    buddy:
      hotkeys:
        look: 'F8'
        ask: 'F7'
        collect: 'F9'
    hotkey:
      enabled: true
      spec: 'option+shift+L'
    observe:
      enabled: false
      intervalMs: 5000
      minGapSec: 20
      quietHours: ['23:00-08:00']
    capture:
      maxWidth: 1600
    read:
      maxChars: 12000
    privacy:
      redact: []
      pauseOnSensitiveTitles: true

设置页还可改人设、提示词、立绘、浮窗尺寸与字号、全局热键等。

适用场景与注意

适合谁:主要在 macOS 上用 DSH 做桌面协作、需要「看一眼当前工作区再让模型说话」或把多段屏幕活动落成本地时间线的人;想要自带桌宠 UI、而不是外挂其它桌宠插件的开发者。

运行与信任边界:插件以当前 DSH 进程权限访问屏幕与辅助功能 API;安装前应在 GitHub 查看源码与 MIT 许可证,并理解只会把触发操作时的内容发给你配置的模型。SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。

已知限制(README):只读不代点;浏览器侧目前主要只能拿到标题(正文需扩展桥,尚未实现);「看一阵」是按间隔取帧而非连续录屏;无音频;仅 macOS。

常见问题例如缺屏幕录制导致无法截图、桌宠未出现可查 /companion status 的 buddyRunning、热键冲突需在设置页检查,均以 README 表格为准。

结尾

dsh-companion-journal 把桌宠表现层、原生 macOS 感知桥和本地陪伴记录收进一个 DSH 客户端插件:热键或菜单触发,模型短评或深度问答,记录留在本机。目录页:https://www.skillhub.cn/plugins/DarkAnJ/dsh-companion-journal;源码与文档:https://github.com/DarkAnJ/dsh-companion-journal(另含 docs/FEATURES.md、docs/PRIVACY.md)。

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

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

小夜