KakaruHayate/dsh-degen-heal ↗★ 0
@dsh-external/llm-degen-heal
检测并自愈 LLM 输出退化循环:流式碎词/熵骤降/空转仪表三信号,请求级惩罚注入(含需核心改一行项)、流中断重试、冷却幂等、dev_loop_status 诊断
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗Configuration 配置
Every tunable is a validated config field (fail-loud on bad values). Override in your cordis.yml / profile patch / inject config:
plugins:
'@dsh-external/llm-degen-heal':
enabled: true
# windowTokens: 256 # detection rolling window
# repeatThreshold: 8 # run length that flags a token-loop
# entropyRatio: 0.35 # unique/total below this (unstructured) => entropy-drop
# detectAlternating: true # detect consecutive A,B,A,B,… runs
# idleTurns: 2 # no-tool short degenerate turns before meter steer
# idleTurnWords: 60
# temperatureDelta: 0 # request temp adjust per healing epoch (0 disables)
# cooldownMs: 30000 # healing epoch cooldown
# escalateAt: 2 # which degenerate stream causes the interrupt
# maxRetriesPerEpoch: 1 # bounded retries per epoch
# lockoutAt: 3 # triggers in one epoch before fail-open lockout
# lockoutMs: 180000 # lockout suspension duration
# healMessage: "..." # corrective prompt injected to the model
| field | default | meaning |
|---|---|---|
enabled | true | master switch; false = pure passthrough with no logging |
providers | [] | provider allowlist, empty = all |
windowTokens | 256 | detection rolling window size |
shortTokenMaxLen | 32 | short-token length cap |
repeatThreshold | 8 | run length (same token, or alternating) that flags a loop |
entropyRatio | 0.35 | entropy-drop threshold |
detectAlternating | true | also count consecutive A B A B… runs |
leakMarkers | built-in | phrases treated as leaked thinking/planning prose |
leakThreshold | 2 | marker hits in a window before leak-out fires |
idleTurns | 2 | consecutive idle turns before the meter acts |
idleTurnWords | 60 | idle turn word cap |
temperatureDelta | 0 | request temperature adjust per healing epoch (0 disables) |
cooldownMs | 30000 | healing epoch cooldown |
escalateAt | 2 | which degenerate stream triggers the interrupt |
maxRetriesPerEpoch | 1 | degenerate retries granted per epoch |
lockoutAt | 3 | triggers in one epoch before fail-open lockout |
lockoutMs | 180000 | lockout suspension duration |
healMessage | built-in | corrective message injected to the model |