docsctx

Документация docsctx

Self-hosted сервис «документация как контекст»: свежие доки ваших библиотек для LLM-агентов через MCP или REST. Полностью работает на вашей машине.
Быстрый старт
  1. Войдите или создайте аккаунт — первый пользователь становится администратором.
  2. В разделе Библиотеки нажмите «Добавить библиотеку»: укажите slug (например fastapi) и источник, например github:fastapi/fastapi. Индексация пойдёт фоново.
  3. Дождитесь статуса ready и проверьте поиск в карточке библиотеки.
  4. Создайте API-ключ в личном кабинете и подключите агентов (конфиги — во вкладке «Подключение»).
Источники
ТипФорматЧто делает сервис
github:owner/repo[@ref]репозиторий или ветка/тегКлонирует docs-каталоги и markdown, срез по коммиту, правила из context7.json.
llmstxt:URLhttps://…/llms.txtЗабирает готовый LLM-манифест документации и связанные страницы.
html:URLадрес сайта документацииBFS-краулер с robots.txt, задержкой и лимитом страниц; контейнер/селектор настраивается.
local:/pathпуть на машине сервисаИндексирует локальный каталог markdown (приватные доки, air-gap).
openapi:URLJSON/YAML спекаГенерирует обзор + страницу на каждый тег операций: параметры, схемы, ответы.
package:npm|pypi|crates:имяимя[@версия]README и метаданные пакета из реестра, версия пиннится явно.
MCP-сервер
Запуск: python -m docsctx.mcp_server (stdio) или HTTP: http://host:8902/mcp. Инструкции для агента настраиваются в Настройках.
ИнструментНазначение
resolve_library_idНайти идентификатор библиотеки по названию.
get_library_docsДокументация по запросу с учётом токен-бюджета, версии и правил библиотеки.
search_libraryПоиск по чанкам одной библиотеки (списком, без сборки).
list_versionsДоступные версии библиотеки и активная.
get_pageКонкретная страница/раздел по URL или заголовку.
list_librariesКаталог проиндексированных библиотек.
sync_library_toolЗапустить пере-индексацию источника.
report_chunkЖалоба агента на неверный фрагмент → очередь модерации.
Свежесть и обновление
  • Каждая версия хранит срез источника (commit / ETag / mtime) и дату.
  • Кнопка «Проверить обновления источников» в админ-обзоре сравнивает срезы и пере-синхронизирует изменённые.
  • Webhook из CI: POST /admin/hooks/refresh/{slug}?token=… (токен задаётся в настройках).
Качество и модерация
  • Дедупликация чанков по нормализованному тексту — повторов в выдаче нет.
  • Агент вызывает report_chunk / POST /v1/report — фрагмент попадает в очередь модерации.
  • LLM-сниппеты проходят модерацию: в выдаче агентов только approved.
  • Правила библиотеки (context7.json-style) редактируются администратором и выдаются агенту в начале контекста.
CLI (на машине сервиса)
docsctl serve                # API + MCP
docsctl add <slug> <source>  # добавить библиотеку
docsctl sync <slug>          # пере-индексировать
docsctl seed                 # добавить пул популярных библиотек