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。

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

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

Xiaoye