DSHПЛАГИНЫ
💬
ПЛАГИН DEEPSEEK HARNESS

dsh-reasoning-only-guard

Автор: @apex-mochen ↗

Плагин «dsh-reasoning-only-guard» для DeepSeek Harness: Keeps one reasoning-only turn from making an entire session unusable. When a turn produces no visible text and no tool call, the assistant message is persisted empty, the gateway then rejects every later request in that session with 'content or tool_calls must be set', and the session is dead with no way back through chat. This plugin registers a single llm/stream waterfall listener and, only when the turn carried nothing visible, injects a small text block immediately before the terminal finish, so the persisted message is never empty. Ships the fixture DSH's own mock cannot express (a strictly reasoning-only SSE server, since llm-mock-server forbids an empty successText and always appends text after reasoning), plus an end-to-end reproduction that replays a real persisted session through DSH's own serializeMessages. Preventive, not a repair. Zero dependencies, one file, no process or filesystem access.

★ 1 звёзд GitHub16 сентября 2026 г. добавлен
БЫСТРАЯ УСТАНОВКА

Команды для терминала DSH

dsh plugin --profile web add github:apex-mochen/dsh-reasoning-only-guard

Запустите команду в терминале, где работает DeepSeek Harness. Перезапуск применит плагин автоматически.

ОПИСАНИЕ И ВОЗМОЖНОСТИ

Что делает dsh-reasoning-only-guard

Плагин «dsh-reasoning-only-guard» для DeepSeek Harness: Keeps one reasoning-only turn from making an entire session unusable. When a turn produces no visible text and no tool call, the assistant message is persisted empty, the gateway then rejects every later request in that session with 'content or tool_calls must be set', and the session is dead with no way back through chat. This plugin registers a single llm/stream waterfall listener and, only when the turn carried nothing visible, injects a small text block immediately before the terminal finish, so the persisted message is never empty. Ships the fixture DSH's own mock cannot express (a strictly reasoning-only SSE server, since llm-mock-server forbids an empty successText and always appends text after reasoning), plus an end-to-end reproduction that replays a real persisted session through DSH's own serializeMessages. Preventive, not a repair. Zero dependencies, one file, no process or filesystem access.

Показать оригинальное описание (EN/ZH)

Keeps one reasoning-only turn from making an entire session unusable. When a turn produces no visible text and no tool call, the assistant message is persisted empty, the gateway then rejects every later request in that session with 'content or tool_calls must be set', and the session is dead with no way back through chat. This plugin registers a single llm/stream waterfall listener and, only when the turn carried nothing visible, injects a small text block immediately before the terminal finish, so the persisted message is never empty. Ships the fixture DSH's own mock cannot express (a strictly reasoning-only SSE server, since llm-mock-server forbids an empty successText and always appends text after reasoning), plus an end-to-end reproduction that replays a real persisted session through DSH's own serializeMessages. Preventive, not a repair. Zero dependencies, one file, no process or filesystem access.

УДАЛЕНИЕ ПЛАГИНА

Как удалить при необходимости

dsh plugin --profile web remove dsh-reasoning-only-guard
🛡️

Безопасность и аудит

Плагины выполняются в окружении пользователя DSH. Рекомендуется проверять исходный код, зависимости и запрашиваемые разрешения в репозитории автора перед установкой.