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

对话分享长图 bill9109/dsh-conversation-share

DeepSeek Harnessv0.1.5
bill910932 天前有提交已提供中文文档扫描:未发现敏感能力

分享任意段落的 DSH 对话

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

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

自动兼容检查有告警:npm 同名包「dsh-conversation-share」归属 omdsh-dev/dsh-conversation-share,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bill9109/dsh-conversation-share
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-conversation-share」归属 omdsh-dev/dsh-conversation-share,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-conversation-share @ 0.1.5
✓Node 引擎要求 ^20.0.0 || >=22.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 15:49:25

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    lib/client.js:408
    const res = await fetch(url, init);
  • 发起网络请求
    lib/client.js:684
    cssText: await (await fetch(url)).text()
  • 发起网络请求
    lib/client.js:2398
    const blob = await (await fetch(dataUrl)).blob();
  • 写入剪贴板
    lib/client.js:2399
    await clipboard.write([new ItemClass({ "image/png": blob })]);
  • 发起网络请求
    src/client/modal.ts:129
    const blob = await (await fetch(dataUrl)).blob()
  • 写入剪贴板
    src/client/modal.ts:130
    await clipboard.write([new ItemClass({ 'image/png': blob })])
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 分享任意段落对话

README

由 DeepSeek 最新模型翻译生成
dsh-conversation-share — DSH 对话分享截图插件 安装: dsh plugin --profile web add github:omdsh-dev/dsh-conversation-share 把 DeepSeek Harness 对话流中选中的一段,渲染成带品牌尾部的 PNG 长图分享出去。 为什么需要它 对话历史活在 DSH Web UI 里,分享其中有意义的一段通常靠手动拼截图——裁剪、错位、没有品牌和上下文。这个插件让你用两个可拖动、带磁性吸附的范围标记,精确选中一段对话,渲染成一张带 DeepSeek Harness 品牌尾部的精致 PNG 长图。 截图 功能 - 右上角 Session log 按钮左侧的分享胶囊(与 log 同款样式,点击后激活为蓝色高亮,[取消][确认] 在分享左侧展开) - 两个可拖动的范围标记把手(横向标签:「从这里开始」/「到这里结束」),支持磁性吸附 - 吸附点 = 语义消息行 + markdown 块(p/pre/ul/li/table/标题)+ 视觉盒子(代码块/卡片)+ 内容级按钮(产物文件 chip)+ 段落内部每一行文本 - 开始端吸元素顶边,结束端吸元素底边;两个把手不可交叉 - 吸附提示 = 淡蓝半透明圆角矩形填充(扁平风格)
展开完整文档(README 剩余 1 节)
dsh-conversation-share — DSH 对话分享截图插件

安装: dsh plugin --profile web add github:omdsh-dev/dsh-conversation-share

把 DeepSeek Harness 对话流中选中的一段,渲染成带品牌尾部的 PNG 长图分享出去。

为什么需要它

对话历史活在 DSH Web UI 里,分享其中有意义的一段通常靠手动拼截图——裁剪、错位、没有品牌和上下文。这个插件让你用两个可拖动、带磁性吸附的范围标记,精确选中一段对话,渲染成一张带 DeepSeek Harness 品牌尾部的精致 PNG 长图。

截图

功能

- 右上角 Session log 按钮左侧的分享胶囊(与 log 同款样式,点击后激活为蓝色高亮,[取消][确认] 在分享左侧展开)
- 两个可拖动的范围标记把手(横向标签:「从这里开始」/「到这里结束」),支持磁性吸附
- 吸附点 = 语义消息行 + markdown 块(p/pre/ul/li/table/标题)+ 视觉盒子(代码块/卡片)+ 内容级按钮(产物文件 chip)+ 段落内部每一行文本
- 开始端吸元素顶边,结束端吸元素底边;两个把手不可交叉
- 吸附提示 = 淡蓝半透明圆角矩形填充(扁平风格)
- 滚动模型:视口内把手 1:1 跟手不滚屏;指针进入顶部/底部边缘区(64px)才带动页面滚动(穿透深度钳制、帧率无关),离开即停;点按不滚(需真实拖动 ≥8px)
- 截图:40pt 主题底色留白(四周对称)+ 底部 DeepSeek Harness 品牌图标(含 BETA 徽标文字);超长内容分块渲染拼接,绕过 canvas 高度上限
- 预览弹窗:图片宽度自适应、纵向滚动查看、下载 PNG、复制图片

使用

1. 点击右上角 Session log 按钮左侧的分享胶囊,激活(蓝色高亮),[取消][确认] 出现在左侧
2. 拖动两个范围标记选中对话区间——它们会吸附到消息行、markdown 块和行级文本;开始端吸顶边、结束端吸底边
3. 点确认渲染选区为 PNG 长图(超长内容自动分块拼接)
4. 在预览弹窗里查看结果:下载 PNG 或复制图片到剪贴板

安装

用标准的 dsh plugin 命令安装到 web profile(无需改源码、无需手动编辑 package.json):

dsh plugin --profile web add github:omdsh-dev/dsh-conversation-share

或指定分支/提交
dsh plugin --profile web add github:omdsh-dev/dsh-conversation-share#main

或从本地 checkout 安装(开发调试,改完重新构建即生效)
dsh plugin --profile web add /path/to/your/dsh-conversation-share

命令内部 = 在 profile 目录执行 pnpm add <spec> + 自动把声明了 dsh.bundle 的包追加进 dsh.profile.bundles。仓库里带了构建产物(lib/),消费方安装无需构建。

安装后重启 web,浏览器硬刷新(Cmd+Shift+R)——旧 tab 不会加载新 bundle。

