fittings-text-extract-citations
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCitation identifier extractor
文献引用标识符提取器
text.extract-citationshttps://fittings.shPulls DOIs, arXiv ids, PMIDs, PMCIDs and ISBNs out of free text, deduplicated and normalized, with the character offset of each first occurrence.
text.extract-citationshttps://fittings.sh从自由文本中提取DOIs、arXiv ids、PMIDs、PMCID和ISBNs,进行去重与标准化,并返回每个标识符首次出现的字符偏移量。
The call
调用方式
POST https://fittings.sh/v1/text/extract-citations| Field | Type | Required | Notes |
|---|---|---|---|
| string | yes | Free text, up to 200000 characters |
| array | no | Restrict 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| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| string | 是 | 自由文本,最多200000字符 |
| 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 |
| Source | none (pure compute) |
| Licence | none-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 and ; neither could tell you what to ask them about.
crossref.doi-metadatapubmed.citation-search当Agent处理参考文献章节、电子邮件或PDF转储文本时,必须先找到这些标识符才能进行后续查询;而让模型通过读取文本完成该任务时,可能会生成无法解析的无效DOI。目录中已有和服务,但这两者无法告知你需要查询哪些标识符。
crossref.doi-metadatapubmed.citation-searchCalling it
调用方法
A skill is loaded on its own, so this document has to be enough by itself. It
does not assume the general skill is also loaded.
ships alongside this file; if it is missing (this document reached you without
the rest of the skill), fetch it once with
.
fittingscall.mjscurl -sO https://fittings.sh/skill/call.mjsFree, and needs no wallet. Read the schema and see what a call would cost:
bash
curl -s https://fittings.sh/catalog/text.extract-citations | jqPaying. The endpoint answers 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:
402 Payment Requiredbash
undefined该Skill独立加载,因此本文档本身已包含全部必要信息,无需假设已加载通用的 Skill。文件随本文档一同提供;若缺失(即你仅收到本文档而未获取Skill的其余部分),可通过一次性获取。
fittingscall.mjscurl -sO https://fittings.sh/skill/call.mjs免费试用,无需钱包。查看Schema并了解调用成本:
bash
curl -s https://fittings.sh/catalog/text.extract-citations | jq付费调用。该端点会返回响应及已签名的报价,你需签署授权,由协调方完成结算——你无需发送交易,也无需支付Gas费用。在产生任何支出前,客户端会将自身哈希与网关进行校验,若网关逻辑已更新则会拒绝签署:
402 Payment Requiredbash
undefinedDry 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=...`免费搜索所有服务。