dsh-tarot:在 DSH 裏用側邊欄牌桌與聊天報數完成塔羅抽牌

前言

在 DeepSeek Harness(DSH)裏做占卜或趣味性交互,常見做法是讓模型口述牌名,用戶很難對照牌陣位置,也缺少可回顧的牌局記錄。chen-bi 維護的 dsh-tarot(命運牌桌)把流程固定成:助手在聊天裏起局並收數字,瀏覽器側邊欄與輸入框上方同步翻牌,抽滿一局後自動寫入本地存檔。下面按定位、能力、安裝與用法說明這隻社區插件(目錄歸類爲趣味換裝;與 DeepSeek / 幻方無官方從屬,見 SkillHub 目錄頁)。

這是什麼

dsh-tarot 是 DSH 塔羅牌插件:內置 78 張韋特系牌庫、6 種預設牌陣,支持在對話中報 1–78 的數字抽牌,並在 UI 上展示牌名、正逆位與關鍵詞。牌桌數據有兩個入口且同源——左側欄「命運牌桌」常駐圖標,以及有進行中牌局時輸入框上方可收起的小牌桌;側邊欄顯示的是最近一局(最後被起局或抽牌的那張桌子),不綁定單個會話。

源碼與說明見 GitHub:chen-bi/dsh-tarot,介紹頁爲 https://chen-bi.github.io/dsh-tarot/。package.json 版本爲 1.0.0,許可證 MIT。

核心功能

對話驅動的抽牌流程

典型鏈路在 README 中寫得很清楚:

  1. 向助手提問(例如感情、面試類問題)。
  2. 助手起局,說明牌陣與各位置含義,請你在 1–78 內報 N 個數字。
  3. 在聊天裏發送數字(可分批,例如 12 34 56)。
  4. 牌桌當場翻牌,展示牌名、正逆位、關鍵詞。
  5. 助手在聊天中逐張解讀並給出結論。

補充口令:你幫我抽(助手代抽剩餘牌)、換個問題(重新起局)、收起來(清掉當前一局)。

牌庫與牌陣

牌邏輯在 deck.js:78 張牌數據、洗牌與抽牌(純函數)。預設牌陣如下(助手也可用 positions 自定義,最多 10 張):

key 名稱 張數
one 單張指引 1
three 時間之流 3
love 關係之鏡 5
career 事業十字 5
celtic 凱爾特十字 10
yesno 是否之間 3

各位置名稱(如時間之流的過去 / 現在 / 未來)見倉庫 README 表格。

界面與只讀牌桌

  • 側邊欄:無牌局時爲引導頁(牌背示意、牌陣一覽、去對話按鈕);有牌局時展示大卡片、78 張牌牆與牌義。
  • 輸入框上方:牌局進行中時出現小牌桌,可收起,也可跳轉「整張牌桌」。
  • 網頁端只讀:抽牌由聊天中的助手通過 tarot 工具發起,牌桌 UI 不會替用戶選號。

牌面爲插件自帶 SVG/CSS,不依賴外部圖片資源。

自動存檔

當一局所有位置都翻開後,記錄自動寫入:

~/.dsh/tarot/history.json

內容包括問題、牌陣、各位置牌面、正逆位、關鍵詞;助手寫完解讀後會調用 note 把解讀正文追加到同一條。側邊欄頂部有 牌桌 / 存檔 兩個頁籤,存檔按時間倒序,最多保留 200 條,插件重載或 DSH 重啓後仍在。

注意:進行中的牌局按會話存在內存裏,DSH 重啓會丟失未完成局;已抽滿並落盤的記錄不受影響。

Host 工具與 HTTP 接口

宿主側 index.js 提供 tarot 工具,以及供輪詢與外部腳本使用的 API(與工具共用 runCommand 邏輯):

方法 路徑 用途
GET /api/tarot/state?session=&since= 牌桌輪詢:當前牌局 + 牌陣目錄
GET /api/tarot/history 存檔列表(含解讀正文)
POST /api/tarot/control start/pick/draw/status/reset/note/history/import 等

拿不到 tarot 工具的調用方(如命令行腳本)可走 /api/tarot/control;import 僅在此口開放,用於按牌名與正逆位補錄舊牌局。

安裝與啓用

要求 DSH 具備 webServer 與 client bundle 支持;宿主 peer 依賴包含 @deepseek-ai/cordis 與 react。

官方 README 給出的步驟如下。先在本地取得倉庫目錄,再在 DSH 裏安裝 bundle:

git clone https://github.com/chen-bi/dsh-tarot.git

然後在 DSH 中讓助手執行:plugin_manager → install_bundle,target 指向克隆下來的倉庫根目錄。裝完後刷新頁面(客戶端包需重新加載)。之後輸入框上方小牌桌僅在有牌局時出現,側邊欄入口一直可用。

插件以當前 DSH 進程權限運行,會向用戶主目錄寫入存檔;安裝前請自行審閱源碼與 MIT 許可證。

倉庫提供 node smoke.mjs 自檢(mock 上下文跑工具、接口與臨時存檔文件),可在安裝前本地驗證。

典型用法示例

  1. 打開 DSH 對話,說明你想問的事。
  2. 按助手提示的牌陣,在聊天中發送若干 1–78 的整數。
  3. 觀察側邊欄或輸入框上方牌桌翻牌,再在聊天中閱讀解讀。
  4. 需要回顧時,打開側邊欄「命運牌桌」→「存檔」,點選歷史記錄查看大卡片與完整解讀。

適用場景與注意

適合想在 DSH 工作流裏保留「提問—報數—可視化牌局—可存檔解讀」閉環的開發者或玩家;分類上偏趣味換裝,不改變 DSH 核心能力。

使用前請知悉:未完成牌局隨進程重啓丟失;存檔路徑固定爲用戶目錄下的 ~/.dsh/tarot/history.json。社區目錄 SkillHub 與 GitHub 星標等元數據以站點爲準(抓取時星標爲 0)。

結尾

dsh-tarot 把塔羅從純文本變成可操作的牌桌與本地歷史,適合與 DSH 助手配合做結構化占卜體驗。進一步細節以 GitHub 倉庫 README 與 介紹頁 爲準;插件條目見 SkillHub:chen-bi/dsh-tarot。

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

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

小夜