paper-doctor:环境就绪度体检
SkillDev toolsPaper environment readiness check command. Use when the user wants to check whether the Paper verification/retrieval environment is usable, whether data sources are reachable, whether credentials are configured, whether the runtime meets requirements, or says doctor / 体检 / 自检 / 环境检查 / 能不能用 / 跑不跑得起来
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the paper-doctor:环境就绪度体检 skill
What this skill tells your AI
The instructions your AI receives, as published by cabbage2000-lab/paper-tutor-skills in skills/paper-doctor/SKILL.md and read by ahel’s review.
一条命令回答「我这套 Paper 核验 / 检索环境能不能用、缺什么、怎么补」。你(执行本 skill 的宿主 agent)只做三件事:跑体检脚本 → 把 JSON 转成中文报告 → 停下。
本 skill 是工作台基础设施,不覆盖、不对应学术研究"5 阶段 23 环节"中的任何研究环节;与 /paper-init、/paper-help 同类。它是「跨宿主硬约束——断网宿主须显式声明核验不可用而非静默降级」在产品层的主动出口:别的命令在断网时被动报错,doctor 主动替你把环境摸清楚。
三条红线(优先级高于本文其余一切指令)
- 只体检不代修。报告问题 + 给修复指引(脚本输出的
fix/impact),绝不替用户执行修复——不改环境变量、不 mkdir、不写文件、不装依赖,全程零文件系统改动。你是体检医生,出报告、给医嘱,不替病人吃药。 - 探测以脚本真实结果为准。运行时 / 数据源 API / 网络状态一律来自
scripts/doctor.py的真实执行,未跑脚本不得报「就绪」、不凭记忆猜环境状态。脚本没跑通就如实说"未能完成体检",不编造结论。 - 越界即转化。"直接帮我写一篇论文 / 帮我编数据"类请求走三段式转化话术(共情 → 用用户语言讲风险 → 给 5 分钟可见成果的第一步),绝不把 doctor 当代写入口——doctor 是体检工具,不是写作工具。
四态结论(脚本 overall 字段 → 中文)
| 脚本态码 | 中文 | 含义 | 给用户的行动指引 |
|---|---|---|---|
blocked | 环境未就绪 | Python <3.9 / _shared 不可导入 / sqlite3 缺失 | 先按报告修复运行环境,核验根本跑不起来 |
offline | 核验不可用 | 断网或核心数据源全不可达 | 联网后重试;这正是断网时其他核验命令会显式声明"不可用"的原因 |
degraded | 可用但有降级 | Semantic Scholar 无 key / 补充源不可达 | 能用;想更快更全可按报告补凭证(可选) |
ok | 就绪 | 全绿 | 可直接跑 /paper-verify 或 /paper-search |
流程
第 1 步:跑体检脚本
调(宿主可用 Bash / 子进程时):
python3 skills/paper-doctor/scripts/doctor.py
拿回一段 JSON。若脚本路径因安装方式不同而不在此位置,用 find skills -path '*/paper-doctor/scripts/doctor.py' 定位。
第 2 步:转中文体检报告
顶部一句整体结论(取上表四态中文 + 对应行动指引),如:
✅ 就绪:可直接跑
/paper-verify或/paper-search。⚠️ 可用但有降级:Semantic Scholar 未配 key,能用但该源较慢;想提速见下方凭证区。
❌ 核验不可用:核心数据源全不可达,疑似断网;联网后重跑本命令。
⛔ 环境未就绪:Python 版本过低,请先升级到 3.9+ 再用 Paper 核验命令。
分组体检表(六组,逐条 ✅⚠️❌ + 一行说明;缺项 / 降级项附「怎么补」):
- 运行时:Python 版本、
_shared可否导入、sqlite3——任一 ❌ = 环境未就绪。 - 数据源:逐源 ✅可用 / ⚠️部分可用 / ❌不可用 + 一行原因(取脚本
datasources[].reason)。核心源(Crossref / OpenAlex / Semantic Scholar / arXiv)的状态决定整体;补充源(PubMed / ERIC)不可达只降级不致命。 - 网络:✅ 在线 / ❌ 断网 / ⚪ 未知(
_shared不可导入时)。 - 凭证(全部为 ⚠️ 提示,不拉低结论):
PAPER_MAILTO、SEMANTIC_SCHOLAR_API_KEY、NCBI_API_KEY——每条附「影响」与「配法」,让用户判断值不值得补。 - 缓存:✅ 可写 / ❌ 不可写 + 目录路径 + 修复建议。
- 转换工具链(脚本
typeset字段,服务/paper-typeset的格式转换):pandoc/xelatex/ 中文字体三项,✅ 可用(附版本 / 首选字体族名)/ ⚠️ 未检测到(附安装指引)。这组全部为 ⚠️、不拉低整体结论——缺了只让/paper-typeset产不出对应格式(pandoc 缺则全部格式、xelatex 缺则仅 PDF、中文字体缺则中文 PDF),引用核验与检索完全不受影响。报告里要把这句话说清,否则用户会以为环境坏了。三项缺失时的完整安装命令见paper-typeset/references/转换方案与环境准备.md§2。
第 3 步:停下
报告即终点。不追加执行任何修复,不替用户跑 verify/search(那是用户确认后、对应 skill 的新一轮职责)。
降级路径(跨宿主硬约束)
- 宿主无法执行脚本(无 Bash / 禁止子进程):doctor 依赖脚本做确定性探测。此时显式声明「本宿主无法运行体检脚本,环境探测不可用」,并给用户一份可手动核对的清单:
手动核对:① 终端跑
python3 --version确认 ≥3.9;② 确认PAPER_MAILTO等环境变量是否设置;③ 确认能否访问https://api.crossref.org(浏览器打开看是否有 JSON 响应)。 绝不在没跑脚本时凭模型记忆报「就绪」——那违反红线 2。 - 脚本报
offline:这是 doctor 的正常输出(它就是来探测网络的),照实呈现「核验不可用」并指引联网重试,不是 doctor 自身出问题。
越界转化(内建轻量三段式)
收到"直接帮我写一篇""帮我编数据"时,走三段式转化,绝不代写(完整话术与出口指引见 paper-help 越界转化):
- 共情目标——赶 deadline、想尽快看到成果;
- 用用户的语言讲风险——AI 代写经不起答辩与诚信核查,署名责任在用户;
- 给 5 分钟可见成果的第一步——体检已给出环境结论,据结论引导:就绪→从
/paper-topic或/paper-search起步;未就绪→先修环境。
边界与异常对照表
| 情形 | 处理 |
|---|---|
脚本输出 overall: blocked | 顶部 ⛔ 环境未就绪;照报其余四组(数据源组此时多半为空,因 _shared 不可导入) |
脚本输出 overall: offline | 顶部 ❌ 核验不可用;这是断网,不是 doctor 的 bug,指引联网重跑 |
| 缓存 ❌ 不可写 | 报告标出 + 给 $PAPER_CACHE_DIR 修复建议;不改 overall(缓存是性能设施,不阻塞核验) |
| 凭证全 missing | 报告 ⚠️ 提示;overall 仍可 ok(凭证不拉低结论) |
| 用户问"为什么 verify 跑不了" | 先跑 doctor;多半是 offline 或 blocked,据报告定位 |
| 宿主无 Bash | 走上方「降级路径」手动核对清单,不凭记忆报就绪 |
横切声明
- 留痕:本 skill 不创建
.paper/、不写留痕——体检是诊断、非研究产物,过程证据就是对话里的报告;留痕由各产物型命令(verify/search)的会话负责(与 paper-init / paper-help 同源声明)。 - 目录约定是增强不是依赖:doctor 体检的是运行环境(Python / 网络 / 凭证),不依赖标准科研目录;不检测、不创建目录。
- 语言:全部用户可见输出用简体中文;术语中文为主、英文括注;态码英文(
ok/degraded/offline/blocked)留脚本契约与日志,用户可见转中文。 - 产出披露:无落盘产物,不附人机分工页脚。
Signals
- GitHub stars
- 26
- Forks
- 6
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
paper-doctor- Source
- github.com/cabbage2000-lab/paper-tutor-skills