OneCite — проверяемые библиографические ссылки

OneCite

CLI и библиотека на Python превращают DOI, PMID, arXiv, ISBN и BibTeX-черновики в проверяемые записи BibTeX или CSL-JSON

  • 68 ★ репозитория
  • Последний коммит
CLI

Расширенный доступ

Почему такой уровень

  • Идентификаторы и тексты ссылок уходят во внешние сервисы Crossref, arXiv, PubMed и другие
  • Произвольный адрес в данных загружается с указанного хоста
Все причины и проверки

hzacode/onecite

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/onecite

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Идентификаторы и тексты ссылок уходят во внешние сервисы Crossref, arXiv, PubMed и другие
  • Произвольный адрес в данных загружается с указанного хоста

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

OneCite приводит неряшливый список источников к единому виду. На входе DOI, PMID, идентификаторы arXiv, ISBN, адреса и фрагменты BibTeX из `.txt` или `.bib`, на выходе BibTeX или CSL-JSON. Четыре стадии конвейера (разбор, определение, дополнение, оформление) показывают нерешенные записи явно и ничего не прячут. По сильным идентификаторам запросы идут в профильные сервисы: Crossref, arXiv, PubMed, Semantic Scholar, Google Books, DataCite и Zenodo. Недостающие поля (журнал, том, страницы, авторов, аннотацию) OneCite дополняет из ответа. Команда `onecite process references.txt -o results.bib` пропускает только записи с сильным идентификатором. Для неполных ссылок есть `onecite suggest "Attention is all you need, Vaswani et al., NIPS 2017"`: он возвращает ранжированных кандидатов для проверки человеком. Отчет помечает предупреждением `text_metadata_mismatch` случай, когда текст рядом с DOI описывает другую работу: классическую пару «выдуманное название и настоящий DOI». Дубликаты выпускаются один раз. Есть вывод JSON и NDJSON, коды выхода и офлайн-проверки, а в репозитории лежит SKILL.md для агентов в `skills/onecite/`.

Для кого. Авторам статей, исследователям и агентам, которые готовят библиографию и хотят поймать выдуманные или перепутанные ссылки до публикации.

Подходит, если

  • Черновик статьи, написанный с помощью ИИ, содержит ссылки, и надо проверить, что DOI соответствуют названиям
  • Список из DOI, arXiv и ISBN нужно собрать в один файл BibTeX для Pandoc
  • Агент прогоняет литературный обзор и должен получить машиночитаемый отчет с нерешенными записями
  • Для неполной ссылки «Attention is all you need, Vaswani» ищут подходящих кандидатов

Не подходит, если

  • Нужен менеджер библиотеки с синхронизацией и плагинами для Word: OneCite его не заменяет
  • Источники без сильного идентификатора: `process` не продвигает их без ручной проверки
  • Конфиденциальные ссылки, которые нельзя отправлять в Crossref и другие внешние сервисы

Пример запроса к агенту

Прогони references.txt через OneCite, сохрани results.bib и покажи записи, которые не удалось разрешить.

Ограничения

Обычный запуск делает исходящие запросы: DOI уходит в Crossref, запросы `suggest` идут в Crossref, Semantic Scholar и arXiv, диссертации ищутся в OpenAIRE и BASE, а произвольный адрес загружается с указанного хоста. Конфиденциальные записи перед запуском обезличивают.

Разрешение источника не доказывает, что работа подлинная, не отозвана и верно описана в чужих метаданных. Запасной путь Google Scholar в `suggest` отключен по умолчанию, ставится как `pip install onecite[scholar]` и может упереться в капчу. Публичная версия на PyPI 0.1.1, а часть описанного в README относится к будущей 0.2.0.

Как отключить. Выполните `pip uninstall onecite`. Созданные файлы BibTeX и отчеты лежат там, куда вы их записали, и удаляются вручную.

Частые вопросы

Как поставить OneCite?

Командой `pip install onecite`. Для текущей версии из репозитория есть `python -m pip install -e .` из клонированной папки.

Чем `process` отличается от `suggest`?

`process` выпускает записи только по сильным идентификаторам, а `suggest` ищет кандидатов по неполному тексту и ничего не выдает как проверенное.

Какие форматы выхода поддерживаются?

BibTeX и CSL-JSON (`--output-format csl-json`), а также JSON и NDJSON для отчета.

Что значит предупреждение text_metadata_mismatch?

Текст вокруг разрешенного DOI похож на описание другой работы. Запись остается, но ее отправляют на ручную проверку.

Можно ли встроить OneCite в Python-код?

Да, `from onecite import process_references` вызывается из скриптов и пакетных заданий.

Обсуждение

Вопросов и отзывов пока нет.

BibTeX Verifier сверяет файлы .bib с OpenAlex, CrossRef и DataCite и помечает ссылки с ошибками или выдуманными данными.

СкиллМинимальный доступ143Звезды репозитория

Проверка BibTeX по Crossref, OpenAlex, PubMed и arXiv: CLI, API на Python и MCP-сервер для поиска ошибочных ссылок

MCP-серверРасширенный доступ98Звезды репозитория

Скилл ищет статьи через Semantic Scholar, проверяет рейтинг журналов и выдает BibTeX для рукописи.

СкиллРасширенный доступ238Звезды репозитория

Сверяет каждую ссылку научной статьи с Crossref, dblp и arXiv до подачи, а вердикты выносит без участия языковой модели.

ПлагинМинимальный доступ182Звезды репозитория

Papis — CLI для научной библиотеки, из которой исследователь выгружает ссылки в BibTeX и открывает PDF в привычном приложении.

CLIРасширенный доступ1,8 тыс.Звезды репозитория

MCP-сервер с 40 инструментами проверяет цитаты, числа, DOI и PRISMA в обзорах литературы, которые пишет ИИ. Модели внутри нет.

MCP-серверМинимальный доступ108Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
OneCite — проверяемые библиографические ссылки (эта карточка)нет68
CiteProofнетне нужна108другая проверка ссылок для агента; OneCite нормализует идентификаторы в BibTeX и CSL-JSON
Zotero Research Assistant Skillнет98работает с библиотекой Zotero; OneCite обрабатывает список ссылок до менеджера

Коротко о README

README объясняет назначение, показывает быстрый старт с файлом ссылок и выводом BibTeX, описывает команды `process` и `suggest`, формат отчета, раздел о внешних сервисах и приватности, Python-вызов и дорожную карту.

Бейдж для README

Сообщить о проблеме