前言¶
在 DeepSeek Harness(DSH)里开很多会话、挂多个工作区时,侧栏标题往往是默认名或随手起的词,事后很难从列表里认出「哪一条在改哪个问题」。手动改名可以,但要自己概括内容,重复劳动多。社区插件 dsh-smart-namer(维护者 Blueteemo)走另一条路:只读会话或工作区已有的标题、项目信息、少量用户发言等文本,让模型给出最多 3 个候选短名,选中其一即可改名;另提供 /rename 命令和 Agent 工具 rename_target。插件只使用 DSH 公开接口,不修改宿主安装目录,属于客户端类插件。
这是什么¶
dsh-smart-namer 在 DSH 侧栏增加「智能命名」入口:模型根据对象自身内容生成候选名,用户点选或走命令完成重命名。npm 包当前版本为 1.1.0(MIT),可通过 npm、GitHub、本地路径或 release 包安装。目录页:skillhub.cn/plugins/Blueteemo/dsh-smart-namer;源码:github.com/Blueteemo/dsh-smart-namer。
核心功能¶
侧栏:会话与工作区¶
- 会话:在侧栏会话行「…」菜单中选「智能重命名」。弹窗先显示「正在想…」,随后最多 3 个名字;选中即改名并 toast「已改为 X」。Esc 或点遮罩关闭,不改名。
- 工作区:在侧栏面板列表「更多」中选「智能重命名工作区」。弹窗顶部有工作区下拉(默认当前会话所在工作区,其余按最近活动排序);切换下拉会重新拉候选,后续与会话相同。
/rename 命令¶
在输入框输入 /rename,从命令菜单选择 rename:
- 无参数:调用模型,取第一个候选改名,并回复「已改为「X」。备选:A、B」;失败时按原因说明(响应太慢 / 模型服务异常 / 没想出更好的),不改名。
- 带偏好,例如
/rename 突出工具链:后面文字作为偏好提示传给模型,仍生成 3 个候选。
命令执行沿用 20 秒超时,不启动 Agent 轮次。
命名素材与模型¶
插件不读工具输出、文件内容和完整日志。发给模型的素材如下:
| 对象 | 素材 |
|---|---|
| 会话 | 现有标题、所属项目、项目代号、按阶段均匀采样的 5 条用户发言 |
| 工作区 | 解码后的文件夹名、代号、最近 5 个会话的标题、最近一条用户发言 |
会话命名默认跟随该会话最近一次实际运行的模型;工作区没有独立模型,用 profile 默认。两者均可在插件配置页修改。一次调用超时 20 秒,不向用户流式输出。
自定义提示词¶
设置 → 插件 → dsh-smart-namer → Configure 中有「会话命名提示词」「工作区命名提示词」。留空则用内置模板(占位符即模板本身);保存后立即生效,写入当前 profile 目录的 dsh-smart-namer.prompts.json。
占位符:
| 对象 | 占位符 |
|---|---|
| 会话 | {project} {codes} {title} {user_samples} {last_assistant_text} |
| 工作区 | {folder} {codes} {workspace_path} {titles} {first_user_message} |
Agent 工具 rename_target¶
直接改名,不调用模型:
{ "kind": "session", "id": "session-...", "title": "新名字" }
kind 为 session 或 workspace。会话走 sessionController.rename(必要时先恢复会话);工作区走 workspaceController.rename(校验非空和重名)。
安装与启用¶
推荐从 npm 安装(预构建,免构建授权):
dsh plugin --profile desktop add dsh-smart-namer
也可从 GitHub 最新源码:
dsh plugin --profile desktop add github:Blueteemo/dsh-smart-namer
本地开发:
dsh plugin --profile desktop add file:/absolute/path/to/dsh-smart-namer
或使用 release 预构建包:
dsh plugin --profile desktop add https://github.com/Blueteemo/dsh-smart-namer/releases/latest/download/dsh-smart-namer.tgz
安装后若侧栏没有入口,需完全退出 App(Cmd+Q)再打开。客户端 bundle 有 immutable 缓存和宿主内存 memoize,仅刷新页面(含硬刷新)不会重新加载客户端代码。
典型用法小结¶
- 日常整理侧栏:对单个会话用菜单「智能重命名」,对工作区用「智能重命名工作区」并在下拉里切换目标。
- 在对话里快速改名:输入
/rename或/rename+ 偏好说明,由命令直接取第一个候选。 - 在 Agent 流程里确定性改名:调用
rename_target,传入kind、id、title。
调试命名效果时,可只改 Configure 里的提示词,对同一会话反复试,无需改插件代码。
适用场景与注意¶
适合长期在 DSH 中维护多会话、多工作区、希望标题能反映内容摘要的开发者。命名质量取决于所选模型与提示词;超时或上游异常时会明确失败原因,不会 silent 改掉原名。
DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。插件以当前 dsh 进程权限运行,安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。
结尾¶
dsh-smart-namer 把「读已有元数据 → 模型出 3 个短名 → 一点或一条命令改名」接到 DSH 侧栏与命令体系里,并留出提示词与 rename_target 供定制和自动化。需要安装说明与截图时可查阅仓库 README;插件索引见 SkillHub 目录页,源码与 issue 见 GitHub。