dsh-doudizhu: 在 Harness 浮動窗口中運行鬥地主

DeepSeek Harness 的智能體在處理複雜任務時往往需要較長的思考週期。爲了在等待期間保持工作流的活躍度,或爲長時間運行的 Agent 提供一個狀態觀察窗口,dsh-doudizhu 插件將一張三人對戰鬥地主桌牌引入了 Harness 的界面體系。

該插件通過 shell.overlay 插槽在對話標題旁增加操作入口,展開一個可拖拽、可調整大小的浮動窗口。窗口內集成了遊戲引擎、對手邏輯與工作提醒,與底層的 Agent 進程並行運行,互不干擾。

核心功能

  • 三人對戰與 AI 邏輯:支持三人座次,兩名對手分別由 DeepSeek 模型(deepseek-v4-pro)驅動或本地啓發式策略控制。模型對手通過 Harness 自帶的 llm 服務調用,不直接暴露 API Key。
  • 完整規則支持:包含單張、對子、三帶、順子、連對、飛機、四帶二、炸彈及火箭等所有鬥地主組合規則。
  • 本地與模型混合模式:當模型調用失敗、超時或返回非法指令時,自動切換至本地策略接管;連續三次失敗後自動停止模型調用,防止無休止的等待。
  • 連續 300 Token 經濟系統:每位玩家初始 100 Token,贏取的 Token 直接在玩家間轉移,餘額跨局保留。由於 Token 不涉及現實貨幣,不會出現負數餘額,全押爆牌即結束本局。
  • 交互式操作:支持點擊或拖拽選牌,界面會實時校驗合法性並提示合法出牌選項(上一手/下一手)。
  • 快捷聊天:支持發送快捷語,對手會根據性格回覆;同時會對搶地主、出炸彈、手牌少於 3 張等關鍵節點做出反應。
  • 工作提醒浮層:在遊戲窗口上方顯示當前 Harness 的任務狀態、待審批事項或完成提示,並提供一鍵返回對話的入口。
  • 狀態持久化:窗口布局、遊戲 Token 餘額、當前手牌等狀態在頁面刷新後依然保留。
  • 實時狀態指示:在對話標題旁顯示 Agent 當前狀態(思考中/空閒),在遊戲窗口顯示當前等待玩家出牌的提示點。

安裝與啓用

在已配置好 Harness Web Profile 的環境中執行以下命令安裝:

dsh plugin --profile web add github:tongji-1/dsh-doudizhu

注意:如果使用 pnpm 10+,首次安裝時可能會因 prepare 腳本被攔截而構建失敗。請在 $DSH_HOME/profiles/web/pnpm-workspace.yaml 中添加對應的構建密鑰到 allowBuilds 字段,然後重新運行安裝命令。

dsh plugin --profile web install
dsh --profile web

典型用法

安裝完成後,在對話列表中,當前活躍的對話標題旁會出現“鬥地主”按鈕,點擊即可喚出遊戲窗口。

  • 指定版本安裝:鎖定特定版本以保持環境穩定:
    dsh plugin --profile web add github:tongji-1/dsh-doudizhu#v0.5.0
  • 本地開發安裝:克隆倉庫後直接指向本地路徑:
    git clone https://github.com/tongji-1/dsh-doudizhu.git
    cd dsh-doudizhu
    pnpm install
    dsh plugin --profile web add "$PWD"

注意事項

  • 娛樂性質:遊戲 Token 爲本地數字,僅供娛樂,無任何現實貨幣價值,也不支持充值、提現或多人競技下注。
  • 安全隔離:規則邏輯由瀏覽器端維護,模型路由被嚴格限制在迴環地址(loopback),不可用作通用的模型代理。
  • 離線遊玩:如果不想消耗 Token 或網絡環境不穩定,可在遊戲窗口設置中關閉“對手由 DeepSeek 驅動”,切換至完全離線模式。
  • 配置覆蓋:插件默認使用 deepseek-v4-pro 模型,配置爲高推理強度(reasoningEffort: high)。該配置可在插件集成到其他 Profile 時被覆蓋。

總結

dsh-doudizhu 是一款將即時遊戲體驗融入 DeepSeek Harness 工作流的實用插件。它通過懸浮窗的形式,在保證 Agent 任務正常運行的前提下,爲開發者提供了一個觀察 Agent 狀態或打發等待時間的窗口,特別適合在長時間推理任務間隙使用。

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

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

小夜