dsh-auto-chat-titles
开发工具 活跃维护

dsh-auto-chat-titles

leonardoxr/dsh-auto-chat-titles

支持自定义规则批量生成语义清晰的聊天会话标题,可灵活适配不同对话场景的命名需求,无需手动编辑,配置门槛低,开箱即用,简化会话整理流程。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
3
Open Issues
TypeScript
主要语言
MIT
开源协议
163 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:leonardoxr/dsh-auto-chat-titles
git clone https://github.com/leonardoxr/dsh-auto-chat-titles.git
git clone git@github.com:leonardoxr/dsh-auto-chat-titles.git
README.md main

dsh-auto-chat-titles

English | 简体中文

Semantic, configurable chat titles for DeepSeek Harness.

The plugin keeps DSH's durable session-title service and replaces only its built-in provider policy. It adds:

  • semantic LLM titles instead of relying on the first-words fallback;
  • a dedicated title-model selector in Settings → Plugins;
  • Regenerate title in the conversation header;
  • regeneration from recent human-message context;
  • live title length, context, byte, token, and timeout settings;
  • the existing DSH cancellation, normalization, persistence, provenance, pinning, and projection behavior.

Requirements

  • DeepSeek Harness 0.1.1-rc.2 or newer compatible 0.1.x prerelease
  • Node.js 22+
  • Web profile with the standard session-title, settings, commands, and client runtime bundles

Install

Directly from GitHub:

dsh plugin --profile web add github:leonardoxr/dsh-auto-chat-titles

From a checkout while developing:

npm install
npm run check
dsh plugin --profile web add "C:/absolute/path/to/dsh-auto-chat-titles"

Host output is hot-reloaded via the active watcher. Browser client changes require rebuilding the client artifacts and refreshing the existing DSH Web page.

How it composes

The bundled cordis.patch.yml disables only the base session-title-llm row and inserts this plugin. It intentionally leaves the core session-title service enabled. DSH supports one asynchronous title provider at a time, so enabling both provider rows is an error.

Automatic generation uses the first eligible human message. Clicking Regenerate title calls the same durable service explicitly and uses up to the configured number of recent human messages. Manual rename continues to pin the title; explicit regeneration deliberately unpins and replaces it.

Settings

Open Settings → Plugins → Automatic chat titles.

  • Title model — inherit the exact conversation route or choose any model advertised by the host catalog.
  • Title length — target words for non-CJK languages.
  • Regeneration context — number of recent human messages included in manual regeneration.
  • Advanced generation limits — CJK length, framed input bytes, output tokens, and timeout.

The settings are stored in $DSH_HOME/settings.yaml under auto-chat-titles when the standard file settings provider is mounted.

Commands

The UI action invokes /regenerate-title. It can also be entered directly in the composer. The button confirms command admission; the conversation activity reports the eventual generation result. Command lifecycle events remain in the session audit log, and the generated title is persisted as DSH's standard session/title event.

Development

npm install
npm run typecheck
npm test
npm run build
node scripts/preflight.mjs
npm pack --dry-run

The host half compiles to lib/. The browser half compiles to the DSH lazy-CJS module in client/client.js.

License

MIT