前言¶
在 DeepSeek Harness(DSH)裏跑 Agent 時,模型有時會在推理區反覆輸出極短的重複行,任務遲遲不前進。常見做法是手動停止生成、清空或改寫上下文再重試,既打斷會話,也容易丟掉已完成的工具結果與文件修改。
Rice Patrol(leelizuoliu/rice-patrol)面向這類「有界推理重複」:在確認循環後停止當前生成,並在同一會話裏讓原 Agent 接續未完成的任務。下面介紹它的檢測規則、恢復流程,以及如何在 DSH 中啓用與配置。
這是什麼¶
Rice Patrol 是 DSH 社區插件,維護者爲 LeeLizuoLiu,在 SkillHub 目錄中歸類爲 admin-security(安全管理)。一句話定位:對 DSH 暴露的推理流做重複模式檢測,確認後截斷生成並執行「乾淨恢復」,而不是僅告警或依賴人工切會話。
當前包版本爲 0.2.11-desktopcompat.1,源碼在 GitHub 同步維護;README 說明本次更新不發佈 npm 包。項目採用 MIT 許可證。
核心功能¶
自動恢復,無模式選擇¶
啓用插件後不需要選擇 Stop / Observe / Recover 等響應模式。每次確認循環後,流程固定爲:停止當前生成 → 清理流 → 在原會話中恢復任務。
舊配置裏的 mode: stop、mode: observe、mode: recover 已不再決定行爲;保留這些字段也不會阻止自動恢復。若要完全關閉能力,應使用 DSH 自帶的插件啓停開關,而不是依賴舊 mode 字段。
恢復過程中仍可使用界面上的「停止恢復」;發送新的用戶輸入也會中斷本次恢復。若無法覈對會話或宿主後臺任務狀態,插件會暫停恢復並給出說明。
循環檢測規則¶
檢測邏輯與具體模型服務商無關;每個模型請求使用獨立的檢測器,普通輸出 token 上限不在檢測範圍內。
- 插件讀取 DSH 暴露的推理文本,按行拆分,去掉首尾空白,忽略空行。
- 對最近 50 行非空行評分:行長度中位數 ≤ 20 個字符,且至少 70% 的行在該窗口內存在完全相同的重複行 → 記爲預警。
- 預警不會停止生成。再累積至少 50 行非空行,且再次滿足上述窗口條件 → 確認循環並停止生成。
README 明確說明:這一版未修改上述檢測閾值。
接續(恢復)行爲¶
確認循環並停止後,插件會:
- 等待當前生成與流清理結束,並覈對宿主後臺任務;
- 將本次被中斷的推理從模型可見歷史中排除;
- 通過原來的 Agent 與同一會話繼續;已完成的文件編輯與工具結果仍可用;
- 在接續提示中要求模型先檢查工作區狀態,再重複產生副作用。
同一次截斷只提交一次交接;每次新確認的循環都可以再次恢復。失敗或受阻的舊恢復任務不會自動重試。恢復後的 Agent 仍遵循 DSH 原有策略;插件不額外發起摘要類模型請求,也不對接續後的模型/工具調用次數施加插件級上限。
resumeTimeoutMs 默認 5 分鐘,用於交接等待與首次接續響應,不是整個後續任務的總時限。插件保留最小化的恢復狀態與防重複交接記錄,不提供逐塊觀察日誌。
安裝與啓用¶
已抓取資料與 SkillHub 目錄頁均未給出形如 dsh plugin add … 的固定 CLI 安裝語句;安裝方式以你當前 DSH 發行版在 Plugins 頁從社區/GitHub 源安裝爲準(目錄頁:https://www.skillhub.cn/plugins/LeeLizuoLiu/rice-patrol)。
環境要求(來自 README):
- DSH
0.2.0-rc.2或更高(含0.2.1-rc.1),對 0.2.x 不設上限,後續補丁版一般可直接加載。 - 插件聲明的對等依賴:
@deepseek-ai/dsh-llm、@deepseek-ai/dsh-compaction均爲>=0.2.0-rc.2;DSH 加載時會校驗聲明,版本釘死在單一具體值上的插件會被跳過。
啓用步驟:
- 在 DSH 的 Plugins 頁面安裝並啓用 Rice Patrol 及其組件。
- 閱讀插件頁上的自動恢復說明;恢復狀態會顯示在對話輸入區附近。
- 若更新了插件文件,需重啓 DSH 以加載新宿主代碼。
配置字段示例見倉庫內 config/recover.example.yml(GitHub 路徑:LeeLizuoLiu/rice-patrol)。
典型用法與配置要點¶
典型用法以「啓用即生效」爲主:無需切換響應模式,也無需單獨啓動觀察日誌。日常只需在 Plugins 中保持啓用;當推理區出現持續短行重複時,插件按兩階段窗口規則自行預警與確認。
仍可配置的項目(README 列舉)包括:
- 服務商 / 模型過濾;
- 狀態目錄;
- 恢復相關超時(含
resumeTimeoutMs)。
不可再配置「響應模式」;與其他會取消並恢復同一推理流的插件同時使用時,應只保留一個恢復控制器,避免互相搶流。
更完整的恢復設計與歷史實現說明見倉庫文檔 docs/SINGLE_AGENT_RECOVERY.md。
適用場景與注意¶
適合誰:長期在 DSH 中運行 Agent、且遇到過推理區「短句復讀、任務卡住」的開發者或運維;希望在同一會話內保留工具與編輯結果、減少手工停生成與重開會話的場景。
使用前請知悉:
- 插件在當前 DSH 進程權限下運行,會讀取推理文本並參與截斷與恢復;安裝前應自行審閱 GitHub 源碼 與 MIT 許可證。
- SkillHub(https://www.skillhub.cn)是社區插件目錄站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,目錄與宿主能力解耦。
- 檢測針對推理流的行級重複特徵,不能替代輸出 token 上限、業務層超時或人工審覈;預警階段模型仍會繼續生成,直到二次窗口確認。
結尾¶
Rice Patrol 把「推理復讀」從純人工介入,變成可預期的兩階段檢測與同會話自動恢復,並儘量保留已完成的工作區副作用。若你需要在 DSH 裏降低 Agent 卡在短行循環上的成本,可在滿足版本要求的前提下從目錄頁安裝並在 Plugins 中啓用。
- 目錄頁:https://www.skillhub.cn/plugins/LeeLizuoLiu/rice-patrol
- 源碼與 README:https://github.com/LeeLizuoLiu/rice-patrol