热安装(免重启)

dsh plugin add 会把 bundle 追加进 dsh.profile.bundles,而该列表在启动时一次性组合,所以要重启 web。想在不重启的 dsh web 里加载插件,就注册到 profile 自己的 cordis.patch.yml(用户 patch 层)——dsh web 会在运行时热重载这一层:

cd "$DSH_HOME/profiles/web" # 通常是 ~/.dsh/profiles/web
pnpm add dsh-conversation-share@latest # 装进 profile;不要动 dsh.profile.bundles

再把插件写进这个会被热重载的用户 patch 层——追加到 $DSH_HOME/profiles/web/cordis.patch.yml:

- insert:
- id: conversation-share
name: 'dsh-conversation-share'

保存后,运行中的 dsh web 会重新应用用户 patch 层并挂载该插件——无需重启。也可以直接用仓库里的一键脚本:

node scripts/install-hot.mjs --profile web --spec dsh-conversation-share@latest

注意:

- 不要对同一个包再跑 dsh plugin add——同一个 id 重复 insert 会导致插件被加载两遍。
- 全新客户端 bundle 仍需要硬刷新一次才能出现;HMR 重载链只热替换已在名录里的 bundle,新加入的条目要在重连时才刷新 graph。

升级

dsh plugin --profile web update github:omdsh-dev/dsh-conversation-share

本地路径安装则对替换后的 checkout 重新执行 add,然后重启 web 并硬刷新。

卸载

dsh plugin --profile web remove dsh-conversation-share

命令内部 = 在 profile 目录执行 pnpm remove <pkg> + 自动把它从 dsh.profile.bundles 移除。卸载后重启 web 并硬刷新浏览器。

故障排查

| 症状 | 解决 |
| 分享胶囊没出现 | 插件要重启 web + 硬刷新后才加载;用 dsh --profile web --dump-config | grep conversation-share 确认 bundle 行在 profile 里 |
| 把手不能交叉或吸附异常 | 这是设计使然——开始端吸顶边、结束端吸底边、不可交叉;拖过元素可切换吸附的是哪条边 |
| 拖动时页面滚动 | 只有指针进入上下 64px 边缘区才滚动;在视口内拖动是 1:1 跟手不滚屏 |
| 确认没反应 / 图片空白 | 确认选区至少覆盖一条消息;超长内容分块拼接需要一点时间 |
| 复制图片剪贴板里没有 | 浏览器可能禁止了剪贴板图片写入;改用下载 PNG |

目录结构

dsh-conversation-share/
├── src/
│ ├── index.ts # 插件 host 半部(no-op) │ ├── client/ # 浏览器半部(client bundle 入口 src/client/index.ts) │ │ ├── index.ts # apply(ctx):挂载分享流程 │ │ ├── controller.ts # 分享按钮/取消确认/模式切换/截图编排 │ │ ├── markers.ts # 范围标记把手(吸附、滚动、状态机) │ │ ├── snap-targets.ts # 吸附目标收集(行/块/行级文本/内容按钮 + 位置去重) │ │ ├── capture.ts # 截图管线(分块、裁剪、拼接、品牌尾部) │ │ ├── brand.ts # 品牌 SVG 克隆(var() 烘焙 + clip-path 中和) │ │ ├── modal.ts # 预览弹窗 + 下载/复制 │ │ └── dom.ts / theme.ts / icons.ts / toast.ts │ └── vendor/html-to-image/ # 内嵌的 html-to-image 1.11.13(MIT,见其 LICENSE) ├── scripts/build.mjs # 构建脚本(链接 DSH checkout 依赖 → tsc → tsdown) ├── lib/ # 构建产物(client.js 为浏览器 bundle,随仓库提交) ├── package.json # dsh.bundle + dsh.client 声明 ├── cordis.patch.yml # bundle patch(插入 conversation-share 插件) └── tsconfig.json / tsdown.config.mjs

构建

需要一份 DSH checkout(官方仓库或快照目录均可):

DSH_CHECKOUT=/path/to/dsh-checkout node scripts/build.mjs
或通过 pnpm:
DSH_CHECKOUT=/path/to/dsh-checkout pnpm run build

脚本会临时把 DSH checkout 的 node_modules 软链到本目录(构建结束自动清理),依次执行 tsc(类型检查)和 tsdown(产出 lib/index.js + lib/client.js)。

开发与验证

pnpm run check # tsc --noEmit
DSH_CHECKOUT=/path/to/dsh-checkout pnpm run build # -> lib/(已提交)

lib/ 已提交,消费方安装无需构建。改动分享流程(把手、吸附、截图、预览)时应在真实 web profile 里验证,并把构建产物随同一改动提交。

发布

1. 确保构建产物是最新的:

DSH_CHECKOUT=/path/to/dsh-checkout node scripts/build.mjs

2. 升版本号、更新 CHANGELOG.md、提交推送 main 并打 tag:

git add . && git commit -m "release v0.1.x" && git push origin main
git tag v0.1.x && git push origin v0.1.x

社区与关于

- 可复现的 bug、聚焦的功能请求和使用问题,走 GitHub Issues。
- 提变更前先读 CONTRIBUTING.md;安全问题通过 SECURITY.md 私有上报。
- 版本与兼容性说明见 CHANGELOG.md。

License

BSD-3-Clause(vendored html-to-image 为 MIT,见 src/vendor/html-to-image/LICENSE)。
预览分享卡片长什么样 ↓bill9109/dsh-conversation-share
分享 · DeepSeek Harness Hub
bill9109/dsh-conversation-share

分享任意段落的 DSH 对话

这是你的仓库?认领条目

回到顶部