MCPcopy Create free account

hub / github.com/Haojae/scipilot-cite-skill / functions

Functions68 in github.com/Haojae/scipilot-cite-skill

↓ 6 callersFunctionfirst_author_last_name
提取首作者的姓(最后一个空格后的词)。
scripts/utils.py:181
↓ 6 callersFunctionrate_limited_request
带速率限制和自动重试的 HTTP GET 请求。 返回解析后的 JSON 字典 / 文本字符串;失败返回 None。
scripts/utils.py:66
↓ 5 callersFunctionauthor_last_initials
John Smith' -> 'Smith, J.
scripts/utils.py:249
↓ 5 callersFunctionnormalize_author
把任意作者表示统一成 'First Middle Last' 字符串。
scripts/utils.py:168
↓ 5 callersFunctiontitle_similarity
计算两个标题的相似度,忽略大小写、空格、标点。返回 0-1 之间的浮点数。
scripts/utils.py:51
↓ 4 callersFunctioninitials
John Quincy' -> 'J. Q.
scripts/utils.py:193
↓ 3 callersFunction_clean_paper
(p: dict)
scripts/search_papers.py:37
↓ 3 callersFunctionassign_citation_numbers
根据插入位置的文档顺序分配编号 [1], [2], ... insertion_plan 项至少包含 'paper_idx' 和可比较的 'position' 字段。
scripts/utils.py:126
↓ 3 callersFunctionextract_keywords
基于频率的简单关键词抽取(剔除停用词)。
scripts/utils.py:113
↓ 3 callersFunctionformat_citation
主入口:根据 style 调用对应格式化函数。
scripts/format_citation.py:208
↓ 3 callersFunctionpaper_id_hash
Stable 16-char hex id from DOI (preferred) or (normalized_title|year|first_author_last). Used to bind a paper across search → verify → audit
scripts/utils.py:218
↓ 3 callersFunctionutc_now_iso
ISO 8601 timestamp in UTC with Z suffix.
scripts/utils.py:213
↓ 3 callersFunctionverify_by_cross_check
无 DOI 时,在 S2 和 OpenAlex 中各搜索,确认至少 2 源高度匹配。
scripts/verify_paper.py:98
↓ 2 callersFunction_merge_two
Crossref DOI 优先;引用量取最大;其他字段取更长/更完整的。
scripts/search_papers.py:251
↓ 2 callersFunctionappend_jsonl
Thread-safe append of one JSON record to a JSONL file.
scripts/utils.py:236
↓ 2 callersFunctionauthor_initials_first
John Smith' -> 'J. Smith';已经是姓在前则原样。
scripts/utils.py:199
↓ 2 callersFunctionformat_bibtex_entry
生成 BibTeX 条目。
scripts/format_citation.py:221
↓ 2 callersFunctionmake_bibtex_key
生成 BibTeX key: FirstAuthorLastName_Year_FirstKeyword
scripts/utils.py:146
↓ 2 callersFunctionnormalize
(s: str)
scripts/utils.py:54
↓ 2 callersFunctionparse_docx
读取 .docx 并提取段落、章节结构、现有引用。
scripts/insert_citations_docx.py:33
↓ 2 callersFunctionparse_latex
解析 LaTeX 源码。
scripts/insert_citations_latex.py:25
↓ 2 callersFunctionverify_by_doi
通过 DOI 在 Crossref 验证论文真实性。 返回 {status: VERIFIED|MISMATCH|NOT_FOUND, details: {...}}。
scripts/verify_paper.py:37
↓ 2 callersFunctionverify_paper
主入口:DOI 优先;无 DOI 或 DOI 验证失败则尝试交叉验证。
scripts/verify_paper.py:140
↓ 1 callersFunction_authors_gbt7714
(authors: list[str], max_display: int = 3)
scripts/format_citation.py:66
↓ 1 callersFunction_authors_initials_first
(authors: list[str], max_display: int = 6, et_al_threshold: int = 7)
scripts/format_citation.py:19
↓ 1 callersFunction_authors_last_initials_apa
(authors: list[str], max_display: int = 20)
scripts/format_citation.py:32
↓ 1 callersFunction_authors_nature
(authors: list[str])
scripts/format_citation.py:43
↓ 1 callersFunction_authors_vancouver
(authors: list[str], max_display: int = 6)
scripts/format_citation.py:54
↓ 1 callersFunction_build_bib_file
(papers: list[dict])
scripts/insert_citations_latex.py:188
↓ 1 callersFunction_build_thebibliography
(papers_by_number: dict[int, dict], style: str)
scripts/insert_citations_latex.py:176
↓ 1 callersFunction_cli
()
scripts/search_papers.py:332
↓ 1 callersFunction_cli
()
scripts/insert_citations_docx.py:228
↓ 1 callersFunction_cli
()
scripts/verify_paper.py:223
↓ 1 callersFunction_cli
()
scripts/insert_citations_latex.py:281
↓ 1 callersFunction_cli
()
scripts/audit_no_hallucination.py:172
↓ 1 callersFunction_cli
()
scripts/format_citation.py:250
↓ 1 callersFunction_fail_reasons
(has_log: bool, verdict_ok: bool, live_ok: bool, drift: bool)
scripts/audit_no_hallucination.py:66
↓ 1 callersFunction_first_author_match
(p1: dict, p2: dict)
scripts/search_papers.py:241
↓ 1 callersFunction_lev_ratio
(a: str, b: str)
scripts/utils.py:25
↓ 1 callersFunction_print_human_summary
(report: dict)
scripts/audit_no_hallucination.py:152
↓ 1 callersFunction_reconstruct_abstract
OpenAlex returns abstract as inverted index. Reconstruct linear text.
scripts/search_papers.py:142
↓ 1 callersFunction_search_openalex_title
(title: str, limit: int = 3)
scripts/verify_paper.py:90
↓ 1 callersFunction_search_s2_title
(title: str, limit: int = 3)
scripts/verify_paper.py:82
↓ 1 callersFunction_section_keywords_for
(paper: dict, section_name: str)
scripts/insert_citations_latex.py:95
↓ 1 callersFunction_section_priority
(name: str)
scripts/insert_citations_docx.py:79
↓ 1 callersFunction_section_priority
(section_name: str)
scripts/insert_citations_latex.py:100
↓ 1 callersFunction_split_sentences_with_offsets
返回 [(abs_start, abs_end, sentence_text), ...] abs_end 指向句末标点之后一个位置(即正常 string slice 的右端)。 使用 finditer 跟踪真实位置,不依赖 split 累加(split 会丢掉分隔空白)。
scripts/insert_citations_latex.py:69
↓ 1 callersFunctionaudit
Independently re-verify every paper against live APIs. Cross-check the per-paper verdict against the verification_log. Returns a structu
scripts/audit_no_hallucination.py:79
↓ 1 callersFunctionbatch_verify
并行批量验证。 自动丢弃 UNVERIFIED 的文献,只返回 VERIFIED 和 LIKELY_REAL。 Writes one JSONL record per verification attempt (including UNVERIFIED ones)
scripts/verify_paper.py:170
↓ 1 callersFunctionfind_insertion_points
为每篇文献选择最相关的段落作为插入点。
scripts/insert_citations_docx.py:94
↓ 1 callersFunctionfind_insertion_points
为每篇文献确定最佳插入位置。 返回 [{paper_idx, section_name, position, sentence_offset_end, ...}, ...]
scripts/insert_citations_latex.py:115
↓ 1 callersFunctioninsert_citations_to_docx
在 Word 中插入 [N] 标记并在文末添加 References 章节。 返回 {ok, output, insertions, papers}。
scripts/insert_citations_docx.py:147
↓ 1 callersFunctioninsert_citations_to_latex
在 LaTeX 内容中插入 \\cite{...} 并更新 bibliography。 返回 (modified_tex, bib_file_content_or_None)
scripts/insert_citations_latex.py:192
↓ 1 callersFunctionload_papers
Accept either a bare list or a {'papers': [...]} envelope.
scripts/audit_no_hallucination.py:32
↓ 1 callersFunctionload_verification_log
paper_id -> most-recent verification record (last-write wins).
scripts/audit_no_hallucination.py:43
↓ 1 callersFunctionmerge_and_deduplicate
合并多源结果并去重。DOI 主键去重;无 DOI 用标题+年份+首作者。
scripts/search_papers.py:203
↓ 1 callersFunctionrun
(docx_path: str, papers_json_path: str, style: str = "ieee", output_path: str | None = None)
scripts/insert_citations_docx.py:216
↓ 1 callersFunctionrun
( tex_path: str, papers_json_path: str, style: str = "ieee", use_bibtex: bool = False, out
scripts/insert_citations_latex.py:247
↓ 1 callersFunctionsearch_papers
主入口:并行三源检索 → 合并去重 → 按引用量降序返回。 Writes one JSONL record per merged result to `log_path` so the downstream audit can prove each paper came from
scripts/search_papers.py:272
Functionformat_apa7
APA 第 7 版(作者-年份)。
scripts/format_citation.py:110
Functionformat_gbt7714
GB/T 7714-2015 中文国标格式。
scripts/format_citation.py:167
Functionformat_ieee
IEEE 格式(数字编号)。
scripts/format_citation.py:81
Functionformat_nature
Nature 格式(上标数字编号)。
scripts/format_citation.py:130
Functionformat_vancouver
Vancouver 格式(数字编号,医学/生物)。
scripts/format_citation.py:149
Functionload_template
加载 assets/format_templates/{style}.json
scripts/format_citation.py:199
Functionsearch_crossref
通过 Crossref API 检索论文。
scripts/search_papers.py:154
Functionsearch_openalex
通过 OpenAlex API 检索论文。
scripts/search_papers.py:95
Functionsearch_semantic_scholar
通过 Semantic Scholar API 检索论文。
scripts/search_papers.py:53