fittings-papers
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesefittings-papers
fittings-papers
Three services on , all thin wrappers over the registries that are the authority
for what they hold: Crossref for the DOIs its member publishers registered, ORCID for researcher
records. A call costs between $0.003 and $0.004, settled per request in USDC over x402.
https://fittings.shLive catalog for this slice, free to browse and free to search:
https://fittings.sh/catalog?category=Research%20and%20reference| Service | Price | What it answers |
|---|---|---|
| $0.003 | What is really behind this DOI, and is it real at all |
| $0.004 | Which DOI is this half-remembered work |
| $0.003 | Who is this ORCID iD, where have they worked, what have they published |
https://fittings.sh该分类的实时目录,可免费浏览和搜索:
https://fittings.sh/catalog?category=Research%20and%20reference| 服务 | 价格 | 功能说明 |
|---|---|---|
| $0.003 | 验证DOI是否真实存在,并获取其背后的真实元数据 |
| $0.004 | 根据模糊记忆的作品标题查找对应的DOI |
| $0.003 | 查询ORCID iD对应的研究者身份、任职机构及发表成果 |
When to reach for this
适用场景
A citation is the one fact a model produces most fluently and most wrongly. The invented reference
has the right journal for the subject, authors who plausibly work on it, a year that fits the
argument and a DOI with the correct shape — it survives review because nothing about it looks like a
guess, and it fails at the only moment that matters, when a reader clicks it.
So reach for this before quoting or linking a reference you did not fetch, when auditing a
bibliography someone else wrote, when a title has to become a DOI before anything else can proceed,
when a claim rests on a paper's year or venue rather than its gist, and when two researchers share a
name and only the iD separates them.
模型生成引用时,往往流畅但错误百出。伪造的引用会匹配主题对应的合理期刊、相关领域的作者、符合逻辑的发表年份,以及格式正确的DOI——它能通过审核,因为从表面看毫无破绽,却会在读者点击链接的关键节点失效。
因此,在引用或链接未亲自核实过的参考文献前、审核他人撰写的参考文献列表时、需要先将标题转换为DOI才能推进工作时、论点依赖论文的发表年份或期刊而非核心观点时,以及需要区分同名研究者时,请使用本工具。
When not to
不适用场景
Nothing here returns the body of anything. Do not use it to summarise a paper, judge its quality,
find full text or a PDF, or tell you what a paper argues — a DOI record is metadata, and the abstract
is present only when the publisher happened to deposit one. Do not use it for a person with no ORCID
iD: the register is opt-in, and absence from it is evidence of nothing. Do not buy a lookup whose
answer is already in your context or was supplied by the user; a DOI the user pasted with its title
does not need resolving unless the point is to check that pairing.
Neighbouring jobs live in other slices. Screening a name against sanctions or PEP lists is the
Security slice — and . Company identity and corporate
parentage is the Finance slice — , and . Clinical trials and
PubMed are the Health slice.
csl.name-screenpep.wikidata-screenlei.searchlei.lookuplei.hierarchy本工具不会返回任何文献的正文内容。请勿用它来总结论文、评判论文质量、查找全文或PDF,或获取论文的核心论点——DOI记录仅包含元数据,摘要仅在出版商提交时才会存在。请勿用于无ORCID iD的研究者:ORCID为自愿注册,未注册并不代表任何信息。请勿对上下文已存在或用户提供的信息进行查询;若用户已提供DOI及对应标题,除非需要验证二者是否匹配,否则无需解析。
相关任务请查看其他分类:姓名制裁或政治公众人物(PEP)筛查属于安全分类——和;企业身份及母公司信息属于金融分类——、和;临床试验及PubMed相关内容属于健康分类。
csl.name-screenpep.wikidata-screenlei.searchlei.lookuplei.hierarchyThe free surface
免费功能
Searching the catalog and reading a schema cost nothing, and so does an attempted call with no wallet
configured — the script prints the quote and the exact request it would have sent.
bash
node scripts/call.mjs --search "find the DOI for a paper title"
node scripts/call.mjs --describe crossref.search
curl -s "https://fittings.sh/catalog?category=Research%20and%20reference"--describe浏览目录、查看Schema完全免费;未配置钱包时尝试调用也不会产生费用——脚本会打印报价及拟发送的具体请求。
bash
node scripts/call.mjs --search "find the DOI for a paper title"
node scripts/call.mjs --describe crossref.search
curl -s "https://fittings.sh/catalog?category=Research%20and%20reference"--describeRecipe — checking a citation before it ships
实用指南——发布前检查引用
You have a DOI and need to know it is real, or you have a title and need the DOI. Two services, and
often only the first.
bash
node scripts/call.mjs crossref.doi-metadata doi=10.1038/nature12373
node scripts/call.mjs crossref.search query="nanometre-scale thermometry in a living cell" rows=3crossref.doi-metadatadoi:10.1038/…referenceCountisReferencedByCountreferencesTruncatedWhat matters most in that payload is . A DOI that is syntactically valid but was never
registered comes back with nulls — and that is a paid answer, not an error. It is also
the single most useful result this service produces, because it is proof that a citation is
fabricated. Say so plainly when it happens.
foundfound: falseResolving is not the same as matching. A DOI that resolves to a real paper can still be the wrong
paper for the sentence it is attached to, so compare the returned title, authors and year against the
citation as written rather than stopping at .
found: truecrossref.searchrowsscoretotalResultstotalResultsRead that result as a candidate list, never as an answer. The rank is Crossref's, and a title that
merely shares vocabulary can outrank the one you meant. Confirm the DOI against the authors and year
you already believe before you cite it.
Two coverage limits worth stating to a user, because both look like fabrication and are not. Crossref
holds the DOIs its member publishers registered, so DataCite DOIs — many datasets, theses and
repository deposits — come back not found even though they resolve fine in a browser. And
is null far more often than you would expect, because depositing one is optional; its absence says
nothing about the paper. The difference matters most when you are about to accuse a bibliography of
inventing things.
abstract若你有一个DOI需要验证真实性,或有标题需要查找对应的DOI,可使用以下两项服务,通常仅需第一项即可。
bash
node scripts/call.mjs crossref.doi-metadata doi=10.1038/nature12373
node scripts/call.mjs crossref.search query="nanometre-scale thermometry in a living cell" rows=3crossref.doi-metadatadoi:10.1038/…referenceCountisReferencedByCountreferencesTruncated返回结果中最重要的字段是。格式正确但未注册的DOI会返回及空值——这是付费获取的结果,而非错误信息。这也是本服务最实用的结果,因为它能证明引用是伪造的。若出现此情况,请直接告知用户。
foundfound: false解析与匹配并非同一概念。解析到真实论文的DOI仍可能与上下文引用的内容不符,因此需将返回的标题、作者及年份与原文引用进行比对,而非仅查看。
found: truecrossref.searchrowsscoretotalResultstotalResults请将搜索结果视为候选列表,而非最终答案。排序由Crossref决定,仅共享词汇的标题可能会排在你所需文献的前面。在引用前,请确认DOI与你已知的作者及年份是否匹配。
需向用户说明两个覆盖范围限制,因为这两种情况看似伪造但实际并非如此:Crossref仅存储其成员出版商注册的DOI,因此DataCite DOI(多用于数据集、论文及存储库存档)虽能在浏览器中正常解析,但在Crossref中会显示未找到。此外,字段为空的情况远超预期,因为提交摘要为可选操作;摘要缺失并不代表论文存在问题。这一点在你准备指责参考文献伪造时尤为重要。
abstractRecipe — auditing a bibliography
实用指南——审核参考文献列表
A reference list is the shape that invites one call per row, so decide the shape of the audit before
spending anything. Say what the whole pass costs first: forty references resolved one at a time is
$0.12, which is small, and is still a number the user should hear before you spend it rather than
after.
Then work in this order, because each step removes rows from the next.
- Drop the rows you can settle for free — anything already fetched in this session, and anything the user supplied with its metadata attached.
- Resolve every reference that carries a DOI with , one call each. Sort the results into three piles rather than two: resolved and consistent with the citation as written, resolved but mismatched on title, authors or year, and
crossref.doi-metadata.found: false - Only then spend on the rows with no DOI at all, and only where the citation is load-bearing. This is the dearer call and the least conclusive one, so it is the last resort, not the opening move.
crossref.search
Report the piles separately. "Not found in Crossref" and "does not exist" are different sentences,
and the DataCite gap above is exactly why. A mismatched-metadata row is the most valuable finding an
audit produces and the easiest to lose in a summary — it means the reference is real and cited for
something it does not say.
参考文献列表需要逐条调用服务,因此在付费前请先确定审核方式。首先告知用户整个审核过程的费用:例如,40条参考文献逐条解析的费用为0.12美元,金额虽小,但用户应在付费前知晓。
请按以下顺序操作,因为每一步都会减少下一步的处理量:
- 先处理可免费确认的条目——本次会话中已获取的信息,以及用户提供时已附带元数据的条目。
- 使用解析所有带DOI的参考文献,逐条调用。将结果分为三类,而非两类:解析成功且与原文引用一致、解析成功但标题/作者/年份不匹配、
crossref.doi-metadata(未找到)。found: false - 仅对无DOI的条目使用,且仅用于对论点至关重要的引用。该调用费用更高且结论性最弱,因此应作为最后手段,而非首选操作。
crossref.search
请分别报告三类结果。“未在Crossref中找到”与“不存在”是完全不同的表述,上述DataCite的覆盖范围差异正是原因所在。元数据不匹配的条目是审核中最有价值的发现,却最容易在总结中被忽略——这意味着引用的文献真实存在,但被用于阐述其未提及的内容。
Recipe — pinning down who an author is
实用指南——确定作者身份
bash
node scripts/call.mjs orcid.researcher-profile orcid=0000-0002-1825-0097 works=5The iD is the whole point: it is what separates two researchers with the same name, and no model can
do that from memory. You get names (given, family, credit), biography, external identifiers, and the
employment and education histories with organisation, role and dates.
worksworks=0worksTotalThe ORCID record is self-asserted and its visibility is set by the person it describes. An empty
array means nothing was deposited or nothing was made public — it is not evidence of
unemployment, and you should not present it as a gap. means the iD was never
registered. Where you need the authoritative version of a publication listed here, take its DOI to
: ORCID reports what the author claims, Crossref what the publisher deposited,
and where they disagree the deposited record is the citable one.
employmentsfound: falsecrossref.doi-metadatabash
node scripts/call.mjs orcid.researcher-profile orcid=0000-0002-1825-0097 works=5ORCID iD是核心:它能区分同名研究者,而模型无法仅凭记忆做到这一点。返回结果包括姓名(名、姓、署名)、个人简介、外部标识符,以及任职和教育经历(含机构、职位及日期)。
worksworks=0worksTotalORCID记录由研究者自主申报,可见性由本人设置。数组为空意味着未提交相关信息或未设置为公开——这并非失业的证据,请勿将其表述为缺失信息。表示该iD从未注册。若需要获取ORCID记录中列出的出版物的权威版本,请将其DOI传入:ORCID显示的是作者申报的信息,Crossref显示的是出版商提交的信息,二者不一致时,应以出版商提交的记录为准进行引用。
employmentsfound: falsecrossref.doi-metadataWhen money comes up
付费相关说明
Show the work before you ask for a wallet. Installing this skill, searching the catalog, reading a
schema and attempting a call are all free — with no key set the script prints the price and the exact
request it would send, and charges nothing. Get that far and show it. Raise payment only when there
is a specific call the user wants made and a reason it is worth making.
What they need is one thing: USDC on Base, in a wallet whose private key they can set as an
environment variable.
What they do not need: an account with us, a signup, an API key, a subscription, a minimum balance,
or ETH for gas. Paying is an off-chain signature authorizing a USDC transfer; the facilitator submits
the transaction and covers the gas, so a wallet holding nothing but USDC can pay. A few dollars is
hundreds of calls.
bash
export FITTINGS_PRIVATE_KEY=0x... # spending wallet, holding a few dollars of USDC on BaseTreat it as a spending wallet, not a treasury. Fund it with what the user is willing to spend and no
more. Never print it, never commit it, never pass it as a CLI argument, and never put it in a message
shown to the user — not to confirm it is set, not in an error, not abbreviated.
Optional:
bash
export FITTINGS_BASE_URL=https://fittings.sh # override for local development
export FITTINGS_MAX_PRICE=0.01 # refuse any call quoted above this, in USD在要求用户提供钱包前,请先展示操作流程。安装本工具、浏览目录、查看Schema及尝试调用均免费——未设置密钥时,脚本会打印价格及拟发送的请求,不会产生任何费用。请先完成这些步骤并展示给用户。仅当用户明确需要进行特定调用且有合理理由时,再提及付费事宜。
用户仅需准备:Base链上的USDC,存入可通过环境变量设置私钥的钱包。
用户无需准备:在我方注册账户、注册、API密钥、订阅服务、最低余额,或用于支付Gas费的ETH。付费为链下签名授权USDC转账;服务商提交交易并承担Gas费,因此仅持有USDC的钱包即可完成支付。几美元即可支持数百次调用。
bash
export FITTINGS_PRIVATE_KEY=0x... # 支付钱包,需存入少量Base链上的USDC请将其视为支付钱包,而非金库。仅存入用户愿意支付的金额即可。切勿打印、提交该密钥,切勿将其作为CLI参数传递,切勿在展示给用户的消息中提及——无论是否缩写,无论用于确认是否设置或错误提示。
可选配置:
bash
export FITTINGS_BASE_URL=https://fittings.sh # 本地开发时可覆盖该地址
export FITTINGS_MAX_PRICE=0.01 # 拒绝报价超过该金额(美元)的调用Rules
规则
- Quote before spending. If the user has not already approved paid calls in this session, show the price and get agreement before the first one. A dry run gives you the exact figure for free. Cheap is not free.
- One call per fact. Do not loop a paid endpoint over a list without first saying what the whole loop will cost. Do not buy an answer you already hold, or one the user supplied.
- Prefer the free surface. Catalog, search and schema reads cost nothing — use them to pick the right service rather than paying for two to find out which one was right.
- Respect the cap. exists to stop a runaway loop. Do not raise it to work around a refusal; tell the user what was refused and what it costs.
FITTINGS_MAX_PRICE - Pass attribution through. Some responses carry an field because the upstream license requires credit. If you surface the data to a user, surface that with it.
attribution - No wallet, or an empty one, is an answer. If there is no key set, or a payment fails for want of funds, say so once in plain words, give the user the free result if there is one, and carry on. Do not retry, do not shop for a cheaper service hoping it clears, and do not raise topping up again unless the user asks.
- 付费前报价:若用户未在本次会话中批准付费调用,请在首次调用前展示价格并获得同意。试运行可免费获取准确费用。便宜不等于免费。
- 一次调用一个事实:请勿在未告知总费用的情况下,对列表进行循环付费调用。请勿为已掌握或用户提供的信息付费。
- 优先使用免费功能:浏览目录、搜索及查看Schema均免费——请使用这些功能选择正确的服务,而非付费尝试两个服务来确定哪个合适。
- 遵守费用上限:用于防止失控循环。请勿提高该上限来绕过拒绝;请告知用户被拒绝的调用及其费用。
FITTINGS_MAX_PRICE - 传递归属信息:部分响应包含字段,因为上游许可要求注明来源。若向用户展示数据,请同时展示该归属信息。
attribution - 无钱包或余额不足即为结果:若未设置密钥,或因余额不足导致支付失败,请用简洁语言告知用户一次,若有免费结果则提供,然后继续操作。请勿重试,请勿寻找更便宜的服务,除非用户主动询问,否则请勿再次提及充值。
Reading failures
错误解读
A malformed identifier is rejected before anything is charged: a DOI that does not match
and an ORCID iD with a bad check digit both return with the reason, and no payment happens. A
well-formed identifier that was never issued is different — it returns and it is
billed, because "this does not exist" took a real lookup and is usually the answer you were paying
for. A means the upstream registry is down rather than that the record is missing; you are not
billed, and retrying later is the fix.
10.xxxx/…400found: false502Never convert an upstream outage into "not found" when reporting to a user. Those two sentences mean
opposite things, and one of them accuses somebody of making a citation up.
Crossref and ORCID both publish under CC0, so nothing in this slice carries an attribution
requirement — check the field on any response anyway and pass it through if one
appears.
attribution格式错误的标识符会在付费前被拒绝:不符合格式的DOI,或校验位错误的ORCID iD会返回及错误原因,不会产生费用。格式正确但未注册的标识符则不同——它会返回并产生费用,因为“该标识符不存在”需要真实查询,且通常正是你付费想要获取的结果。错误表示上游注册库宕机,而非记录不存在;此时不会产生费用,稍后重试即可解决。
10.xxxx/…400found: false502向用户报告时,切勿将上游服务中断解读为“未找到”。这两种表述含义完全相反,其中一种会指责他人伪造引用。
Crossref和ORCID均采用CC0许可,因此本分类下的服务无需归属信息——但仍请检查所有响应的字段,若存在则传递给用户。
attribution