fittings-text-extract-citations

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Citation identifier extractor

文献引用标识符提取器

text.extract-citations
on
https://fittings.sh
. One endpoint, deterministic compute.
Pulls DOIs, arXiv ids, PMIDs, PMCIDs and ISBNs out of free text, deduplicated and normalized, with the character offset of each first occurrence.
text.extract-citations
on
https://fittings.sh
. 单一端点,确定性计算。
从自由文本中提取DOIs、arXiv ids、PMIDs、PMCID和ISBNs,进行去重与标准化,并返回每个标识符首次出现的字符偏移量。

The call

调用方式

POST https://fittings.sh/v1/text/extract-citations
FieldTypeRequiredNotes
text
stringyesFree text, up to 200000 characters
kinds
arraynoRestrict to these kinds: doi, arxiv, pmid, pmcid, isbn. Default all.
Example input:
json
{
  "text": "See Smith et al. (doi:10.1038/nature12373) and arXiv:2103.00020, indexed as PMID: 23851394."
}
POST https://fittings.sh/v1/text/extract-citations
字段类型是否必填说明
text
string自由文本,最多200000字符
kinds
array限制提取的标识符类型:doi、arxiv、pmid、pmcid、isbn,默认提取全部类型
示例输入:
json
{
  "text": "See Smith et al. (doi:10.1038/nature12373) and arXiv:2103.00020, indexed as PMID: 23851394."
}

Metered

计量方式

The 402 quotes a ceiling — the price of the declared cap, 200000 characters — and settlement is for what the call actually used. A small request settles for less than it was quoted, so read the quote as an upper bound rather than a price.
402响应会给出一个上限报价——即声明的最大字符数(200000字符)对应的价格——而最终结算则按实际调用使用的字符数计算。小型请求的结算金额会低于报价,因此请将报价视为上限而非固定价格。

Cost and provenance

费用与来源

Price$0.003 per call, metered per characters
Sourcenone (pure compute)
Licencenone-needed
价格每调用0.003美元,按字符数计量
来源无(纯计算服务)
许可无需许可

Why call it rather than answer from memory

为何选择该服务而非依赖模型记忆

An agent handed a references section, an email or a PDF dump has to find the identifiers before it can look any of them up, and a model asked to do it by reading invents DOIs that resolve to nothing. The catalog already answers
crossref.doi-metadata
and
pubmed.citation-search
; neither could tell you what to ask them about.
当Agent处理参考文献章节、电子邮件或PDF转储文本时,必须先找到这些标识符才能进行后续查询;而让模型通过读取文本完成该任务时,可能会生成无法解析的无效DOI。目录中已有
crossref.doi-metadata
pubmed.citation-search
服务,但这两者无法告知你需要查询哪些标识符。

Calling it

调用方法

A skill is loaded on its own, so this document has to be enough by itself. It does not assume the general
fittings
skill is also loaded.
call.mjs
ships alongside this file; if it is missing (this document reached you without the rest of the skill), fetch it once with
curl -sO https://fittings.sh/skill/call.mjs
.
Free, and needs no wallet. Read the schema and see what a call would cost:
bash
curl -s https://fittings.sh/catalog/text.extract-citations | jq
Paying. The endpoint answers
402 Payment Required
with a signed quote, you sign an authorization, and a facilitator settles it — you never send a transaction and never pay gas. Before it spends anything, the client checks its own hash against the gateway and refuses rather than sign with logic the gateway has moved past:
bash
undefined
该Skill独立加载,因此本文档本身已包含全部必要信息,无需假设已加载通用的
fittings
Skill。
call.mjs
文件随本文档一同提供;若缺失(即你仅收到本文档而未获取Skill的其余部分),可通过
curl -sO https://fittings.sh/skill/call.mjs
一次性获取。
免费试用,无需钱包。查看Schema并了解调用成本:
bash
curl -s https://fittings.sh/catalog/text.extract-citations | jq
付费调用。该端点会返回
402 Payment Required
响应及已签名的报价,你需签署授权,由协调方完成结算——你无需发送交易,也无需支付Gas费用。在产生任何支出前,客户端会将自身哈希与网关进行校验,若网关逻辑已更新则会拒绝签署:
bash
undefined

Dry run. Prints the quote and pays nothing, because no key is set.

试运行。仅打印报价,无需支付,因为未设置密钥。

node call.mjs text.extract-citations text="See Smith et al. (doi:10.1038/nature12373) and arXiv:2103.00020, indexed as PMID: 23851394."
node call.mjs text.extract-citations text="See Smith et al. (doi:10.1038/nature12373) and arXiv:2103.00020, indexed as PMID: 23851394."

For real: a wallet holding USDC on Base, and nothing else.

正式调用:使用持有Base链USDC的钱包,无需其他资产。

export FITTINGS_PRIVATE_KEY=0x... node call.mjs text.extract-citations text="See Smith et al. (doi:10.1038/nature12373) and arXiv:2103.00020, indexed as PMID: 23851394."

Spending is never a side effect of curiosity: with no `FITTINGS_PRIVATE_KEY`
the client fetches the quote and stops. `FITTINGS_MAX_PRICE` caps what it will
pay without asking, and defaults to $0.05.

**Use a throwaway wallet holding a few dollars, not a main one.** The key sits
in plaintext wherever the agent runs, and the whole cost of entry is USDC on
Base — no account, no API key, and no ETH, because the payer signs off-chain and
the facilitator broadcasts and pays the gas.

Writing your own client instead of using this one? `@x402/core` and
`@x402/evm` on npm, and the `fittings` skill records the two things that cost
real debugging time: the challenge is in a response header rather than the body,
and it must be re-signed from the exact request being retried.

If this is not the right service, `https://fittings.sh/catalog/search?q=...`
searches all of them for free.
export FITTINGS_PRIVATE_KEY=0x... node call.mjs text.extract-citations text="See Smith et al. (doi:10.1038/nature12373) and arXiv:2103.00020, indexed as PMID: 23851394."

探索需求不会意外产生支出:未设置`FITTINGS_PRIVATE_KEY`时,客户端仅获取报价即停止操作。`FITTINGS_MAX_PRICE`用于设置无需确认即可支付的最高金额,默认值为0.05美元。

**请使用仅存入少量资金的临时钱包,勿使用主钱包**。密钥会以明文形式存储在Agent运行的环境中,入门仅需Base链上的USDC——无需账户、无需API密钥,也无需ETH,因为付款方进行链下签名,由协调方广播交易并支付Gas费用。

不想使用该客户端而自行开发?npm上提供`@x402/core`和`@x402/evm`包,`fittings` Skill记录了两个调试时容易耗时的要点:挑战信息位于响应头而非响应体中,且必须针对重试的精确请求重新签名。

若该服务不符合你的需求,可通过`https://fittings.sh/catalog/search?q=...`免费搜索所有服务。