OneCite — проверяемые библиографические ссылки
OneCite
CLI и библиотека на Python превращают DOI, PMID, arXiv, ISBN и BibTeX-черновики в проверяемые записи BibTeX или CSL-JSON
- 68 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Идентификаторы и тексты ссылок уходят во внешние сервисы Crossref, arXiv, PubMed и другие
- Произвольный адрес в данных загружается с указанного хоста
Установка
- Работает в
В терминале, через 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` вызывается из скриптов и пакетных заданий.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыBibTeX Verifier сверяет файлы .bib с OpenAlex, CrossRef и DataCite и помечает ссылки с ошибками или выдуманными данными.
Проверка BibTeX по Crossref, OpenAlex, PubMed и arXiv: CLI, API на Python и MCP-сервер для поиска ошибочных ссылок
Скилл ищет статьи через Semantic Scholar, проверяет рейтинг журналов и выдает BibTeX для рукописи.
Сверяет каждую ссылку научной статьи с Crossref, dblp и arXiv до подачи, а вердикты выносит без участия языковой модели.
Papis — CLI для научной библиотеки, из которой исследователь выгружает ссылки в BibTeX и открывает PDF в привычном приложении.
MCP-сервер с 40 инструментами проверяет цитаты, числа, DOI и PRISMA в обзорах литературы, которые пишет ИИ. Модели внутри нет.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| OneCite — проверяемые библиографические ссылки (эта карточка) | нет | 68 | ||
| CiteProof | нет | не нужна | 108 | другая проверка ссылок для агента; OneCite нормализует идентификаторы в BibTeX и CSL-JSON |
| Zotero Research Assistant Skill | нет | 98 | работает с библиотекой Zotero; OneCite обрабатывает список ссылок до менеджера |
Коротко о README
README объясняет назначение, показывает быстрый старт с файлом ссылок и выводом BibTeX, описывает команды `process` и `suggest`, формат отчета, раздел о внешних сервисах и приватности, Python-вызов и дорожную карту.