DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

@bill9109/dsh-conversation-share

Conversation Share

选择 DeepSeek Harness 对话中的一段内容,并将其分享为带品牌标识的 PNG 长图,支持拖动和磁吸对齐的范围标记。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:bill9109/dsh-conversation-share#f582d8ec88e5bbc2519da48554c659874b8e1ac9
README兼容性版本
Plugin screenshotPlugin screenshot

兼容性与来源证明

Conversation Share 以 @bill9109/dsh-conversation-share 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/21

版本

0.1.1stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
BSD-3-Clause
发布源
github
GitHub
★ 0
周下载
0
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Video Storyboarddsh-video-storyboard将视频转换为可引用的分镜图:每个镜头一帧,单元格大小根据剪辑密度调整(1/1 … 1/8),按行排列以尽量减少图片数量,并提供模型可引用的带时间戳索引和可覆盖的分级映射。See Nowdsh-see-now让 DSH 监看实时屏幕或摄像头画面:根据画面变化程度为每一帧评分,只保留重要的帧,并将它们整合到一张图像中。Video Skindsh-video-skinDSH 视频皮肤:一段短片循环铺成整个界面的聊天背景(无声、可调透明度),另一段做有声的开机动画(片尾交叉溶解进界面、点击画面随时跳过)。零依赖。Experimental Voice Input Bundle@deepseek-ai/dsh-experimental-voice-input-bundle实验性语音输入,使用本地 SenseVoice;首次使用时下载其运行时

README

dsh-conversation-share

Install: dsh plugin --profile web add github:bill9109/dsh-conversation-share

Render a selected range of a DeepSeek Harness conversation into a PNG long image with a branded footer, ready to share.

English | 中文

Why this exists

Conversation history lives inside the DSH Web UI, and sharing a meaningful part of it usually means screenshots spliced by hand — cropped, misaligned, with no brand or context. This plugin lets you pick an exact range of a conversation with two draggable, magnetically snapping markers and render it into a single polished PNG long image with a DeepSeek Harness branded footer.

Screenshots

image image

Features

  • Share capsule to the left of the Session log button in the top-right corner (same style as log; clicking activates a blue highlight, with [Cancel][Confirm] expanding to its left)
  • Two draggable range markers (horizontal labels: "Start here" / "End here") with magnetic snapping
    • Snap points = semantic message rows + markdown blocks (p/pre/ul/li/table/headings) + visual boxes (code blocks/cards) + content-level buttons (artifact file chips) + every text line inside paragraphs
    • The start handle snaps to an element's top edge, the end handle to its bottom edge; the two handles cannot cross
    • Snap hint = light blue translucent rounded-rect fill (flat style)
  • Scrolling model: handles follow the pointer 1:1 within the viewport without scrolling; only when the pointer enters the top/bottom edge zones (64px) does the page scroll (clamped penetration depth, frame-rate independent), stopping when it leaves; clicking does not scroll (a real drag of ≥8px is required)
  • Capture: 40pt theme-background padding (symmetric on all sides) + a DeepSeek Harness brand icon at the bottom (with the BETA badge text); extra-long content is rendered in chunks and stitched together to bypass the canvas height limit
  • Preview modal: image width adapts, vertical scroll to review, download PNG, copy image

Usage

  1. Click the share capsule next to the Session log button in the top-right corner; it activates (blue highlight) and the [Cancel][Confirm] controls appear
  2. Drag the two range markers to select the conversation range — they snap to message rows, markdown blocks, and line-level text; the start handle snaps to a top edge, the end handle to a bottom edge
  3. Click Confirm to render the selection into a PNG long image (extra-long content is chunked and stitched automatically)
  4. Review the result in the preview modal: download the PNG or copy the image to the clipboard

Install

Install into the web profile with the standard dsh plugin mechanism (no source changes, no manual package.json edits):

dsh plugin --profile web add github:bill9109/dsh-conversation-share

# Or pin a branch/commit
dsh plugin --profile web add github:bill9109/dsh-conversation-share#main

# Or install from a local checkout (development — rebuild and it takes effect)
dsh plugin --profile web add /path/to/your/dsh-conversation-share

