catalog/repos/aicoder2048--mini-six-ren-skill.md

393 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 小六壬AI占卜技能
`占卜` `Claude Code` `小六壬` `五行生克` `AI解读`
# 小六壬占卜 — Claude Code Skill
传统九宫小六壬占卜系统,作为 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 技能Skill运行结合 AI 智慧解读卦象。
支持数字、日期时间、汉字笔画、当前时间四种起卦方式,输出三传(初传→中传→末传)占卜结果,并由 LLM 结合五行生克进行个性化解读。
---
## 安装
### 一键安装(推荐)
使用 [skills.sh](https://skills.sh) 一键安装到当前项目:
```bash
# 使用 bunx
bunx skills add https://github.com/aicoder2048/mini-six-ren-skill
# 或使用 npx
npx skills add https://github.com/aicoder2048/mini-six-ren-skill
```
### 手动安装
`.claude/skills/mini-six-ren/` 目录复制到你的任意项目的 `.claude/skills/` 下:
```bash
# 在目标项目根目录执行
mkdir -p .claude/skills
cp -r <path-to>/XiaoLiuRenSkill/.claude/skills/mini-six-ren .claude/skills/
```
安装完成后,在该项目中使用 Claude Code 时,输入占卜相关的自然语言(如"占一卦""算算运势"等Claude 会自动识别并调用此技能。
**运行环境要求**
- Python >= 3.10
- [uv](https://docs.astral.sh/uv/) — 脚本使用 PEP 723 内联元数据uv 会自动处理依赖安装(`lunardate>=0.2.0`
### Opencode CLI 移植建议
> 以下为迁移思路,未经测试。
[Opencode](https://github.com/opencode-ai/opencode) 的 Agent 体系与 Claude Code Skill 有所不同。核心算法脚本 `scripts/xiaoliu.py` 是独立可执行的,可直接复用。迁移时需要:
1.`SKILL.md` 中的工作流描述改写为 Opencode 的 Agent 配置格式
2.`assets/template.md` 报告模板和 `references/symbols_reference.md` 参考文档放入 Opencode 对应的上下文目录
3. 在 Agent 配置中声明调用 `uv run scripts/xiaoliu.py` 的命令
---
## 小六壬算法详解
### 九宫符号
小六壬使用 9 个符号,每个符号对应五行、方位、神灵:
| 序号 | 符号 | 五行 | 方位 | 关键词 | 神灵 |
|:---:|:---:|:---:|:---:|---|:---:|
| 1 | 大安 | 木 | 正东 | 长期、缓慢、稳定 | 三清 |
| 2 | 留连 | 木 | 东南 | 停止、反复、复杂 | 文昌 |
| 3 | 速喜 | 火 | 正南 | 惊喜、快速、突然 | 雷祖 |
| 4 | 赤口 | 金 | 正西 | 争斗、凶恶、伤害 | 将帅 |
| 5 | 小吉 | 水 | 正北 | 起步、不多、尚可 | 真武 |
| 6 | 空亡 | 土 | 中间 | 失去、虚伪、空想 | 玉皇 |
| 7 | 病符 | 土 | 西南 | 病态、异常、治疗 | 后土 |
| 8 | 桃花 | 土 | 东北 | 欲望、牵绊、异性 | 城隍 |
| 9 | 天德 | 金 | 西北 | 贵人、长辈、上司 | 紫薇 |
#### 吉凶简判
- **大吉**:大安、速喜、天德
- **小吉**:小吉、留连(视情况)
- **凶**:赤口(最凶)、空亡(金钱最忌)、病符
- **中性**:桃花(恋爱吉,其余不吉)
### 左手掌诀
九宫符号排列在左手指节上,按顺序循环:
```
食指: [留连②]
中指: [大安①] → [速喜③]
无名指: [天德⑨] ← [赤口④]
[小吉⑤]
[空亡⑥]
[病符⑦]
[桃花⑧]
```
顺序:大安→留连→速喜→赤口→小吉→空亡→病符→桃花→天德(循环)
### 三传算法
输入三个数字 `(num1, num2, num3)`,计算三传符号:
1. **初传(前期)**:从第 1 位(大安)出发,走 `num1`
2. **中传(中期)**:从初传的落点出发,走 `num2`
3. **末传(后期)**:从中传的落点出发,走 `num3`
每一步都在 9 个符号之间循环。算法核心:
```
初传位置 = (0 + num1 - 1) % 9
中传位置 = (num1 - 1 + num2 - 1) % 9 # 即 (num1 + num2 - 2) % 9
末传位置 = (num1 + num2 - 2 + num3 - 1) % 9 # 即 (num1 + num2 + num3 - 3) % 9
```
> 特殊处理:步数为 9 的倍数时映射到第 9 位(天德),而非回到第 1 位。
### 五行生克关系
**相生**(促进):
```
木 → 火 → 土 → 金 → 水 → 木(循环)
```
**相克**(制约):
```
木 → 土 → 水 → 火 → 金 → 木(循环)
```
系统判断 6 种关系:
| 关系 | 说明 | 对事态影响 |
|:---:|---|---|
| 生 | 前者促进后者 | 顺利推进,有助发展 |
| 克 | 前者制约后者 | 存在阻碍,需克服困难 |
| 被生 | 后者反哺前者 | 有外力支持 |
| 被克 | 后者反制前者 | 受到压制 |
| 同 | 同属一行 | 相互扶持,力量加强 |
| 无 | 无直接关系 | 各自独立发展 |
### 解读优先级
1. 先看**末传**(最终结果最重要)
2. 再看三传之间的**五行生克关系**
3. 最后结合各符号本身的含义和求问事项
---
## 输入模式
### 数字模式 `--numbers`
直接提供 3 个数字(逗号分隔),用作三传计算的步数。
```bash
uv run scripts/xiaoliu.py --numbers 3,5,7 --question "事业运势" --format json
```
### 日期时间模式 `--datetime`
提供公历日期时间,系统自动转换:
1. 公历 → **农历**(使用 `lunardate` 库)
2. 取农历**月份**作为第一个数字
3. 取农历**日期**作为第二个数字
4. 将小时转换为**时辰序号**作为第三个数字
```bash
uv run scripts/xiaoliu.py --datetime "2025-07-15 10:30" --question "面试能成功吗" --format json
```
**时辰对照表**
| 时辰 | 时间段 | 序号 |
|:---:|:---:|:---:|
| 子时 | 23:00-01:00 | 1 |
| 丑时 | 01:00-03:00 | 2 |
| 寅时 | 03:00-05:00 | 3 |
| 卯时 | 05:00-07:00 | 4 |
| 辰时 | 07:00-09:00 | 5 |
| 巳时 | 09:00-11:00 | 6 |
| 午时 | 11:00-13:00 | 7 |
| 未时 | 13:00-15:00 | 8 |
| 申时 | 15:00-17:00 | 9 |
| 酉时 | 17:00-19:00 | 10 |
| 戌时 | 19:00-21:00 | 11 |
| 亥时 | 21:00-23:00 | 12 |
### 汉字模式 `--chars`
提供 3 个汉字,系统查询笔画数作为输入数字:
```bash
uv run scripts/xiaoliu.py --chars "天地人" --question "感情运势" --format json
```
- 内置约 150+ 常用汉字笔画表
- 不在表中的字使用 Unicode 编码取模近似
### 当前时间模式 `--now`
使用系统当前时间,自动按日期时间模式转换:
```bash
uv run scripts/xiaoliu.py --now --question "今天适合出行吗" --format json
```
---
## 使用演示
安装完成后,在 Claude Code 中直接用自然语言即可唤起占卜技能。以下为典型使用场景:
### Demo 1当前时间占卜
**用户输入**
> 占一卦今日运势
Claude Code 自动识别占卜意图,调用 `--now` 模式获取当前时间,转换为农历月日和时辰后计算三传,生成完整的占卜报告和 AI 解读。
### Demo 2指定日期占卜
**用户输入**
> 2025年7月15日上午10点半面试帮我占一卦
Claude Code 从自然语言中提取日期时间 `2025-07-15 10:30`,调用 `--datetime` 模式:
- 公历 2025-07-15 → 农历六月二十一
- 10:30 → 巳时(序号 6
- 输入数字:`[6, 21, 6]`
- 三传结果:空亡(土) → 桃花(土) → 赤口(金)
- 五行关系:同 → 生
AI 解读会结合面试场景,分析初期可能的不确定感(空亡)、人际交流的重要性(桃花)、以及需注意口舌争端的提醒(赤口)。
### Demo 3汉字起卦
**用户输入**
> 用"天地人"三个字帮我算算感情运势
Claude Code 提取汉字并调用 `--chars` 模式:
- 天 = 4 画,地 = 6 画,人 = 2 画
- 输入数字:`[4, 6, 2]`
- 三传结果:赤口(金) → 天德(金) → 大安(木)
- 五行关系:同 → 克
AI 解读会结合感情主题,提醒注意口舌之争(赤口)、可寻求长辈指点(天德)、最终趋于安稳(大安)。
### Demo 4数字起卦
**用户输入**
> 我心里想了三个数 3、5、7占一卦事业运
Claude Code 提取数字并调用 `--numbers 3,5,7`
- 三传结果根据数字 `[3, 5, 7]` 计算
- AI 解读会围绕事业主题展开分析
### Demo 5生活场景
**用户输入**
> 我爸爸下周三要做白内障手术,帮我占一卦
Claude Code 会根据下周三的具体日期调用 `--datetime` 模式生成完整的占卜报告。AI 解读会结合健康/手术主题,分析三传卦象的含义,给出实际的宽慰和建议。
> 报告输出使用内置的 Markdown 模板,包含三传结果表格、符号详解、五行关系、以及 AI 智慧解读。
---
## 使用第三方 LLM 解读(可选)
默认情况下,占卜解读由 Claude Code 内置模型完成,无需额外配置。如果你希望使用第三方模型(如 DeepSeek、GPT、Kimi 等),按以下两步配置:
### 第 1 步:在 `config.yaml` 中激活模型
编辑 `.claude/skills/mini-six-ren/config.yaml`,取消注释你想使用的模型行:
```yaml
# 取消注释下方某一行以启用第三方模型解读。
# 不配置或全部注释 = 使用 Claude Code 内置模型解读(默认)。
# --- DeepSeek ---
model: deepseek:deepseek-chat
# --- OpenAI ---
# model: openai:gpt-5-mini
# model: openai:gpt-5.2
# --- Moonshot Kimi ---
# model: kimi:kimi-k2.5
# --- Anthropic ---
# model: anthropic:claude-sonnet-4.5
# --- Google Gemini ---
# model: google:gemini-3-flash
# ... 更多选项见 config.yaml 文件
```
> 同一时间只能激活一个模型,确保只有一行 `model:` 未被注释。
### 第 2 步:在 `.env` 中提供 API Key
参照 `.env.sample`,在 `.claude/skills/mini-six-ren/.env` 中填入对应的 API Key
```bash
# 示例:使用 DeepSeek
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
# 示例:使用 OpenAI
# OPENAI_API_KEY=sk-your-openai-api-key
```
完整的 Provider 与 API Key 对照表:
| Provider | `config.yaml` 前缀 | `.env` 变量 |
|---|---|---|
| DeepSeek | `deepseek:` | `DEEPSEEK_API_KEY` |
| OpenAI | `openai:` | `OPENAI_API_KEY` |
| Anthropic | `anthropic:` | `ANTHROPIC_API_KEY` |
| Google Gemini | `google:` | `GEMINI_API_KEY` |
| Moonshot Kimi | `kimi:` | `MOONSHOT_API_KEY` |
| Alibaba Qwen | `qwen:` | `DASHSCOPE_API_KEY` |
| Zhipu GLM | `glm:` | `ZHIPU_API_KEY` |
> 切换回内置模型:将 `config.yaml` 中的 `model:` 行全部注释掉即可。
---
## 项目结构
```
.claude/skills/mini-six-ren/ # Claude Code 技能目录
├── SKILL.md # 技能定义(工作流、触发关键词、分析指南)
├── config.yaml # 第三方 LLM 模型配置(可选)
├── .env.sample # API Key 配置示例
├── .env # API Key不提交到 Git
├── scripts/
│ ├── xiaoliu.py # 核心算法PEP 723 单文件脚本)
│ └── interpret.py # 第三方 LLM 解读脚本
├── examples/
│ ├── example_number_input.md # 数字输入示例
│ ├── example_datetime_input.md # 日期时间输入示例
│ └── example_chars_input.md # 汉字输入示例
├── assets/
│ └── template.md # 占卜报告 Markdown 模板
└── references/
└── symbols_reference.md # 九宫符号详解参考表
```
---
## 技术细节
### 脚本运行
`xiaoliu.py` 使用 [PEP 723](https://peps.python.org/pep-0723/) 内联脚本元数据,通过 `uv run` 直接执行,无需预先安装项目或创建虚拟环境:
```bash
uv run scripts/xiaoliu.py --now --format text
```
唯一外部依赖为 `lunardate>=0.2.0`公历↔农历转换uv 会在首次运行时自动安装。
### 输出格式
- `--format json`:结构化 JSON供 LLM 分析和模板填充
- `--format text`:人类可读的文本表格
### LLM 分析结构
技能调用 `--format json` 获取结构化数据后LLM 按以下结构生成解读:
1. **卦象总览** — 三传符号和五行总结
2. **时间发展脉络** — 初传(当前状态)→ 中传(发展变化)→ 末传(最终结果)
3. **五行生克解读** — 元素关系如何影响事态走向
4. **具体建议** — 与求问事项相关的可操作建议
5. **关键提示** — 方位、时机、神灵等辅助信息
---
## 许可证
MIT
## 免责声明
本项目为文化传承和娱乐用途,占卜结果仅供参考。请勿将占卜结果作为重大决策的唯一依据。