Skip to content

Releases

v1.0.9 — the icon's gradient on the border and the button

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 08:46

The border and the primary button now carry the colour of the plugin's own logo mark.

  • The comet uses the icon's four gradient stops: #ec4899 → #8b5cf6 → #4d6bfe → #22d3ee, and its glow leans to the violet stop.
  • The send button paints the same gradient.
  • The previous black came from DSH's --dsw-alias-brand-primary, which is the black/white contrast token (bluish-1000 in light, bluish-50 in dark), not the logo blue.

Update: Plugins → Add plugin → Tarball, pick the attached file, then restart DSH.

v1.0.7 — comet border, dismiss on outside click

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 07:31

The floating card now has the chosen comet border and gets out of the way.

  • Border: one SVG rounded rectangle with a single lit dash travelling the edge (stroke-dashoffset). No static outline and no header divider — the card keeps only its elevation shadow.
  • The panel gained an inner clipping layer so the comet's glow can spill past the card edge.
  • Dismissal: the side chat closes when you point at anything outside it (another conversation, a plugin page, the composer), press Esc, or navigate; it no longer stays pinned over the app.
  • The comet stops when prefers-reduced-motion is set.

Update: Plugins → Add plugin → Tarball, pick the attached file, then restart DSH.

v1.0.6 — follow-ups actually work

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 07:22

Two defects made every follow-up fail while claiming the model only reasoned:

  • The stored assistant turn had no source/replay metadata. The runtime's per-adapter replay filter reads message.source.replayState, so the second request threw before dispatch — the model never saw the follow-up.
  • The host read finish.kind, but the stream protocol carries finish.reason. Adapter failures were therefore swallowed and re-labelled EMPTY_RESPONSE, hiding the real error.

Now replies are assembled with BlockAssembler and stored via createAssistantMessage with reasoning blocks and replayState (same as the agent loop), finish reasons come from assembler.finish, a refused reasoning level is retried once without it, and a JSONL diagnostic is written on failure.

Update: Plugins → Add plugin → Tarball, pick the attached file, then restart DSH.

v1.0.3 — native chrome

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 04:13

The side conversation now looks like part of DSH instead of a floating card.

  • Full-height right sheet on the app background with the same 0.5px divider as the right column; no dropshadow, no rounded floating card.
  • Quote, question bubble, composer, send button, hover and focus states all use DSH theme tokens (light and dark follow the app).
  • Slide-in panel and animated thinking dots; both respect prefers-reduced-motion.
  • A Retry action on failures, plus a localized "model only reasoned" message (the host now also asks for the cheapest reasoning effort and retries once with a larger budget).

Existing installs: update from this release or reinstall from GitHub. Restart DSH after updating so the new client bundle loads.

v1.0.2 — sparkles icon

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 03:56

UI polish:

  • The selection chip no longer uses an emoji: it renders the Lucide sparkles glyph inline, colored with the DSH brand token.
  • The plugin icon is now a matching brand tile with the same white sparkles, so the Plugins page and the chip share one visual language.
  • Sparkles glyph: Lucide (ISC License).

Full Changelog: v1.0.1...v1.0.2

v1.0.1 — fix: empty answers, locale, inline Markdown

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 03:53

Fixes three issues found in real use:

  • Empty answers on follow-ups. Thinking tokens share the output budget with the answer. Explanations now ask for the model's lowest reasoning level (off when available), use a 2048-token budget, and retry once with double budget if the first attempt produced only reasoning. Partial answers are kept instead of being discarded.
  • Duplicated error rows. A failed turn no longer renders its error twice (turn row + global row).
  • UI language. The panel now follows the language DSH applies to the page instead of the OS locale, so a Chinese app gets Chinese copy.
  • Inline Markdown. Answers render bold and instead of showing the raw markers. Headings and lists stay literal.

Full Changelog: v1.0.0...v1.0.1

v1.0.0 — Quick Explain

Choose a tag to compare

@JujiuYey JujiuYey released this 21 Oct 03:47

First public release.

  • Select 1–1200 characters in any chat message → a 💡 Explain chip appears next to the selection.
  • A temporary side conversation explains the fragment using the surrounding paragraph as context; follow-ups stay in the panel.
  • Nothing is written to the main session: no events, no messages, no context change.
  • Model calls go through DSH's own LLM service with your configured default model.
  • Side chats live in host memory only and are dropped on close (or after 30 minutes idle).
  • English and Chinese UI, light and dark themes via DSH theme tokens.

Install: DSH Desktop → Plugins → Add plugin → GitHub JujiuYey/dsh-quick-explain, or attach the tarball below.