Back to catalog

SipengXie2024 /

dsh-session-topics

Verified

DeepSeek Harness plugin: LLM session titles that survive reasoning models (startup sweep + turn-end retry), plus a hover-card session-size readout

0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
READMESource: main@1b08a663

dsh-session-topics

中文文档

Session topic titles for DeepSeek Harness (dsh) — LLM-generated session titles that actually hold up, plus a hover-card size readout for the session list.

Why

dsh ships a title generator (session-title-first-prompt-llm), but it is one-shot, never retried, and its maxOutputTokens: 64 reliably loses to reasoning models — so sessions keep the deterministic "first words of your prompt" fallback titles. This plugin retries until every session gets a real topic title, like Claude Code and Codex do.

It never registers a title provider (the slot is sole-tenant); it appends session/title log events directly, which the title service folds like any other. User-renamed (pinned) titles are never touched.

Features

  • Startup sweep — 8s after boot, every persisted session still on a fallback title gets an LLM-generated title (current default model) written into its log. Live sessions go through Session.append; cold sessions through sessionPersistence.load + append.
  • Turn-end retry — on every agent running → idle, if that session's title is still the fallback, retitle it. Bundle-layer listeners cover all sessions.
  • GET /topics-size?id=<sessionId> — durable log byte size, feeding the hover-card patch below.
  • GET /topics-sweep — manually trigger a sweep and get per-session results as JSON (debugging).

Install

dsh plugin --profile web add .\dsh-session-topics-0.3.0.tgz   # tgz attached to the latest release
# restart dsh web

Reinstalling the same version is a no-op (pnpm dedupes by name+version) — bump the version before repacking.

Hover-card size patch (self-healing)

The session-list hover card belongs to the shipped dsh-client-ui-workspace bundle and exposes no plugin slot, so the size line is a source patch. Since 0.3.0 the plugin re-applies it automatically at every boot — including after dsh upgrades rematerialize the shared layer. No manual step. (Shared-layer files are pnpm store hardlinks, so the patch is written delete-then-rewrite.)

A manual entry point remains for machines without the plugin:

node scripts/patch-hover-size.mjs
  • Idempotent; exits loudly without touching anything if the anchors drift (new dsh version).
  • The size line stays hidden when this plugin is not running.

Verified

dsh 0.1.0-rc.6, web profile: 8 existing sessions retitled end-to-end (live append + cold persistence append), hover size served and rendered.

/ 5

No ratings yet

Community comments

No comments yet. Be the first to write one.