塔罗牌CLI工具

一个基于Ink构建的塔罗牌命令行工具,提供完整的78张牌组、六种牌阵类型、元素尊严、动画终端输出以及LLM集成的MCP服务器。

  • by kellymears
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kellymears/tarot

使用说明

奥秘

使用构建的塔罗牌读取CLI 墨水完整的78张牌组,每张牌都有自己的解释,六种排列类型,元素尊严,动画终端输出,以及用于LLM集成的MCP服务器。

入门

npm install
npm run build

作出 arcana 全球可用:

npm link

用法

arcana                    # three-card spread (defaults to OS username)
arcana kelly              # reading for "kelly"
arcana kelly --new        # force a fresh draw
arcana card               # single daily card
arcana yes-no             # yes/no oracle (upright = yes)
arcana five-card          # five-card cross
arcana horseshoe          # seven-card horseshoe
arcana celtic-cross       # ten-card celtic cross
arcana history            # browse past readings

每个人每天每种传播类型获得一次阅读。再次运行会显示相同的卡片。 --new 迫使新的平局。

价差

点差 卡牌 持仓
三卡(默认) 3 过去、现在、未来
每日卡 1 赠送
五卡叉 5 上面,过去,现在,未来,下面
马蹄 7 过去、现在、未来、自我、环境、障碍、结果
凯尔特十字架 10 现在、挑战、过去、未来、上、下、自我、环境、希望与恐惧、结果
是或否 1 直立=是,反转=否

交互模式

从洗牌池中挑选自己的牌。箭头键用于导航,Enter键用于选择。

arcana -i
arcana kelly --interactive

反转模式

五种读取反向卡片的方法:

arcana --reversals opposite   # authored reversed passage (default)
arcana --reversals blocked    # upright meaning, blocked energy
arcana --reversals shadow     # upright meaning, shadow/unconscious framing
arcana --reversals weakened   # upright meaning, diminished intensity
arcana --reversals none       # ignore reversals entirely

颜色主题

arcana --theme default    # magenta/green palette
arcana --theme classic    # yellow/cyan palette
arcana --no-color         # disable color output

阅读的

arcana history            # your history
arcana history kelly      # kelly's history

按逆时间顺序显示过去的读数。有五个或更多的读数,包括模式分析:最抽的牌、花色优势和反转率。

JSON输出

对于脚本和LLM集成:

arcana kelly --json
arcana celtic-cross kelly --json --new

以结构化JSON格式返回完整读数:排列数据、每张卡的解释、叙述性文本和关系分析。

解释引擎

每张卡片都为每个位置和方向撰写了段落。引擎在单个卡片读数上叠加了三件事:

  • 基本尊严 --相邻的卡片通过它们的元素相互作用。火和空气相辅相成;火和水造成紧张。
  • 关联分析 --套装优势、阿卡纳重量、球场牌簇、数字序列、反转模式和整个分布的元素平衡。
  • 叙事综合 --一种散文阅读,将卡片与交叉位置的见解(过去/未来的回声、紧张之上/之下、自我/环境对比)联系在一起。

MCP服务器

一 主控程序 LLM工具集成服务器。stdio上的四个工具:

工具 说明
draw_reading 为一个人画一个点差。支持所有六种点差类型和反转模式。
get_card 按身份证或姓名查找一张卡片,上面有所有解释段落。
list_cards 浏览甲板,按阿卡纳或西装过滤。
reading_history 检索某人的最新读数。

运行MCP服务器

node dist/mcp.js

Claude代码集成

该项目包括 .mcp.json Claude Code在此目录中工作时自动发现。

要全局访问,请添加到 ~/.claude/settings.json:

{
  "mcpServers": {
    "arcana": {
      "command": "arcana-mcp"
    }
  }
}

(需要 npm link 所以 arcana-mcp 在你的路径上。)

工具模式

draw_reading

Input:  { name: string, spread_type?: string, force_new?: boolean, reversal_mode?: string }
Output: { name, spread, reading: { cards, narrative, relational } }

get_card

Input:  { query: string }  // "major-00", "fool", "ten of cups"
Output: { card, interpretations: { upright: { past, present, future, ... }, reversed: { ... } } }

list_cards

Input:  { arcana?: "major" | "minor", suit?: "cups" | "pentacles" | "swords" | "wands" }
Output: TarotCard[]

reading_history

Input:  { name: string, limit?: number }
Output: Reading[]

数据

读数存储在 $XDG_DATA_HOME/arcana/ (默认为 ~/.local/share/arcana/),每人每种排列类型一个JSON文件,按日期键入。历史记录单独存储在 {name}.history.json.

发展

npm run dev     # watch mode
npm run build   # compile to dist/
npm start       # run the CLI
npm run lint    # eslint
npm run format  # prettier

堆栈