dsh-narrative-voice
在终端中运行以下命令:
dsh plugin install TellToday/dsh-narrative-voice
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中运行 dsh plugin install TellToday/dsh-narrative-voice 即可安装,插件源码托管于 https://github.com/TellToday/dsh-narrative-voice ,安装后重启对应 profile 进程(如 dsh web)即可生效。
插件介绍
ask_user_question 工具在生成问题和选项时,模型常常在同一个选项里混用两种"我"——label 里的 I 指回答者,description 里的 I 却滑向 AI 自己的口吻;"user"一词也会以第三人称突然冒出来,指代的正是正在读这段话的人。两种视角撞在一起,用户很难分辨到底谁在执行动作、谁是叙述者。dsh-narrative-voice 把问题锁定在提示组装层:它在每次请求前重写该工具 questions 字段中的 description,写入一条固定的叙述视角规则,让 question、header、label、description 始终处于同一人称,并且绝不把回答者称为 the user。
规则把工具字段分成两组:question 和 header 永远以 AI 视角书写,I 等于 AI、You 等于用户,两种方案下都不变化;label 和 description 则跟随所选方案——Scheme B(默认,voice: user)让回答者以第一人称叙述,Scheme A(voice: ai)让 AI 代为叙述。通过 /voice 命令可以随时开启、关闭或切换方案,切换从下一条消息即刻生效,无需重启会话。插件仅作用于 ask_user_question 工具内部,不影响普通回复和其他工具,也不会在本不需要代词的地方强行添加。
适合所有使用 DSH 且经常触发 ask_user_question 的开发者:如果你的对话中频繁出现选择题,又对人称混乱感到别扭,装上它、敲一句 /voice user,之后每个选项的 I 和 You 都会各归其位。
使用场景
- ask_user_question 生成的选项中 label 和 description 使用了两种不同的第一人称
- 模型在选项描述里把正在阅读的回答者称为 the user,造成第三人称指代混淆
- 需要在进行中的对话里随时切换叙述方案或关闭重写,从下一条消息即刻生效
适合人员
- 使用 DSH 且对话中频繁触发 ask_user_question 的开发者
- 在意对话人称一致性和选项可读性的产品与工程团队
- 希望在不改动模型输出的前提下修正工具字段描述的插件用户