2huy4n/roleplaytimer:在沉默後主動喚醒角色扮演智能體

在 DeepSeek Harness(DSH)的插件生態中,擴展智能體行爲的標準方式是編寫插件。做角色扮演時,用戶長時間不說話會導致智能體陷入沉默,造成對話斷層。2huy4n/roleplaytimer 這個插件就是爲了解決這個問題:它在檢測到用戶長時間未回覆時,會自動投遞一條 follow-up 消息,把說話權交還給智能體。

插件簡介

這個插件由開發者 2huy4n 維護,開源協議爲 MIT。它的核心價值在於模擬用戶行爲:當用戶沉默達到設定時長後,插件會向該會話投遞一條 user 角色的消息,由可編輯的「喚醒提示詞」渲染內容。智能體收到消息後,會按角色卡繼續以角色身份發言,而不是被動等待用戶輸入。

核心功能

  • 投遞 follow-up 消息:檢測到沉默後,通過 DSH 的 agent.followup() 接口投遞消息。
  • 角色身份繼續發言:喚醒後智能體按角色卡邏輯繼續對話。
  • 不打斷當前回合:投遞動作只在智能體處於空閒時通過 agent.runMaintenance() 執行,不會打斷正在進行的對話。
  • 模糊隨機喚醒:支持設置模糊區間。例如設定間隔 180 分鐘 + 模糊 30 分鐘,實際喚醒時間會在 150~210 分鐘之間隨機發生。
  • 新會話默認靜音:插件不會自動往新會話裏寫東西,默認關閉喚醒,需在控制面板手動開啓。

安裝與啓用

安裝插件需要使用官方的插件管理命令。

dsh plugin --profile <profile> add "git+https://github.com/2huy4n/roleplaytimer#v0.2.0"

安裝完成後,重啓 DSH 應用。在「設置」裏找到 roleplaytimer 控制面板:勾選「啓用主動喚醒」,再對着你想喚醒的會話點「取消靜音」。

配置與用法

插件提供以下關鍵配置項:

  • intervalMinutes:用戶沉默多久後喚醒一次,默認 150 分鐘。
  • jitterMinutes:模糊區間(±分鐘),設爲 0 則精確計時。
  • dailyMaxWakes:每日喚醒上限,0 爲不限。
  • quietStart / quietEnd:靜默時段,例如設爲 23:30 到 08:00,該時段不喚醒。
  • wakePrompt:喚醒提示詞,支持 {minutes}、{count} 等佔位符。
  • defaultMuted:新會話是否默認靜音,默認爲 true。

一個典型的用法是:設置 intervalMinutes 爲 180,jitterMinutes 爲 30。這意味着系統會在用戶最後一次發言後,等待 150 到 210 分鐘之間的隨機時間,然後投遞喚醒消息。

注意事項

使用前需注意幾點硬約束:

  • 必須有活着的根 agent:只有 DSH 應用正在運行且該會話已打開時纔可能投遞,應用關閉期間不補發。
  • 空閒才投遞:用戶正在對話時不會插話;runMaintenance 佔用中會退避重試。
  • 計時起點:倒計時以最後一次真實用戶消息爲起點,插件自己的喚醒消息不計入用戶活動。
  • 新會話默認靜音:插件第一次看到某個會話時默認不喚醒,必須在面板裏對該會話點「取消靜音」。

結語

這個插件通過在後臺模擬用戶發言,解決了長時間無人互動時智能體“卡死”的問題,特別適合需要長時間保持角色活躍度的場景。更多細節和源碼可以參考 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