Internally the command runs pnpm add <spec> in the profile directory and automatically appends packages that declare dsh.bundle to dsh.profile.bundles. The repository ships its build output (lib/), so no consumer-side build is needed.

After installing, restart web and hard-refresh the browser (Cmd+Shift+R) — old tabs do not load the new bundle.

Upgrade

dsh plugin --profile web update github:bill9109/dsh-conversation-share

For a local-path installation, run add again against the replacement checkout, then restart web and hard-refresh.

Uninstall

dsh plugin --profile web remove @bill9109/dsh-conversation-share

The command runs pnpm remove <pkg> in the profile directory and removes it from dsh.profile.bundles. After uninstalling, restart web and hard-refresh the browser.

Troubleshooting

SymptomResolution
Share capsule does not appearThe plugin only loads after restarting web and hard-refreshing the browser; verify the bundle row exists in the profile (`dsh --profile web --dump-config
Handles cannot cross or snap oddlyThat is by design — the start handle snaps to top edges, the end handle to bottom edges, and they cannot cross; drag past an element to flip which edge binds
The page scrolls while draggingScrolling only happens in the 64px top/bottom edge zones; drag within the viewport to move the handle 1:1 without scrolling
Confirm does nothing / blank imageEnsure the selection covers at least one message; the capture pipeline chunks and stitches extra-long content, so very long ranges may take a moment
Copied image is missing from the clipboardThe browser may have blocked clipboard image writes; use Download PNG instead

Directory structure

dsh-conversation-share/
├── src/
│   ├── index.ts              # host half of the plugin (no-op)
│   ├── client/               # browser half (client bundle entry src/client/index.ts)
│   │   ├── index.ts          # apply(ctx): mounts the share flow
│   │   ├── controller.ts     # share button / cancel-confirm / mode switching / capture orchestration
│   │   ├── markers.ts        # range marker handles (snapping, scrolling, state machine)
│   │   ├── snap-targets.ts   # snap-target collection (rows/blocks/line-level text/content buttons + position dedup)
│   │   ├── capture.ts        # capture pipeline (chunking, cropping, stitching, branded footer)
│   │   ├── brand.ts          # brand SVG clone (var() baking + clip-path neutralization)
│   │   ├── modal.ts          # preview modal + download/copy
│   │   └── dom.ts / theme.ts / icons.ts / toast.ts
│   └── vendor/html-to-image/ # vendored html-to-image 1.11.13 (MIT, see its LICENSE)
├── scripts/build.mjs         # build script (links DSH checkout deps → tsc → tsdown)
├── lib/                      # build output (client.js is the browser bundle, committed)
├── package.json              # dsh.bundle + dsh.client declarations
├── cordis.patch.yml          # bundle patch (inserts the conversation-share plugin)
└── tsconfig.json / tsdown.config.mjs

Build

Requires a DSH checkout (the official repository or a snapshot directory both work):

DSH_CHECKOUT=/path/to/dsh-checkout node scripts/build.mjs
# or via pnpm:
DSH_CHECKOUT=/path/to/dsh-checkout pnpm run build

The script temporarily symlinks the DSH checkout's node_modules into this directory (cleaned up automatically when the build ends) and runs tsc (type check) then tsdown (producing lib/index.js + lib/client.js).

Development and verification

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

lib/ is committed so consumers install without building. Changes to the share flow (markers, snapping, capture, preview) should be exercised against a live web profile and the built bundle committed in the same change.

Release

  1. Make sure the build output is up to date:

    DSH_CHECKOUT=/path/to/dsh-checkout node scripts/build.mjs
    
  2. Bump the version, update CHANGELOG.md, commit and push to main, and tag the release:

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

Community and About

  • Use GitHub Issues for reproducible bugs, focused feature requests, and usage questions.
  • Read CONTRIBUTING.md before proposing changes; report vulnerabilities privately via SECURITY.md.
  • Follow releases and compatibility notes in CHANGELOG.md.

License

BSD-3-Clause (the vendored html-to-image is MIT, see src/vendor/html-to-image/LICENSE).