# Dowsing

> 梅花易数失物占（Lost Item Divination）专用技能。当用户丢失物品、找不到东西、宠物走失、请求失物占时使用。触发词：失物、丢了、不见了、找不到、失物占、找东西、走失、宠物、lost item、dowsing、寻物。

- Skill: `raphaelxie/dowsing` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add raphaelxie/dowsing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/raphaelxie/dowsing/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: raphaelxie (https://skillmd.com/u/raphaelxie)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/raphaelxie/dowsing

---


# 失物占 — Dowsing

梅花易数**失物占**专用系统。用确定性脚本起卦，输出结构化搜寻报告。

> 定位：结构化搜索启发器，用于打破搜寻盲区。仅供参考，不作绝对预言。

## 何时使用

- 用户说东西丢了、找不到、不见了
- 用户的宠物（猫/狗）走失，需判断去向
- 用户请求失物占、寻物、找东西
- 触发词：失物、丢了、找不到、失物占、找东西、走失、宠物、lost item、dowsing

## 核心理念

- **体卦** = 失主（问卦者）
- **用卦** = 失物（所找之物 / 走失的宠物）
- **方位优先**：用卦后天方位是**跨语境最稳定的线索**，以失物最后出现的位置为原点
- **用卦类象（依语境取象）** = 具体搜索场景
- **变卦** = 是否移动、第二搜索区（**两卦方位可组合**，如离南+兑西=西南，引擎自动输出 `combined_direction`）
- **互卦** = 中间经过处（**上下两卦各自提供方向线索**）
- **体用生克** = 能否找回 + 远近 / 宠物是否自归

## 用户引导

### 带具体失物时（必读）

当用户说「我的 XX 丢了」时，先确认失物名称，**再确认失物语境**（不可默认在家），最后询问起卦方式：

```
你想找「{物品名}」。
请问它大概在什么场景丢失？
A. 居家（home）        B. 公共场所/户外（public，如图书馆/商场/街道）
C. 交通工具（transit，如飞机/大巴/火车）   D. 走失的宠物（pet）

起卦方式：
1. 时间卦 — 以当前时间起卦（最常用）
2. 数字卦 — 请报 2～3 个数字（心里默想的数字即可）
```

**关键**：语境决定取象。在公共场所丢失却用居家场景（洗衣机、床底）会误导用户。若用户未明说，根据描述推断语境；实在无法判断时用 `general`。

**不要**在用户未选择时直接用时间起卦。

### 首次使用（无具体物品）

简要介绍功能（含「也能帮找走失的宠物」），引导用户说明丢了什么、在哪丢的，再问起卦方式。

## 起卦流程（必须调用脚本）

**所有起卦计算必须由脚本完成，不可手算或猜测。**

通过 `--context` 传入语境：`home` / `public` / `transit` / `pet` / `general`（默认）。

```bash
# 当前时间
python scripts/shiwu_calc.py time --item {物品名} --context {语境}

# 公历时间
python scripts/shiwu_calc.py gregorian Y M D H --item {物品名} --context {语境}

# 农历时间
python scripts/shiwu_calc.py lunar Y M D H --item {物品名} --context {语境}

# 数字卦（2 个数：第三数可选为动爻；无第三数则用两数之和定动爻）
python scripts/shiwu_calc.py num N1 N2 [N3] --item {物品名} --context {语境}
```

示例：
```bash
python scripts/shiwu_calc.py time --item 充电线 --context public
python scripts/shiwu_calc.py time --item 猫 --context pet
```

脚本输出 JSON **SearchReport**。读取 JSON 后，结合 `references/` 补充定性解读，渲染为用户可读的搜寻报告。

若无法执行 Python，明确告知用户并请其在本地运行上述命令，将 JSON 贴回。

## 解卦步骤

1. **确认语境** → 居家/公共/交通/宠物（决定取象）
2. **运行脚本（带 --context）** → 获取 SearchReport JSON
3. **先报方位** → `primary_direction` 是首要线索，提醒以失物最后出现处为原点
4. **读用卦类象** → `references/bagua-shiwu.md` 对应语境补充场景
5. **判体用生克** → `references/tiyong-shiwu.md` 解读能否找回 / 宠物是否自归
6. **看变卦 / 互卦** → 是否移动、第二搜索区。
   **变卦和互卦均由上下两卦组成**，除用卦那一半的方位外，
   还应关注另一半的方位——`paired_direction` 字段提供配对方向，
   `combined_direction` 字段在可合成复合方向时自动输出
   （如变卦离上兑下 → 离南+兑西=西南坤方）。
7. **输出搜寻报告**（格式见下）
8. **必出【下一步】** 行动建议
9. **提示回填**：是否找到？在哪找到？

## 搜寻报告模板（必须完整输出）

```
【失物占 · 搜寻报告】

失物：{物品名}　语境：{居家/公共场所/交通工具/走失生物}
本卦：{卦名}（第 {动爻} 爻动）

── 首要线索：方位 ──
主方向：{primary_direction}（以失物最后出现的位置为原点）

── 能否找回 ──
倾向：{易得/可得/难寻/难得}
理由：{体用生克说明}

── 优先搜索区 ──
1. {方位} · {场景1、场景2、场景3}（{范围说明}）
2. {方位} · {场景...}（若变卦两卦合参有复合方向：{combined_direction}）
3. {互卦路径，若有；互卦的 paired_direction 另半方位也应留意}

── 移动判断 ──
{moved 字段内容}

── 体用 ──
体：{体卦}（失主）
用：{用卦}（失物/宠物）
关系：{生克}

【下一步】
{action_advice 原文，或改写为更具体的 1～2 句行动指令}

---
{disclaimer}
找到后请告诉我：是否找到？在哪个具体位置找到的？（帮助改进搜寻建议）
```

## 参考资料路由

| 需求 | 文件 |
|------|------|
| 八卦方位与语境类象 | `references/bagua-shiwu.md` |
| 体用生克 / 宠物自归 | `references/tiyong-shiwu.md` |
| 验证案例（含图书馆/飞机/宠物） | `references/cases.md` |

## 断卦原则

1. **理大于象**：结合语境取象。同一用卦在居家/公共/交通/宠物语境下场景不同，不可一律用居家场景
2. **方位优先**：用卦后天方位是跨语境最稳定的线索，以失物最后出现处为原点，先报方位再说场景
3. **措辞谦逊**：用「倾向」「可能」「建议先查」，不用「一定」「绝对」
4. **不作应期**：MVP 不推断时间，勿编造「几天后找到」
5. **策略必出**：每次必须给出【下一步】具体该往哪个方向找

## 伦理准则

- 吉凶并陈，不偏颇
- 不预测死亡、极端不幸
- 不替代报警（贵重物品建议同时报警）
- 强调参考性质，鼓励用户结合实际情况
- 心理脆弱者格外强调「搜索启发」定位

## 经典案例

金手链丢失，用卦**坎**（水象）→ 提示近水处 → 在**洗衣机**找到。详见 `references/cases.md`。

---

「穷则变，变则通，通则久。」失物占的真谛：指引你去还没找过的地方，而非预定命运。

