OpenViking
volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:lmst2/dsh-rename
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness 的会话重命名插件:给当前对话补上一条 /rename 斜杠命令。带上名字直接改;不带名字时,让模型读一遍当前对话,自己总结一个标题并重命名。
DSH 本身已经内置了自动命名:基础组合层挂载了 session-title-first-prompt-llm,在首条 prompt 进入后由 ctx.sessionTitle 自动生成会话标题。这个能力不需要重复实现,本插件只补 DSH 缺的那一块——你随时一键让它重新想个名字。
前置要求:已安装 DeepSeek Harness(dsh 命令可用);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),因此:
插件行在 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
| 字段 | 默认值 | 说明 |
|---|---|---|
targetWords |
6 |
非 CJK 语言标题的目标单词数 |
targetCjkCharacters |
12 |
中/日/韩标题的目标字符数 |
maxInputBytes |
32768 |
喂给标题模型的对话摘要最大 UTF-8 字节数 |
maxOutputTokens |
64 |
辅助生成的最大输出 token 数 |
maxTitleBytes |
80 |
接受标题的最大 UTF-8 字节数 |
timeoutMs |
60000 |
辅助请求的端到端超时(毫秒) |
provider / model |
不填 | 可选显式模型路由;不填则使用会话最近一次 request/header 记录的路由 |
provider 与 model 必须成对出现;缺一个会在启动时直接报错(fail loud)。
/rename 由 @deepseek-ai/dsh-commands 的斜杠命令注册表分发,不进入模型上下文。ctx.sessionTitle.rename。session.events 收集直接用户消息和助手回复(跳过合成上下文、reasoning 和工具结果),按字节预算保留最新内容,然后通过 ctx.llm.stream 发一次 purpose: session-title 的辅助请求。normalizeSessionTitle 清理、按 maxTitleBytes 截断后,同样走 ctx.sessionTitle.rename 提交。/rename 一并消失(运行时替换安全)。pnpm install # 安装依赖
pnpm typecheck # 严格类型检查
pnpm test # vitest 单元测试
pnpm build # tsc 输出 lib/types
pnpm verify # typecheck + test + build + 发布冒烟检查
提交前请保证 pnpm verify 全绿。
| 文档 | 内容 |
|---|---|
| docs/usage.md | 配置、命令语义、错误处理与已知限制 |
| AGENTS.md | 仓库布局与开发约定 |
MIT © dsh-rename contributors
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: session-title。