Skip to main content
V

dsh-echochat-plugin

verchiel666/dsh-echochat-plugin

Adds one tool, echo_judge, that scores 1-4 draft replies to an emotionally loaded message on three steps (perception, mental-state inference, response strategy), combines the steps with a cascade gate and step-level credit assignment, and names the weakest step to redo; scoring runs through ctx.llm of the running engine, so no API key is needed.

Install

dsh plugin --profile web add github:verchiel666/dsh-echochat-plugin

README

dsh-echochat-plugin

给 DeepSeek Harness 加一个 echo_judge 工具:给一组共情回应候选排序,并指出该重做哪一步。

机制来自 EchoChat(NeurIPS 2026,arXiv:2610.04826)里能脱离训练使用的部分: 级联门控奖励(Eq.3-4)+ 步骤级信用分配 SDCA(Eq.7-8)+ 根因定位。

为什么不用 API key

打分走引擎自己的 ctx.llm.stream() —— 也就是 App 已经登录的账号适配器。 插件不读环境变量、不存任何凭据。

安装

在 DSH App 的插件管理器里搜索 dsh-echochat-plugin 安装,然后重启引擎。 (手动路线也行:把 cordis.patch.yml 里的 entry 追加到 profile patch,name 换成包名。)

用法

工具 echo_judge:

{
  "user": "没事,今天就是有点忙。项目那个事你别管了,我自己弄。(声音发紧、语速快、句尾上扬)",
  "candidates": [
    "别担心啦,你已经很棒了,一切都会好起来的!",
    "听起来不是真没事。项目那事我可以接着跑一版,你今晚先别硬扛。",
    "你这句「别管了」我不太信。要不这样:今晚我把那版跑完发你,你不用回,明早再说。"
  ],
  "scenario": "模态冲突:文字中性 + 语音发紧",
  "tau": 0.6
}

返回:

id  [感知 推理 策略]  R_reas  门控  R_resp  R_total | A(4段)              | 最弱环节
C1      2    4    4 |  0.160    01   0.860   0.524 | -1.40 -1.36 -1.29 -0.00 | 感知
C2      4    3    3 |  0.680    11   0.720   0.728 |  0.70  0.39  0.16 -1.21 | 心智状态推理/支持策略
C3      4    4    5 |  0.860    11   1.000   0.930 |  0.70  0.97  1.13  1.21 | 感知/心智状态推理

C1 是"共情模仿"的典型:响应分最高,但感知没过门控,级联奖励被清零,总分垫底。

参数

参数说明
user用户原话 + 声学/语气线索(必填)
candidates1–4 条候选回应(必填;2 条以上才能做组内相对比较)
scenario场景说明,如模态冲突/自嘲/逞强
tau门控阈值,默认 0.6(论文值);越高越保守
provider / model覆盖路由;默认在 config 里

已知边界

  • judge 是单个模型,不是论文里的冻结奖励模型:它省掉的是人工打分,不是偏差。分数可复现性弱于训练过的 RM。
  • 只有 1 条可用候选时不做组内相对比较(会明确提示)。
  • 某条候选的评审失败会单列出来,不会被当成低分参与排序。
  • 论文 Table 2/6/7/8 的收益来自 Kimi-Audio + LoRA 的 20k 步 RL 训练,本插件不做训练,也不声称复现。

出处

MIT License.

Related plugins