DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-im-phone-chat

F

dsh-im-phone-chat

Identified★ 2

DSH 手机聊天镜像:在左侧栏/主面板实时查看手机 IM 会话与助手回复(dsh-im 配套,支持 LaTeX 与图片)

手机聊天镜像 · dsh-im-phone-chat

npm version npm downloads license GitHub stars

配套 dsh-im(@xmanrui/dsh-im)的 DSH 桌面端插件: 可以把手机 IM 通道(QQ / 微信 / 飞书 …)经 dsh-im 桥接进 DSH 的会话,以只读聊天镜像的形式显示在 DSH 界面里喵。

支持

  • 左侧栏入口 → 主区域聊天面板
  • 手机消息 / 助手流式回复实时同步
  • Markdown + LaTeX 公式渲染
  • 手机图片内联显示,点击放大、可旋转
  • 多个手机会话可切换,支持加载更早历史

只读镜像:不写入会话,也不修改 dsh-im 安装包,dsh-im 升级/重装不影响本插件。 已在 DSH 0.2.1-rc.2 + dsh-im 5.0.3(Windows 桌面端)实测可用。

安装

前置条件

  1. 已安装 DSH(Web / 桌面端均可)
  2. 已安装并启用 @xmanrui/dsh-im,且至少一个 IM 通道(如 QQ)已连接
  3. 如果用命令行安装:dsh 命令可用;用插件管理器安装则不需要

方式一:npm(推荐)

# <profile>:桌面端一般是 desktop,Web 端一般是 web
dsh plugin --profile <profile> add dsh-im-phone-chat

使用dsh自带的插件安装功能直接输入dsh-im-phone-chat安装就可以了喵

安装后刷新一次页面(桌面端 Ctrl+R / F5),左侧栏底部、设置按钮上方出现「聊天气泡」图标。

方式二:插件管理器(本地目录)

  1. 克隆或下载本仓库到本地任意目录(目录之后不要删/移动,插件以本地链接方式安装):

    git clone https://github.com/FST-EchoFly/dsh-im-phone-chat.git
    
  2. 打开 DSH:设置 → 插件 → 安装本地插件,选择克隆下来的目录(包名 dsh-im-phone-chat)

  3. 启用「手机聊天镜像」插件

  4. 刷新一次页面(桌面端按 Ctrl+R / F5)

  5. 左侧栏底部、设置按钮上方出现「聊天气泡」图标,点击即可打开面板

方式三:命令行(本地 link)

git clone https://github.com/FST-EchoFly/dsh-im-phone-chat.git

# <profile> 换成你正在使用的 profile:桌面端一般是 desktop,Web 端一般是 web
# <克隆目录> 换成克隆出来的绝对路径,例如 D:\tools\dsh-im-phone-chat
dsh plugin --profile <profile> add link:<克隆目录>

更新

  • npm 安装:重新执行安装命令拉取最新版(或在插件管理器里更新):
    dsh plugin --profile <profile> add dsh-im-phone-chat
    
  • 本地 link 安装:进入克隆目录 git pull,再重启 DSH 或刷新页面。

卸载

  • 插件管理器里停用/移除「手机聊天镜像」;或
  • 命令行:dsh plugin --profile <profile> remove dsh-im-phone-chat

以 link: 方式安装的包指向克隆目录,卸载插件不会删除源码目录。

使用

  1. 从手机给已连接的 IM 机器人发一条消息
  2. 打开左侧「手机聊天」面板:顶部会列出发现的手机会话(如 QQ · 问候、QQ · 你好,带日期便于区分),默认选中最新的手机通道会话
  3. 面板会实时显示你的消息与助手回复;助手回复中的 Markdown / LaTeX 公式会自动排版,手机图片会内联显示,点击图片可放大并旋转
  4. 想看更早的消息,点顶部「加载更早消息」
  5. 需要继续对话:点「在会话中打开」跳到真实会话,或直接在手机上回复

配置

一般情况下无需配置:插件会通过 dsh-im 的管理 RPC(connection.status 返回的 bot.workspace)自动发现手机通道工作区,并结合「标题带 IM 通道前缀」的会话兜底。

只有在以下情况才需要改:

  • dsh-im 的管理 RPC 不可用,且手机机器人的工作区不是默认路径
  • 这种情况下,修改 src/plugin.js 顶部的 FALLBACK_WORKSPACES 数组(填你的工作区绝对路径),然后重新构建(见下)

开发

仓库里已提交构建好的 client.js,普通使用无需构建;只有改源码时才需要:

# 安装构建依赖(esbuild / katex / markdown-it)
pnpm install

# 重新构建 client.js
pnpm run build
  • 源码:src/plugin.js
  • 构建:build.mjs(esbuild 打包后包一层 DSH 的 window.__ModuleLoader__ 注册格式)
  • 包结构说明:见下方「结构」

结构

文件作用
package.jsonbundle 与 dsh.client 声明(platform: web、immediately: true)
cordis.patch.yml向 DSH 宿主插入插件行
index.js宿主侧空实现(本插件是纯客户端 UI)
src/plugin.js客户端插件源码:UI、事件折叠、Markdown / KaTeX 渲染、图片预览
client.js构建产物:window.__ModuleLoader__ 客户端 bundle(内置 KaTeX、markdown-it)
build.mjs / wrap.mjsesbuild 构建脚本;wrap.mjs 是在受限环境里先手动跑 esbuild 再包装的兜底脚本
locale/zh.json / locale/en.json插件管理器展示用的标题/描述
icon.svg插件图标
LICENSEMIT
THIRD_PARTY_NOTICES.md内置第三方库(KaTeX、markdown-it)的 MIT 声明

