DeepSeek Harness plugin

dsh-rename

Slash command to rename the current DeepSeek Harness session, or let the model pick a title.

Jump to install

Source facts

Repository
lmst2/dsh-rename
Latest update
Aug 14, 2026
Category
Memory
GitHub stars
2
Format
bundle
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/lmst2/dsh-rename
Plugin: dsh-rename
Author: lmst2

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-rename

![test](https://github.com/lmst2/dsh-rename/actions/workflows/test.yml) ![license](LICENSE)

DeepSeek Harness 的会话重命名插件:给当前对话补上一条 /rename 斜杠命令。带上名字直接改;不带名字时,让模型读一遍当前对话,自己总结一个标题并重命名。

为什么只做命令,不做自动命名

DSH 本身已经内置了自动命名:基础组合层挂载了 session-title-first-prompt-llm,在首条 prompt 进入后由 ctx.sessionTitle 自动生成会话标题。这个能力不需要重复实现,本插件只补 DSH 缺的那一块——你随时一键让它重新想个名字

安装

前置要求:已安装 DeepSeek Harnessdsh 命令可用);Node.js ^22.19>=24;pnpm 11。

从 GitHub 安装:

dsh plugin --profile web add github:lmst2/dsh-rename

dsh plugin 会把插件装进 web profile,并按包内 dsh.bundle 声明把它加入组合层。重启 DSH 服务后,/rename 会出现在斜杠命令菜单里。

> 重启生效:安装完成后,重启正在运行的 DeepSeek Harness Web 服务并刷新页面。

安装完可以用 dsh plugin --profile web list 确认插件在列表里。

其他安装方式

本地源码开发(改完 pnpm build 即时生效,host 侧改动需重启服务):

git clone https://github.com/lmst2/dsh-rename.git
cd dsh-rename
pnpm install
pnpm build
dsh plugin --profile web add "link:$(pwd)"

指定 GitHub 分支

dsh plugin --profile web add github:lmst2/dsh-rename#main

使用

直接在当前会话输入:

/rename

模型会读取当前会话的对话记录(直接用户消息 + 助手回复),发一次 purpose: session-title 的辅助模型请求,生成一个简洁标题并重命名当前会话。

带上名字则直接重命名,不走模型:

/rename 重构会话标题服务

两种方式都通过 DSH 内置的 ctx.sessionTitle.rename 落盘为 session/title 事件(source: user),因此:

  • 标题会实时反映到侧边栏/会话列表;
  • 该标题会被 pin 住,后续内置自动命名不会覆盖它;
  • 本插件不写任何自定义 session 事件,卸载插件后历史会话仍能被任意 DSH 构建正常读取。

配置

插件行在 cordis.patch.yml 中不传配置即使用默认值。需要覆盖时,在 profile 的 cordis.patch.yml 里定位 dsh-rename 行:

- id: dsh-rename
  config:
    targetWords: 6
    targetCjkCharacters: 12
    maxInputBytes: 32768
    maxOutputTokens: 64
    maxTitleBytes: 80
    timeoutMs: 60000
    provider: deepseek-official
    model: deepseek-v4-flash
字段默认值说明
targetWords6非 CJK 语言标题的目标单词数
targetCjkCharacters12中/日/韩标题的目标字符数
maxInputBytes32768喂给标题模型的对话摘要最大 UTF-8 字节数
maxOutputTokens64辅助生成的最大输出 token 数
maxTitleBytes80接受标题的最大 UTF-8 字节数
timeoutMs60000辅助请求的端到端超时(毫秒)
provider / model不填可选显式模型路由;不填则使用会话最近一次 request/header 记录的路由

providermodel 必须成对出现;缺一个会在启动时直接报错(fail loud)。

工作原理

1. /rename@deepseek-ai/dsh-commands 的斜杠命令注册表分发,不进入模型上下文。 2. 显式名字直接调用 ctx.sessionTitle.rename。 3. 无名字时,插件从 session.events 收集直接用户消息和助手回复(跳过合成上下文、reasoning 和工具结果),按字节预算保留最新内容,然后通过 ctx.llm.stream 发一次 purpose: session-title 的辅助请求。 4. 模型输出经 normalizeSessionTitle 清理、按 maxTitleBytes 截断后,同样走 ctx.sessionTitle.rename 提交。 5. 命令注册是 effect:插件 fiber 卸载时 /rename 一并消失(运行时替换安全)。

开发

pnpm install     # 安装依赖
pnpm typecheck   # 严格类型检查
pnpm test        # vitest 单元测试
pnpm build       # tsc 输出 lib/types
pnpm verify      # typecheck + test + build + 发布冒烟检查

提交前请保证 pnpm verify 全绿。

文档

文档内容
[docs/usage.md](docs/usage.md)配置、命令语义、错误处理与已知限制
[AGENTS.md](AGENTS.md)仓库布局与开发约定

License

[MIT](LICENSE) © dsh-rename contributors