会话标题命名 · Title Oil
为 DeepSeek Harness 自动整理会话名称,采用 oil-codex-title 的 「类别 emoji + 对象|目标」 风格,方便在侧边栏区分正在做的事情。
版本 0.5.0 · MIT · 已在 macOS / DSH Desktop 0.2.0-rc.2 验证。
这是独立插件,可以单独安装;会话花费与余额 是另一个可选插件。
命名效果
以下为格式示例,实际结果由所选模型生成:
| 会话内容 | 示例标题 |
|---|---|
| 排查支付回调重复发货 | 🧩 支付回调|重复发货修复 |
| 为图像模型评测策划视频 | 🎬 图像模型评测|视频策划 |
| 调整登录表单的布局 | 🎨 登录表单|布局优化 |
| 比较数据库方案 | 🔎 数据库|方案比较 |
- 持续更新:每条用户消息后,宿主在后台重新评估标题,不打断正文回复。
- 参考实际工作:读取最近的用户消息,以及上一轮 assistant 回复摘要与工具名称。
- 保持稳定:当前标题仍准确时保持原样;默认跳过「嗯、好、继续」等纯确认消息。
- 手动命名优先:在 DSH 中手动改名后,由宿主固定标题,自动命名不再覆盖。
- 规则可配置:模型、参考消息数、中英文长度和类别都可在应用内调整,保存后生效。
安装
桌面版:从插件管理器安装(推荐)
打开 DSH 左侧的 插件 → 添加插件。
在安装目标中粘贴:
github:ygnstudio/dsh-plugin-title-oil#v0.5.0点击安装,完成后选择 立即启用。
若管理器提示需要重启,完全退出并重新打开 DSH。打开 插件 → 会话标题命名 检查设置页。
源码已是可运行的 JavaScript,没有构建步骤或安装脚本。当前通过 GitHub 分发,尚未发布到 npm;无需手写 profile 配置。
DSH 同时只能使用一个自动标题提供者。此插件的 bundle 会关闭内置的 session-title-llm 并注册自身;已有其他自动命名插件时,请先在管理器中停用冲突项。
使用 dsh web 的用户
只对独立的 web profile 使用以下命令;桌面版优先使用插件管理器:
dsh plugin --profile web add github:ygnstudio/dsh-plugin-title-oil#v0.5.0
安装后重启已有的 dsh web 进程并刷新页面。不同 profile 独立安装;这里的 CLI 语法已对照官方实现,Web 版没有完成与桌面版同等的运行验证。
从本地源码安装
git clone --branch v0.5.0 https://github.com/ygnstudio/dsh-plugin-title-oil.git
cd dsh-plugin-title-oil
pwd
将 pwd 输出的绝对目录填入 插件 → 添加插件。宿主提供 DSH 依赖,不需要另外构建。保留该目录,因为本地目录安装可能链接到源码。
开始使用
- 打开 插件 → 会话标题命名,或 设置 → 标题命名。
- 选择用于命名的供应商和模型。默认路由为
deepseek-account / deepseek-flash;如果当前宿主没有此模型,从下拉列表改选可用模型,或选择「跟随会话路由」。 - 调整标题规则与分类,点击 保存修改。
- 新建会话并发送有明确内容的消息,观察侧边栏标题更新。
- 想保留某个标题时,直接在 DSH 中手动重命名会话。
自动命名会产生独立的模型调用。 收费、套餐额度与共享规则由所选供应商决定;跟随会话路由也不代表免计费。命名上下文会发送给所选供应商,包含最近消息、assistant 摘要及工具名称。费用插件的主会话估算不包含这类辅助调用。
设置项
| 设置 | 默认值 | 说明 |
|---|---|---|
| 命名供应商 / 模型 | deepseek-account / deepseek-flash |
可选择已配置路由,或两项一起留空以跟随会话 |
| 参考消息 | 5 条 | 最近的用户消息数,范围 1–20 |
| 中文长度 | 6 字 | 「对象」「目标」每段的期望上限,范围 1–30 |
| 英文长度 | 4 词 | 每段的期望词数,范围 1–20 |
| 跳过纯确认消息 | 开启 | 「嗯、好、继续」等不触发改名 |
| 分类规则 | 5 类 | emoji、名称与描述;删除所有行并保存后恢复内置类别 |
| 输入上限(高级) | 8192 字节 | UTF-8 上下文预算,范围 1024–65536 |
| 输出上限(高级) | 64 tokens | 命名模型最大输出,范围 1–256 |
| 超时(高级) | 30 秒 | 范围 1–120 秒;长输入会优先保留最新意图 |
长度是提示词目标,模型不保证逐字满足。内置类别为 🎬 内容制作、🧩 工具开发、🔎 对比调研、🎨 页面设计、📝 方法整理。
保存失败时保留草稿;并发冲突时可使用「重新载入并替换草稿」读取最新设置。恢复默认会清除用户覆盖,回到 bundle 的默认配置,不需要重启。
数据与兼容范围
配置默认保存在 ~/.dsh/plugin-data/title-oil/config.overrides.json。设置了 DSH_HOME 时使用其下的 plugin-data/title-oil/。目录 0700、配置 0600,采用原子写入。
首次加载会复制旧源码目录中的覆盖配置并保留原件。配置不包含独立保存的模型 API key;模型调用使用 DSH 中已有的供应商配置。
当前验证基线是 macOS / DSH Desktop 0.2.0-rc.2。其他操作系统、宿主版本及模型服务尚未全面验证。插件只有 Web/桌面设置界面,不承诺 TUI 可用。
更新与卸载
- 更新:备份上述数据目录,按插件管理器提示更换到新版本 tag;若要求先卸载再安装,配置目录会保留。
- 停用或卸载:在插件管理器关闭开关或选择卸载。移除本 bundle 后,内置标题提供者应随其覆盖层解除而恢复;若还有其他配置覆盖,检查标题提供者启用状态。
- Web CLI:
dsh plugin --profile web remove dsh-plugin-title-oil,然后重启对应进程。 - 卸载不会删除用户配置,也不会批量改动已有会话标题。
常见问题
| 现象 | 处理 |
|---|---|
| 标题没变化 | 检查是否手动命名、最新消息是否为纯确认;确认插件启用及命名模型可用 |
| 模型下拉加载失败 | 先确认 DSH 中相同供应商能正常使用;保存的模型会保留,可稍后重试 |
| 提示标题提供者冲突 | 停用其他命名插件,确认只保留一个提供者 |
| 标题更新慢 | 选择响应更快的模型,减少参考消息数或输入预算;模型服务的网络延迟仍有影响 |
| 浏览器直接打开兼容设置 URL 返回 401 | API 使用 DSH 的认证上下文,请从应用内打开设置 |
| 保存提示冲突 | 记录需要保留的修改,重新载入最新配置后再次保存 |
开发与验证
开发测试使用 Node.js 22,无需额外安装依赖即可运行策略测试:
npm test
node --check index.js
node --check client.js
npm pack --dry-run --ignore-scripts
测试覆盖语义目标反转、长中文和 emoji 的 UTF-8 预算,不产生模型调用。Host 运行需要由 DSH 提供 @deepseek-ai/dsh-llm 和 @deepseek-ai/dsh-session-title;普通 Node 导入不能代替宿主验证。
已检查真实 DSH 加载、设置页和保存行为;发布检查没有触发付费命名调用,因此不声称覆盖所有模型的实际命名质量。更多细节见 实现与接口。
许可与致谢
MIT。命名规则参考并改编自 oil-codex-title,运行能力由 DeepSeek Harness 提供。版权与许可保留在 THIRD_PARTY_NOTICES.md。本项目并非 DeepSeek 或 oil-codex-title 的官方插件。
No comments yet. Be the first to write one.