mcpField
P
paper-glossary

paper-glossary

github.com/917dhj生产力1.3k469 次安装今天更新
代码仓库

关于 paper-glossary

paper-glossary 是从论文来源清单提取候选术语并管理术语笔记的 Skill。它先展示经审查的候选项并等待选择,也可将术语链接到明确指定的文章 Markdown 文件。

主要功能

  1. 01从论文来源提议术语
  2. 02审查并选择候选项
  3. 03创建或补充术语笔记
  4. 04在文章 Markdown 中链接术语
  5. 05校验已更改的术语笔记

适用场景

  1. 01根据论文建立术语表
  2. 02为现有术语笔记补充缺失字段
  3. 03在文章笔记中链接选定术语

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/917dhj/deeppapernote --skill paper-glossary

安装后在 Claude Code 中输入/paper-glossary确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
agents/
openai.yaml
references/
file-contract.md
optimization-design.md
optimization-implementation-plan.md
scripts/
configure_glossary.py
glossary_common.py
glossary_config.py
glossary_contracts.py
glossary_library.py
inspect_glossary_library.py
link_glossary_terms.py
lint_glossary.py
plan_glossary.py
write_glossary_terms.py
tests/
conftest.py
test_glossary_config.py
test_glossary_library.py
test_link_glossary_terms.py
test_plan_glossary.py
test_skill_boundary.py
test_workflow_integration.py
test_write_and_lint_glossary.py

详细介绍

论文术语表

根据 *_source_manifest.json 构建共享术语表备注。始终需要提供 --source-manifest;--raw-sections 仅用于通过显式指定的 *_raw_sections.jsonl 覆盖其中的 raw_sections_path。此技能绝不会运行或修改论文阅读工作流;清单和原始章节文件是其唯一的论文内容边界。JSON 和 CLI 合约请参阅 references/file-contract.md。

预览并等待(默认)

  1. 首次使用时显示已保存的配置(针对每个人/设备)。如果没有配置,请询问用户在 Obsidian 库中的术语目录并进行配置;之后重复使用有效配置。设置可能会创建 ~/.paper-glossary/config.json。
  2. 当用户请求文章链接时,必须要求提供明确的文章 Markdown 路径。验证该路径与已配置的术语目录位于同一个 Obsidian 库中;绝不推断文章路径。
  3. 根据有效正文运行确定性提案。
  4. 恰好执行一次有依据的宿主语义审查,并受 shortlist_limit 限制。审查只能删除或重新排序候选项,且必须保留每个保留提案候选项的准确 term 字符串。
  5. 使用 plan_glossary.py --review-proposal PROPOSAL --reviewed-terms NAMES 记录经过审查的候选列表;此操作会根据当前论文来源验证已保存的提案,并保留每个完整候选项、排序后的 surface_forms 和出处。 如果审查后候选列表为空,则报告 no_candidates 并停止,不要显示选择器。
  6. 将已审查产物中保留的所有术语以带编号的 Markdown 列表呈现。这是终端、Codex 和 Claude Code 的交互界面。显示解析后的术语目录、文章 Markdown 路径(如果未请求,则说明未请求),并说明选择即授权写入/补充术语表,以及在提供文章路径时,为文章中首次安全出现的术语添加链接。
  7. 声明:在用户选择之前,尚未写入任何术语表备注或文章 Markdown。 结束回复并等待。 预览期间不要进行分类、清点、生成、链接或检查。

宽泛请求、清单、原始章节路径或文章路径都不代表用户已批准选择。仅当宿主原生选择器在一次交互中显示完整且相同的列表时,才允许使用。

选择完成后

仅接受紧接在前的编号列表中的数字、精确术语名称或 全部写入。调用脚本前,先将选择解析为显示的精确 term 字符串;全部写入 仅适用于该列表。对于无效选择,返回有效范围并再次等待。分流必须同时提供 --reviewed-shortlist REVIEW 和解析后的精确名称作为 --terms;绝不可单独使用 --terms,也不要添加别名语法。

将当前的 --source-manifest、可选的 --raw-sections 和已保存的 --reviewed-shortlist 传给 inventory、writer 和 linker。Inventory 将已保存的 --triage 工件用作所选术语输入;writer 和 linker 也必须接收同一份已保存的 --triage。在写入任何词汇表或文章之前,它们都要求其 term 和 surface_forms 与这份独立授权完全一致且顺序相同。

  1. 对所选内容进行分流;其选择身份绑定每个精确选定名称及按顺序排列、以论文为依据的形式。
  2. 从该分流工件运行库 inventory;它会重新计算完整的提案/审核/选择溯源链,并在论文、来源、候选短名单或形式不匹配时安全失败。
  3. 然后生成一个具备操作类型感知能力的批次。
  4. 对已配置的词汇表目录运行一次 writer 调用;它会重新验证同一条溯源链,并要求其按顺序排列的 inventory 结果与授权分流完全一致,然后执行整批预检,再执行创建/补充/复用提交。Writer 会解析设备本地配置(或该设备的显式 --config-path),不接受独立的写入目标。使用 --article 时,其反向链接根据解析出的文章 Markdown 文件名(不含扩展名)生成。不提供文章时,仅写入词汇表的反向链接取自经过验证的清单 paper_id。成功生成的工件会保留 triage_sha256、溯源信息、文章上下文、按顺序排列的映射及其确定性 mappings_sha256;映射摘要会绑定分流身份。
  5. 仅当提供/请求了文章 Markdown 时,才在每个成功的 writer 结果首次安全出现的位置进行链接。Linker 会根据同一份当前来源/审核信息验证 writer 溯源、上下文、摘要、注释路径、文件名(不含扩展名)和形式,并拒绝没有绑定文章路径的工件。如果请求仅写入词汇表,则跳过 link_glossary_terms.py。
  6. 对 writer 返回且已更改、action 为 created、enriched 或 updated 的词汇表注释文件,通过一次 lint_glossary.py 调用并使用重复的 --input PATH 参数进行 lint。不要将文章 Markdown 传给 lint_glossary.py。
  7. 报告可观测的挂钟时间和状态。分别计时仅在主机上执行的阶段。每个 CLI 都会为其完整调用输出顶层 elapsed_ms。单次 writer 调用包含整批预检和提交。不要分别报告预检和提交的耗时。

创建 new 条目;对 existing_thin 条目仅补充缺失的结构化字段和缺失的出现位置;对 existing_complete 条目仅添加缺失的出现位置。不要覆盖现有注释内容。关于 existing_thin、条目操作、writer forms 和链接状态,请参阅 references/file-contract.md。

依据

  • anchor_only:简洁说明论文中的用法,并提供精简的一般解释。
  • needs_explanation:标注背景解释,并附上可信度和论文中的出现位置。
  • 排除仅出现在参考文献中的内容作为证据。将论文事实保留在 occurrence 中,并标注外部知识。

评论

支持 Markdown