1实现原理 · 为什么它能做到
它不是一个 skill,而是一套 4-skill 套件(academic-paper 写作 / academic-paper-reviewer 评审 / deep-research 研究 / academic-pipeline 编排),全部模式收在一份登记表里:27 modes、单一事实源,改模式必须先改登记表。
Single source of truth for all modes across the ARS suite. **27 modes** across 4 skills.
编排层刻意做成『不做事』:只做阶段检测、模式推荐、派发与状态跟踪,实质性工作交给另外三个 skill。
It does not perform substantive work — it only detects stages, recommends modes, dispatches skills, manages transitions, and tracks state.
写作侧把 8 阶段流水线拆成 12 个角色 prompt,并在 full 模式用 v3.6.6 的 generator-evaluator 四调用契约做物理隔离——同一段逻辑被拆成四次模型调用,避免『先看稿再把标准合理化』。
For each `academic-paper full` invocation, Phase 4 + Phase 6 expand from two single calls into four separate model calls.
完整性闸门是强制的、会真的阻塞流水线:Stage 2.5 与 Stage 4.5 必须跑 7-mode 的 AI Research Failure Mode Checklist,命中 SUSPECTED 或关键模式 INSUFFICIENT EVIDENCE 即 block。
If any of the 7 modes is `SUSPECTED`, or if Modes 1/3/5/6 are `INSUFFICIENT EVIDENCE`, the pipeline **blocks**
评审侧是 5 席面板(Journal-Fit + 3 位同行 + 固定 Devil's Advocate),且被硬约束为只读——不允许改稿。
Reviewers MUST NOT modify the submitted manuscript.
写作用域不是靠自觉,而是 hook 层强制:PreToolUse 拦截 Write/Edit/MultiEdit/Bash,交给 Python 守卫判定;守卫失败时降级为 pass-through,且绝不输出 allow。
# Canonical pass-through output: no permissionDecision => falls back to the normal permission # flow (NEVER emit "allow" — that would skip every other permission rule).
引文校验是确定性的四索引存在性闸门(Crossref / OpenAlex / arXiv / Semantic Scholar),结果进本地缓存,且明确把用户自述『我读过了』与独立证据区分开。
The deterministic citation-existence gate (#182) fires at the Stage 2.5 / 4.5 integrity gates or on standalone `verify_passport.py` / `verify_citation` calls, cache-through by default.
网络面被自我披露并用 CI 强制同步:任何脚本新增直连网络 import 或 shell 新增 curl,都必须先在 DATA_FLOWS.md 登记,否则 CI 失败。
a script that gains a *direct* network import, or a shell script that gains a `curl`, fails CI until it has a row here.
唯一默认自动外呼是会话启动的版本检查:curl 上游 plugin.json 做版本比对,24h 缓存、3s 超时、可一键关闭,并有反投毒式的版本串校验。
REMOTE_URL="${ARS_UPDATE_CHECK_REMOTE_URL:-https://raw.githubusercontent.com/Imbad0202/academic-research-skills/main/.claude-plugin/plugin.json}"
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| api | Semantic Scholar Graph API(引文存在性校验,key 可选,无 key 也工作) |
| api | OpenAlex API(引文存在性校验,支持 polite email) |
| api | Crossref REST API(DOI 元数据/存在性) |
| api | arXiv API(预印本存在性,无 key,≥3s 节流) |
| api | 跨模型盲评(opt-in,需 env + 逐会话同意;评审卡与论文元数据会发往外部 provider) |
| network | 会话启动版本检查(默认开启,curl 上游 plugin.json,3s 超时,ARS_UPDATE_CHECK=0 关闭) |
| cli | python3(守卫、校验、引文客户端等 ~431 个脚本;README 称核心技能是 prompt-driven,python 仅守卫与少数 opt-in 命令可选) |
| cli | Pandoc / tectonic + Source Han Serif TC(DOCX / APA 7.0 PDF 输出,可选) |
| package | 开发依赖(pytest / yaml / jsonschema),CI 内 pip install |
4风险提醒 风险提醒:橙色 · 评估后使用
- 凭证与环境变量接触面广 — 跨模型评审需要 OPENAI_API_KEY / GOOGLE_AI_API_KEY / ARS_OPENAI_COMPAT_API_KEY;引文侧可选 S2_API_KEY / OPENALEX_API_KEY / CROSSREF_POLITE_EMAIL;校准语料脚本读 OPENREVIEW_USERNAME/PASSWORD。凡启用这些特性,密钥就进入会话进程环境。
- 启用即联网,且有会话启动自动外呼 — SessionStart → announce-ars-loaded.sh → ars_update_check.sh 默认 curl 上游;除非显式 ARS_UPDATE_CHECK=0。内网/气隙环境需先关掉。
- 跨模型盲评会把稿件相关数据发往第三方 provider — docs/DATA_FLOWS.md 列明 api.openai.com / generativelanguage.googleapis.com / 自设 base URL,发送内容是评审卡与论文元数据。虽有 env + 逐会话同意双门控,但未发表稿件的数据出境仍需按机构合规评估。
- 反注入防线只覆盖评审路径 — academic-paper / deep-research / academic-pipeline 三目录无等价『不可信材料』条款,而写作与研究同样会摄入 PDF、网页与索引返回文本;docs/RISK_REGISTER.md 的 R3 已把间接注入列为已知风险。
- 闸门有效性未被测量,宣传口径与自评有落差 — 引文存在性闸门标 `NOT_RUN`(无漏检率),评审校准 `NOT_WIRED_TO_LIVE_REVIEW`,showcase 实测三轮完整性检查后仍有 31% 引用问题残留。不要把『有闸门』等同于『已消除引用幻觉』。
- 体量与耦合带来的实际可用性成本 — 4 个 skill + 431 脚本 + 16 命令 + 14 CI workflow + 独立 pi 适配层;非 Claude Code 宿主(如 Pi)会失去 hook,写作用域退化为 prompt 级(pi/wrapper.js 自述)。
- 非商业许可 — CC-BY-NC-4.0:商用(含对外收费服务)需另行取得授权;与套件本身的『可自由安装』程度不是一回事。
5第二遍独立确认
- [ok] skill.path(任务表标『待定位』);套件条目指向哪个具体 skill — 本条目展示名『Academic Research Skills』对应的是 4-skill 套件,仓库根无集合级 SKILL.md。skill.path 现指向套件编排器 academic-pipeline —— 它是 research→write→review→revise→finalize 全流程的入口与状态机(10 阶段、强制完整性闸门、passport 续航),也是 plugin.json 描述的『Contract-audited academic research pipeline』最直接的承载者。其余 3 个并列 skill 为:academic-paper(12-agent 写作流水线)、academic-paper-reviewer(5 席评审面板)、deep-research(13-agent 研究流水线);另注意仓库内 skills/ 目录只有 4 个指向上述目录的符号链接,是给按 skills/ 查找的宿主用的发现 shim。本 JSON 的 caps/assets 覆盖全套件,evidence 逐条指向各自子目录。
- [discrepancy] official_desc 取哪一份(套件无集合级 frontmatter description) — 套件在仓库根没有集合级 SKILL.md/frontmatter description,因此官方描述有两个候选口径:代表 skill academic-pipeline 的 frontmatter description(逐字原文,含 10-stage 编排与多语触发词),或 .claude-plugin/plugin.json 的集合级 description('Contract-audited academic research pipeline for Claude Code: research → write → review → revise → finalize. 4 skills, 27 modes, 39 prompt roles…')。本条目 official_desc 采用前者(与 skill.path 指向的具体 skill 一致,满足『official_desc = SKILL.md frontmatter 原文』的取证规则);集合级口径已逐字记入 internal_assets 的 academic-pipeline/SKILL.md 条目说明,不丢失信息。注意该 description 本身在源文件里就是长触发词清单(中/韩/西多语),属原文形态而非我方截断。
- [discrepancy] 13-agent 声称 vs agents/ 实际文件数 — deep-research/SKILL.md 写 '## Agent Team (13 Agents)',而 deep-research/agents/ 实有 14 个文件(多出 timeline_extraction_agent.md)。docs/ARCHITECTURE.md §9 把它归入 v3.9.4 时间线校验咨询层('v3.9.4 temporal verification advisory layer (M1 timeline_extraction_agent + M2 5-pass verifier at Phase 4→5 + M3 IRON RULE + M6 first-party Crossref/pdftotext)'),即新增角色未回填到 SKILL.md 的 Agent Team 表——属文档滞后,不是能力夸大。其余三个 skill 的声称数与文件数一致(12/7/5)。
- [ok] 『39 prompt roles』是否有据 — 权威源 scripts/model_tiering_manifest.json 的 agents 数组恰 39 条(每条 path+tier:judgment/execution),shared/model_tiering.md 标题 '## Classification table (39 agents; frozen 2026-07-11, #517)',且 scripts/check_model_tiering.py 把该 manifest 与磁盘 *_agent.md、文档表三方钉死。磁盘 42 个 *_agent.md 中未被 manifest 收录的 3 个正是根 agents/(插件可见,model: inherit),与 plugin.json 自述一致。
- [ok] 『14 workflows』与仓库实际 — scout 记为低风险未核(只见到 13 个名字);本人 ls .github/workflows 得 14 个 yml(changelog-covers-merges / command-invariants / defer-label-gate / eval-harness / freshness-check / harness-retirement-monthly / platform-port-reminder / pr-closes-issue / pytest / release-cooldown / repository-hygiene / spec-consistency / tag-version-match / test-count-monotonic),与 ARCHITECTURE 的 'all fourteen workflows' 相符。
- [discrepancy] 引文闸门有效性(README 暗示 vs 自评) — 仓库自己的材料承认未被测量:docs/RISK_REGISTER.md 写 '**Evidence status**: `NOT_RUN` (capability matrix row `retrieval.citation_existence_gate`)' 与 '**Residual gap**: no measured hallucinated-citation catch rate';examples/showcase/README.md 更自曝 'a manual WebSearch audit of all 68 references revealed 21 issues (31%) that survived three rounds of automated integrity checking'。因此本 JSON 只陈述机制存在,不背书其检出率——这属『实现真实、效果未证』。
- [discrepancy] 校准模式是否可用于线上评审 — academic-paper-reviewer/SKILL.md 自认 'a target-specific candidate measured profile labelled `application_status: NOT_WIRED_TO_LIVE_REVIEW`',且线上评审与 Schema 6 包声明 NOT_CALIBRATED。若 README/宣传让人以为面板已校准,应以 SKILL.md 为准。
- [ok] 反注入条款的覆盖面 — 复核确认:仅 academic-paper-reviewer 及 shared/ground_truth_isolation_pattern.md 有显式条款(后者自认 'This is a guidance principle, not a runtime gate.');academic-paper / deep-research / academic-pipeline 三目录 grep injection|untrusted 零命中。已在 security.injection_surface 中按这一实况书写,未把评审侧的防线推广成整套件的能力。
6结论
c34ec0b645ba9a32…7e019f5b25