forge-discoverylisted
Install: claude install-skill Xinyang-Li666/SciCrucible
# /forge-discovery — 主动文献发现
用户输入关键词 → 多角度 SciMaster 检索 → 去重 → 用户勾选 → 下载。下载后手动触发 `/forge-ingest` 摄入。
> 每周自动速递请用 `/forge-weekly`
---
## 共享规则
> **铁律、证据账本规则、去重规则、Python 脚本、错误处理、额度管理、版权声明** 详见 `references/shared-rules.md`。以下仅列出 discovery 特有流程,共享部分不再重复。
---
## 触发
### 触发
```
/forge-discovery "关键词/课题描述"
```
可选参数:
- `--limit N`(默认 20)
- `--year-from YYYY`
- `--year-to YYYY`
- `--allow-scihub`(启用 Sci-Hub 兜底下载)
### Step B1 — 前置检查
```bash
sci --version
```
如果 `sci` 未安装,给出安装命令并停止。
```bash
sci usage
```
如果额度不足,告知用户剩余额度,建议:
- 全部用 `ultra_low` 模式
- 减少检索角度
- 充值
### Step B2 — 多角度检索
将用户输入分解为 3 个检索角度(同义词、上下位概念、不同侧重)。每个角度运行一次检索:
```bash
cd D:/科研/SciCrucible/raw/search-results
sci search "<角度1>" --limit <N> --mode low
sci search "<角度2>" --limit <N> --mode low
sci search "<角度3>" --limit <N> --mode low
```
查询编号 q1, q2, q3。如果额度紧张(剩余 <10 次),先用 `ultra_low` 扫描一轮再决定。
如果用户传了 `--year-from` 或 `--year-to`,追加到每个 `sci search` 命令中。
### Step B3 — Python 预过滤
执行 `references/shared-rules.md` §Python 预过滤 中的脚本,提取必要字段,控制 token 消耗。
### Step B4 — 去重
```bash
cd D:/科研/SciCrucible
python .claude/skills/forge-discovery/scripts/dedup.py raw/search-results/json/search-results-*.json --index wiki/literature_index.json --wiki-dir wiki
```
- 索引存在 → O(1) 查找(快)
- 索引不存在 → 自动 fallback 到实时正则解析 `wiki/**/literature/*.md`(递归覆盖各课题)
- 输出:去重报告(stderr)+ 去重后 JSON(stdout)
### Step B5 — 展示结果 + 等待用户勾选
终端精简列表(一行一篇):
```
🔍 检索主题: "high entropy ceramic oxidation resistance"
检索时间: 2026-07-06 14:30
检索角度: q1 "high ent