feat: smart master selection + expanded keywords (6→24 per master)

- /compare-masters now uses keyword matching from meta.json search_scope.keywords
- 3-tier selection: user-specified → keyword matching → topic fallback
- Expanded each master's keywords to 15-25 core concepts (avg 24)
- Document --masters manual override in README

Selection improvements verified:
- '遍行因' → xuanzang (5 matches)
- '明心见性' → huineng (3 matches)
- '空性/中观' → kumarajiva + huineng
- '念佛' → yinguang + ouyi + xuyun
This commit is contained in:
xianren
2026-04-05 09:07:24 +08:00
parent 02df9344b5
commit 6446903daf
10 changed files with 212 additions and 25 deletions
+18
View File
@@ -64,6 +64,24 @@ cd Buddha-skill && pip install -r requirements.txt
/xuyun — 虚云老和尚(禅宗·五宗兼嗣)
```
### 多法师对比
同一问题由 2-3 位法师并列回答,展现宗派视角差异:
```
# 自动选择相关法师
/compare-masters 什么是空性
# 手动指定法师(推荐,结果更精准)
/compare-masters 什么是遍行因 --masters xuanzang,zhiyi,ouyi
# 自然语言触发
请慧能和印光对比回答"如何看待念佛"
比较禅宗和净土宗对修行的看法
```
**选择逻辑**:系统先尝试从用户提问中提取关键词,与每位法师的核心概念匹配;若无强匹配,则按主题映射兜底(念佛/禅修/唯识中观/判教等)。**如果自动选的法师不符合预期,直接用 `--masters` 手动指定**。
### 自定义生成
```
+37 -8
View File
@@ -18,8 +18,42 @@ user-invocable: true
### Step 1:确定对比法师
如果用户指定法师(如"慧能和印光"),直接使用。
否则根据问题自动选择 2-3 位最相关的法师:
**优先级 1 — 用户显式指定**
用户可以通过以下方式显式指定法师:
- `/compare-masters <问题> --masters xuanzang,zhiyi,ouyi`
- "请慧能和印光对比回答..."
- "用玄奘、智顗、蕅益三位对比..."
若用户指定,直接使用(最多取前 3 位),跳过后续选择步骤。
**优先级 2 — 基于关键词智能匹配(无用户指定时)**
读取每位法师的 `${CLAUDE_SKILL_DIR}/prebuilt/{slug}/meta.json` 中的 `search_scope.keywords` 字段,执行以下匹配流程:
1. **提取问题核心概念**:从用户问题中提取 2-4 个佛学关键词(术语、概念、法门)
2. **与 8 位法师的 keywords 字段比对**:记录每位法师的匹配次数和匹配强度
3. **按匹配度排序**:取 top 2-3 位(匹配度相近时,优先选择不同宗派的法师以呈现多元视角)
4. **匹配度判定**
- 强匹配(问题关键词直接出现在法师 keywords 中):权重 3
- 相关匹配(问题关键词属于该法师传承的核心概念领域):权重 2
- 弱匹配(仅部分字面重叠):权重 1
**优先级 3 — 主题映射兜底(关键词无强匹配时)**
若 top 2 法师匹配度均 ≤ 1(即没有清晰的关键词匹配),则按以下主题映射兜底:
| 问题主题 | 配对法师 | 说明 |
|---------|---------|------|
| 念佛 / 往生 / 净土 | yinguang + ouyi | 净土专精 + 跨宗派视角 |
| 参禅 / 话头 / 开悟 / 见性 | huineng + xuyun | 古今禅宗对比 |
| 唯识 / 中观 / 空有 / 因缘 / 六因 | xuanzang + kumarajiva | 唯识 vs 中观 |
| 判教 / 圆融 / 止观 / 法界 | zhiyi + fazang | 天台 vs 华严 |
| 修行次第 / 综合法门 | ouyi + yinguang | 综合 vs 专修 |
| 戒律 / 行持 / 日常 | xuyun + yinguang | 禅门戒律 vs 净土行持 |
| 般若 / 空性 | kumarajiva + huineng | 中观 vs 禅宗体认 |
| 心识 / 本性 / 阿赖耶 | xuanzang + huineng | 唯识分析 vs 禅宗直指 |
| 其他不明主题 | kumarajiva + yinguang | 代表两大传统(中观/净土) |
**可选法师(8位汉传祖师大德):**
- xuanzang(玄奘·唯识)
@@ -31,12 +65,7 @@ user-invocable: true
- ouyi(蕅益·跨宗派)
- xuyun(虚云·禅宗五宗)
**智能配对建议:**
- 念佛问题 → yinguang + ouyi(净土主线 + 跨宗派视角)
- 禅修问题 → huineng + xuyun(古今禅宗对比)
- 教理辨析 → xuanzang + kumarajiva(唯识 vs 中观)
- 判教体系 → zhiyi + fazang(天台 vs 华严)
- 修行次第 → ouyi + yinguang(综合 vs 专修)
**选择完成后**:告知用户选择了哪几位法师及选择原因(让用户知道可以用 `--masters` 覆盖)。
### Step 2:对每位法师执行 RAG 检索
+20 -4
View File
@@ -56,12 +56,28 @@
"dingfubao"
],
"keywords": [
"法界",
"华严",
"十玄",
"六相",
"华严宗",
"法界",
"法界缘起",
"四法界",
"事法界",
"理法界",
"理事无碍",
"事事无碍",
"因陀罗网"
"一即一切",
"相即相入",
"十玄",
"十玄门",
"六相",
"六相圆融",
"圆教",
"五教",
"金师子章",
"因陀罗网",
"一真法界",
"毗卢遮那",
"华严经"
]
}
}
+21 -5
View File
@@ -46,12 +46,28 @@
],
"keywords": [
"自性",
"顿悟",
"见性",
"无念",
"禅",
"本心",
"般若"
"本性",
"佛性",
"顿悟",
"顿教",
"南宗禅",
"见性",
"明心见性",
"直指人心",
"不立文字",
"无念",
"无住",
"无相",
"禅",
"六祖",
"坛经",
"本来无一物",
"般若",
"定慧等学",
"机锋",
"菩提",
"弘忍"
]
}
}
+20 -2
View File
@@ -67,11 +67,29 @@
],
"keywords": [
"空",
"中观",
"三论",
"中道",
"般若",
"法华",
"缘起",
"性空",
"毕竟空",
"八不",
"不二",
"八不"
"实相",
"诸法实相",
"法华",
"一佛乘",
"方便",
"会三归一",
"维摩诘",
"金刚经",
"中论",
"大智度论",
"十二门论",
"百论",
"佛性",
"大乘"
]
}
}
+20 -1
View File
@@ -60,12 +60,31 @@
"tiantai"
],
"keywords": [
"蕅益",
"天台",
"净土",
"念佛",
"弥陀要解",
"教宗天台",
"行归净土",
"禅教律净",
"融通",
"性相融会",
"现前一念",
"一念心性",
"事持",
"理持",
"持名念佛",
"六信",
"信自",
"信他",
"信因",
"信果",
"信事",
"信理",
"教观纲宗",
"止观",
"性相融会"
"明末四大高僧"
]
}
}
+19 -1
View File
@@ -64,11 +64,29 @@
],
"keywords": [
"唯识",
"法相",
"阿赖耶识",
"末那识",
"三性",
"遍计所执",
"依他起",
"圆成实",
"五位百法",
"因明",
"瑜伽"
"瑜伽",
"种子",
"熏习",
"转识成智",
"六因",
"遍行因",
"俱有因",
"异熟因",
"能作因",
"四缘",
"五种不翻",
"成唯识论",
"瑜伽师地论",
"唯识三十颂"
]
}
}
+19 -1
View File
@@ -49,12 +49,30 @@
"dingfubao"
],
"keywords": [
"虚云",
"参禅",
"话头",
"参话头",
"念佛是谁",
"疑情",
"开悟",
"桶底脱落",
"禅七",
"禅净双修"
"行香",
"丛林",
"五宗兼嗣",
"临济",
"曹洞",
"沩仰",
"云门",
"法眼",
"老实修行",
"头陀行",
"持戒",
"禅净双修",
"云居山",
"南华寺",
"云门寺"
]
}
}
+21 -3
View File
@@ -62,12 +62,30 @@
"dingfubao"
],
"keywords": [
"念佛",
"净土",
"往生",
"念佛",
"持名念佛",
"十念法",
"摄耳谛听",
"老实念佛",
"信愿行",
"带业往生",
"仗佛慈力",
"自力他力",
"竖出横超",
"往生",
"极乐",
"阿弥陀",
"极乐"
"阿弥陀佛",
"净土三经",
"敦伦尽分",
"闲邪存诚",
"因果报应",
"诸恶莫作",
"众善奉行",
"文钞",
"一函遍复",
"印光"
]
}
}
+17
View File
@@ -58,11 +58,28 @@
"tiantai"
],
"keywords": [
"天台",
"一念三千",
"三谛",
"三谛圆融",
"止观",
"摩诃止观",
"五时八教",
"圆教",
"别教",
"通教",
"藏教",
"一心三观",
"法华",
"法华玄义",
"十界互具",
"性具",
"性恶",
"六即佛",
"四种三昧",
"圆顿止观",
"观心",
"小释迦",
"圆融"
]
}