dsh-pet-chat:点桌宠提问,自动把当前屏幕送进 dsh 会话

前言

用 dsh 做开发或学习时,屏幕上常出现需要解释的内容:报错、文档片段、界面元素。传统做法是截图、保存、粘贴、再文字描述,步骤多且容易打断思路。DeepSeek Harness(DSH)社区里有一批插件把能力拆成可组合模块;其中 dsh-pet-chat(维护者 ybytlai78-dev)面向 Windows 桌面端,把「提问 + 当前屏幕一帧」合并成一步:点官方桌宠上的鲸鱼娘,在弹出卡片里打字即可。答案仍来自你正在运行的 dsh 同一会话,不是独立聊天应用,也没有云端中转截图。

这是什么

dsh-pet-chat 是 DSH 的客户端类插件(社区目录:skillhub.cn/plugins/ybytlai78-dev/dsh-pet-chat)。它不负责新的宠物形象,动画与窗口复用官方 dsh-tauri-pet;本插件只实现「看屏幕 + 聊天卡片」这一层,并通过宿主侧四条本地 HTTP 路由把问题(及可选截图)注入当前 dsh 会话。截图仅在本地 dsh 进程与卡片进程之间传递。

运行环境:Windows 10/11、PowerShell 5.1、dsh 桌面端在运行、官方桌宠 dsh-tauri-pet 已启用。当前 package 版本为 0.2.0,许可证 MIT(见仓库 LICENSE)。

核心功能

下面介绍插件在资料中明确写出的能力,不扩展未实现部分。

  • 一键唤出卡片:点击屏幕上的鲸鱼娘,聊天卡片从右侧弹出;卡片可拖拽、贴边改大小,布局记在 %USERPROFILE%\.dsh\pet-chat\card.json。
  • 两种发送方式:按 Enter 或右下角圆形箭头只发文字;点「看屏幕并提问」会附带当前屏幕一帧一起提交。
  • 与会话对齐:卡片 header 下可切换工作区、新建会话(预设走 dsh 默认,卡片内不写死切换);宿主通过 ctx.get('agents').get(id).followup(...) 把截图放进附件区并排队下一轮。
  • 自启与重连:桌面端启动时可按 cordis.patch.yml 的 autoStartCard: true 拉起卡片进程;卡片每 800ms 重读 %USERPROFILE%\.dsh\pet-chat\endpoint.json(含 {base, token, pid}),dsh 后起或 token 变更也能接上。
  • 本地 API 边界:卡片只发 HTTP 并带 x-pet-token,不直接碰 dsh 内部;dsh 未连接时卡片显示「未连接」。

安装与启用

先把插件目录装进你的 dsh profile(示例 profile 名为 web),然后重启 dsh。安装命令以 README 原文为准:

# 装进 dsh 的 profile(web 是你的 profile 名),然后重启 dsh
dsh plugin --profile web add "<本目录>"

<本目录> 替换为插件所在路径,不要用未在文档出现的 github:owner/repo 形式拼接。

经过上面的步骤,默认情况下桌面端启动时会自动拉起卡片进程;卡片平时隐藏,托盘留图标,屏幕上仍只见官方鲸鱼娘。若不需要自启,把 cordis.patch.yml 里 autoStartCard 改为 false,之后用 pet-chat.cmd 手动启动。卡片脚本带单实例锁,重复拉起会自退。

可用下列命令确认插件已加载:

dsh plugin --profile web list

典型用法

  1. 确认 dsh 桌面端与官方 dsh-tauri-pet 已运行。
  2. 点鲸鱼娘本体(宠物约占窗口内约 62%×82%,透明留白处可能无反应)→ 卡片弹出。
  3. 输入问题后:
    - 仅文字:Enter 或点右下角圆形箭头;
    - 含屏幕:点「看屏幕并提问」。
  4. 需要时在卡片上切换工作区或「新建会话」;- 收起卡片,再点鲸鱼娘唤回;× 关卡片进程,彻底退出用托盘右键。

宿主侧路由(供理解数据流,日常由卡片调用):

GET  /api/pet-chat/state?sessionId=
GET  /api/pet-chat/workspaces
POST /api/pet-chat/session
POST /api/pet-chat/ask

验证宿主四条路由可运行仓库内桩测试:

node verify\selfcheck.mjs

卡片侧行为可查看 %USERPROFILE%\.dsh\pet-chat\card.log(点击、发送、排版等会留行)。

适用场景与注意

适合谁:已在 Windows 上使用 dsh 桌面端和官方桌宠,希望「对着当前屏幕问一句」而不反复截图粘贴的用户。

务必知晓:

  • 平台:仅 Windows(WinForms + GDI),无 macOS/Linux 支持。
  • 权限与信任:插件以当前 dsh 进程权限运行;安装前请阅读 源码 与 MIT 许可证,自行判断是否满足安全要求。
  • 触发方式:依赖外部观测官方宠物窗口,不注入、不改壳;必须点到宠物本体。
  • 排错入口:缺 endpoint.json 多为 dsh 未起或插件未装;点宠物无反应可查 host.log 的 spawn ok 与 card.log 的 run: 进入消息循环;输入无回音可能是会话尚未活体或 dsh 正在其他回合(新建会话的首次提问会自动认领,回显靠 800ms 轮询)。完整现象表见仓库 README「排错」一节。

DSH 生态理念是「一切皆插件」;社区目录站点与 DeepSeek、幻方无官方从属关系,本文介绍的是社区维护的第三方插件,不是官方应用商店条目。

结尾

dsh-pet-chat 把「截图 + 描述 + 粘贴」收成「点桌宠、打字、可选带屏」,答案仍走你正在用的 dsh 会话与上下文。需要细节、设计决策与已知边界时,以仓库 README 与 DESIGN.md 为准。

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

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

小夜