Bundle
dsh-session-topics
Session topic titles for DeepSeek Harness: LLM-generated titles for sessions stuck on the prompt-excerpt fallback, retry on every turn end, plus a /topics-size endpoint for the hover-card size patch (out-of-tree plugin)
- Source
- SipengXie2024
- License
- MIT
- Updated
- Updated 7 days ago
Readme
# dsh-session-topics [中文文档](./README.zh.md) Session topic titles for [DeepSeek Harness](https://github.com/deepseek-ai/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 ```powershell 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: ```powershell 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.
Install
dsh plugin --profile web add github:SipengXie2024/dsh-session-topics
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-session-topics from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.