← Back to home@popingalex

dsh-reference-render

域中立的结构化引用渲染:行内 chip、悬浮预览、打开官方右侧栏。| Domain-neutral structured reference chips, hover preview, and host sidebar open for DeepSeek Harness.

Stars
0
Language
TypeScript
Created
Oct 5, 2026
Updated
Oct 6, 2026
GitHub repo

Introduction

中文 · English

dsh-reference-render

License: MIT DSH 0.2.1-alpha.1

Domain-neutral structured reference rendering for DeepSeek Harness (DSH) conversations: [label](dsh-ref:<kind>:<id>) becomes an inline chip — dot/bar/icon decorations on either side, hover preview, click-to-open. The renderer understands no business domain; content comes from other plugins through frozen contracts.

Eight references: dot and bar styles, icons on both sides, hover preview and right sidebar

Install

npm registry publication is pending; install from this repository in the meantime:

git clone https://github.com/popingalex/dsh-reference-render.git
cd dsh-reference-render && pnpm install && pnpm build && npm pack
dsh plugin --profile web add ./dsh-reference-render-0.1.0.tgz

Once published: dsh plugin --profile web add dsh-reference-render@0.1.0.

Tested on DSH 0.2.1-alpha.1 only — see COMPATIBILITY.md and docs/install.md (demo bundles, troubleshooting).

Usage

Emit — a plain GFM link becomes a chip; without the plugin it degrades to an ordinary link:

Build completed. See [RP-42](dsh-ref:report:RP-42) for details.

Decorate — a content plugin claims a reference and supplies dot/bar/icon decorations for either side, up to 3 per side. An icon without a color follows the text color; mode: 'image' renders an original-color <img>. Unclaimed references stay plain chips — hover and click are no-ops.

Contribute — two chain slots and one serial event:

ctx.effect(() => ctx.slots.inject('reference.hover.content', () =>
  ctx.slots.register({ name: 'reference.hover.content',
    select: (owner) => isOurs(owner.descriptor) ? {} : null }, MyHoverCard)))

ctx.on('reference/open', ({ descriptor }) =>
  isOurs(descriptor) ? (ctx.sidebarRight.openResource(descriptor.uri), { handled: true }) : undefined)

Reference

The renderer owns no business truth (View ≠ Truth): unclaimed references stay plain chips, and removing the plugin leaves the host unchanged.

License

MIT