前言¶
用 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
典型用法¶
- 确认 dsh 桌面端与官方 dsh-tauri-pet 已运行。
- 点鲸鱼娘本体(宠物约占窗口内约 62%×82%,透明留白处可能无反应)→ 卡片弹出。
- 输入问题后:
- 仅文字:Enter或点右下角圆形箭头;
- 含屏幕:点「看屏幕并提问」。 - 需要时在卡片上切换工作区或「新建会话」;
-收起卡片,再点鲸鱼娘唤回;×关卡片进程,彻底退出用托盘右键。
宿主侧路由(供理解数据流,日常由卡片调用):
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 为准。