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
Introduction
中文 · English
dsh-reference-render
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.

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
- Frozen contracts: contracts/ — syntax, descriptor (+schema), render hook, interaction events, contribution & decorations, COMPATIBILITY
- Skill for agents/plugins: skill/dsh-reference-rendering — prompt-only emission rules, or full plugin integration
- Examples: conversation-demo (wiring) · sidebar-demo (content claimant) · minimal / contribution (source walkthroughs)
- Reproduce the screenshots locally: docs/local-demo.md
The renderer owns no business truth (View ≠ Truth): unclaimed references stay plain chips, and removing the plugin leaves the host unchanged.