A draggable tarot card back in the corner of the DeepSeek Harness UI. Click to draw, right-click for the four spreads, full 78-card deck with bilingual meanings. Readings use only the cards actually drawn.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-lumina-tarot
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:shetengteng/dsh-lumina-tarot
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A tarot deck for DeepSeek Harness.
Once installed, a draggable card back floats in the corner of the chat. Click it to shuffle and draw, then let the AI read your spread — or just say "how's my career looking?" and it will draw the cards itself instead of making one up.
The deck is a full 78 cards (22 Major Arcana + 56 Minor), with bilingual names, keywords, and upright / reversed meanings.
How it works
Once installed and running:
| Action | What happens |
|---|---|
| Click the card back | Draws with your current spread. You'll see a shuffle animation, then the cards flip over |
| Drag the card back | Just moves it. The position is remembered for next time — a drag never counts as a draw |
| Right-click the card back | Opens a fan menu on the card: switch spreads, see your last result, browse history |
After a draw, hit "Ask AI to interpret" and the model in your current chat reads the cards you already drew — the cards are locked in; the model can't change them.
Don't want the floating card? Turn off "show floating card" in settings. Drawing from chat still works.
Four spreads
| Spread | Good for |
|---|---|
| Single card | One clear answer |
| Three-card timeline | Past / present / future (the default) |
| Cross | Five cards — the situation and where it's heading |
| Lite Celtic cross | Ten cards — a complicated picture, laid out in full |
What you can tune
Open DeepSeek Harness Settings → Lumina Tarot:
Theme colours, UI language, card art (minimal / Rider–Waite–Smith / watercolour), card back, animation level, default spread, reversed-card odds, plus export and clear history.
Themes only tint this plugin's own cards and panel — they never restyle the Harness interface itself.
Just talk to it
No commands to memorise:
- "give me a reading" / "draw a card"
- "today's card" / "how's my day looking?"
- "what does The Fool mean?"
The model calls the right tool instead of inventing cards. Slash commands work too: /lumina draw, /lumina today, /lumina interpret, /lumina history.
Install
You'll need the dsh CLI first. The desktop app and the web version use the same package — one install is enough.
Desktop app
- Open the app's Plugins → Add plugin
- Enter the package name
dsh-lumina-tarotand install - Restart the app
The app keeps its own profile that the CLI can't touch (
dsh plugin --profile desktop …is rejected), so use the panel above.
Web (dsh web)
dsh plugin --profile web add dsh-lumina-tarot
Check that it landed:
dsh --profile web --dump-config # you should see a # == dsh-lumina-tarot layer
dsh web
Once the compatibility fix is published, pin it with dsh-lumina-tarot@0.1.4. The current registry 0.1.3 is not compatible with DSH 0.2.1-rc.2.
Command cheat sheet
Four commands — day to day you'll only need the first two. web here is the profile name (think of it as a config slot); swap it if you use a different profile.
| Command | What it does |
|---|---|
dsh plugin --profile web add dsh-lumina-tarot |
Install. Pulls the package from npm into the web profile |
dsh plugin --profile web update dsh-lumina-tarot |
Update to the latest release (pinned versions stay put) |
dsh plugin --profile web remove dsh-lumina-tarot |
Uninstall. Preferences and history are kept |
dsh --profile web --dump-config |
Verify the install. Look for # == dsh-lumina-tarot |
A few notes:
- Restart after changing anything. Harness keeps running the code it booted with, so installs and updates only take effect after a restart.
- The desktop app has no equivalent command. It manages its own profile, so the CLI can't touch it — use Plugins → Add plugin instead (see above).
- One install is enough. The draw engine (Host) and the UI (Client) ship in the same package.
- Headless works too. A profile without a UI still gets the draw tools — you just won't see the floating card.
Update
Harness does not check for plugin updates on its own:
dsh plugin --profile web update dsh-lumina-tarot
dsh web
⚠️ You must restart Harness after updating — a running process keeps using the code it booted with.
Uninstall
dsh plugin --profile web remove dsh-lumina-tarot
Uninstalling does not wipe your preferences or history; reinstalling picks them up again. To clear everything, clear history in settings first.
For developers
Build from source:
pnpm install
pnpm build # bundles Host and Client together
pnpm e2e # live dsh web end-to-end tests (start dsh web first)
You can also install straight from GitHub (it runs prepare to build on the spot, slower than the npm release):
dsh plugin --profile web add github:shetengteng/dsh-lumina-tarot
pnpm 10+ blocks build scripts by default; if the first attempt fails, follow the CLI hint and allow the package in that profile's pnpm-workspace.yaml, then retry:
allowBuilds:
dsh-lumina-tarot: true
When working on the source, link your checkout from the repo root:
dsh plugin --profile web add .
After Client changes you need to restart dsh web and refresh the browser.
Product behaviour is documented in design/2026-08-19-01-系统设计.md (Chinese). This is not a standalone site and has no /tarot route — it lives inside the Harness chat shell.
License
Source is MIT — see LICENSE. Card art licenses are in NOTICE: Rider–Waite–Smith is Public Domain; Aquatic Tarot is CC BY-NC-SA 3.0 (personal non-commercial use only).
Links
More in this category
PC2005-cloud/dsh-pet#dsh-pet★ 5347
Desktop pet for the DSH Web UI on Windows, macOS and Linux: 106 transparent animations in the browser overlay or a transparent always-on-top desktop window, throw-and-bounce drag physics with squash and particle scoring, a work-status bubble driven by live session events, self-talk and chat with persistent memory, balance display, meme-image bubbles, multiple pets on screen, and drop-in custom animations and pet packs.
Alterssss/dsh-bili-whale★ 862
A Bilibili companion that keeps its own schedule. A 60-second tick in the plugin host wakes a dedicated agent session at a random moment inside the configured time windows (opting out of a day is a configurable chance), then hands it a bundled CLI of 38 subcommands — feed, subtitles, danmaku, comments, ffmpeg frame grabs, and two diaries. Shares at most N items a day by commenting on them and @-mentioning the owner (default 3, enforced from a written quota log, and it stops on rate-limit or captcha signals). Also polls comment replies, direct messages and live-room danmaku; replies to anyone but the owner are queued for approval in Settings. Settings → 养鱼 writes ~/.dsh/bili-whale.config.json; cookies live separately in ~/.bili-ai/credentials.json and are never echoed back. The HTTP routes are loopback-only behind DSH's trust fence. Needs Node 18+ and ffmpeg on PATH for frame extraction.
Nagi-ovo/dsh-ads★ 707
Parody ads in 2005-Chinese-web style: sidebar banners, in-chat feeds, corner popups, and a close button whose hit area is smaller than it looks. All fictional.
yyh-001/dsh-meme★ 488
Chat meme stickers: text-only send, mood auto-send, QQ/WeChat-style picker, auto-learn, custom packs.
vlln/whale-girl★ 400
Desktop pet (QQ-pet style): floats in the corner, draggable, feedable, playable.
a86582751/dsh-nexttavern★ 218
NextTavern is a long-form roleplay plugin for DeepSeek Harness 0.1.7-rc.2 Web, with character-card import and creation, worldlines, worldbooks, layered long-term memory, keyword/semantic/hybrid retrieval, character agents, and card or novel export. SillyTavern character-card import is supported; v0.2.9 fixes distribution and installation.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.