原理(简述)

  • 面板注册到 DSH 的 main 全局面板槽位,图标注册到 sidebar.panellist,两者使用同一个 id,点击图标即切换到该面板
  • 会话数据走 DSH 客户端公开接口:ctx.sessions.retain() 拿到会话绑定,订阅 binding.eventSource 的连续事件窗口(用户消息、助手流式 chunk、结算消息)
  • 按事件顺序折叠气泡:用户消息把上一条助手气泡收尾,助手回复出现在其真实位置;流式文本结算后替换为正式消息
  • 公式:消息文本中的 Markdown 与 $...$ / $$...$$ 用 KaTeX 渲染成 MathML(Chromium 原生渲染,无需字体文件);流式中的半成品按纯文本显示,结束后排版
  • 图片:session.readAttachment() 取原图字节 → Blob URL 渲染,滚动到附近才懒加载,卸载释放

与同类插件的区别

截至 2026-11,在 GitHub 与 npm 的 DSH 插件生态里没有找到功能完全相同的实现。下面是最接近的几类,以及本插件的差异:

插件做什么与本插件的差异
xmanrui/dsh-im(含 integrations/desktop-panel)IM 接入本体;可在左侧栏加「IM机器人」全局面板打开的是机器人管理/配置面板,不是聊天内容镜像
MichengAI/dsh-im-connect另一套 IM 接入;IM 会话归到工作区 Channels 标签下只是把 IM 会话作为普通 DSH 会话查看,没有独立聊天镜像面板,也没有侧栏常驻聊天入口
unfar/dsh-chat-plugin(dsh Chat)左栏 + 全屏 IM 风聊天面板是 DSH 与 DSH 之间的聊天室,不是手机 IM 镜像
JaMoLpE88/dsh-desktop-chat在 DSH 桌面侧栏内嵌 DeepSeek 官方 Chat数据源是 DeepSeek Chat,不是手机 IM
Jydsh/dsh-ding-card复用 dsh-im 连接,侧栏加「钉卡片」面板功能是钉钉卡片设计/投放
201222-L/dsh-mobile-remote、dsh-mobile 等在手机上看/控制电脑上的 DSH方向相反:把桌面 DSH 搬到手机,而不是把手机消息镜像到桌面

本插件的差异点:dsh-im 配套 + 左侧栏入口 + 实时气泡镜像 + Markdown/LaTeX/图片渲染,只读、不改 dsh-im 本体。

如果你发现了同类插件,欢迎开 issue 补充。

已知限制

  • 纯只读:发送消息仍需在手机或真实会话中进行
  • 手机会话的发现是启发式规则;若 DSH 把一次手机对话拆成多个会话,可在顶部下拉里选择
  • 历史只加载当前事件窗口(约 500 条消息),更早内容用「加载更早消息」
  • 首次安装后需要刷新页面一次(Electron 桌面端限制)
  • 依赖 dsh-im 的公开管理 RPC 做工作区发现;dsh-im 若改私有协议可能影响自动发现,此时用 FALLBACK_WORKSPACES 兜底

License

MIT,见 LICENSE。内置第三方库许可见 THIRD_PARTY_NOTICES.md。


English quick start

A read-only chat mirror for DSH desktop: shows the phone IM conversation bridged by dsh-im, with live assistant streaming, Markdown + LaTeX, and inline images.

Requirements: DSH (web or desktop), @xmanrui/dsh-im installed and enabled with a connected channel.

Install (from npm, recommended)

dsh plugin --profile <your-profile> add dsh-im-phone-chat

Or clone this repo and install the local directory via DSH Settings → Plugins → Install local plugin, or dsh plugin --profile <your-profile> add link:<absolute-path-to-clone>. Then refresh the page once (Ctrl+R / F5). A chat-bubble icon appears in the left sidebar; click it to open the mirror panel.

Update: dsh plugin --profile <your-profile> add dsh-im-phone-chat (npm) or git pull in a local clone.

Uninstall: disable/remove the plugin in DSH, or dsh plugin --profile <your-profile> remove dsh-im-phone-chat.

Built with KaTeX (MIT) and markdown-it (MIT); see third-party notices.

How it differs from related plugins: as of 2026-11 there is no other DSH plugin that mirrors the phone IM conversation itself in a desktop panel. The closest ones are dsh-im's own sidebar panel (bot management, not chat content), dsh-im-connect's "Channels" tab (IM sessions shown as ordinary DSH sessions), dsh Chat (DSH↔DSH chat rooms) and dsh-desktop-chat (official DeepSeek Chat, not IM). This plugin is the dsh-im companion that adds a real-time, read-only chat mirror with Markdown/LaTeX and inline images.

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 130/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 10.5k

↓ 339.3k/wk

MIT

TypeScript

Nov 3, 2026

dsh plugin --profile web add dshmarket

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 10k

↓ 14.1k/wk

MIT

TypeScript

Nov 3, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 7.1k

NOASSERTION

Python

Nov 3, 2026

dsh plugin --profile web add treg-dsh

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.3k

MIT

Python

Nov 3, 2026

Index only — not installable