10.5 KB · updated 2026-07-06 · md

chrome-extension.ru.md

docs/i18n/integrations/chrome-extension.ru.md

Веб-клипер (расширение Chrome)

<!-- translations:start -->

English · 한국어 · 中文 · 日本語 · Español · Français · Deutsch

<!-- translations:end -->

Клипируйте любую веб-страницу — или только выделенный вами текст — прямо в вашу базу знаний Tesserae. Клипер отправляет страницу на локальный экземпляр tesserae serve, который записывает markdown-файл с меткой происхождения в корпус проекта и запускает инкрементальную компиляцию, чтобы клип появился в виде типизированных узлов в вашем графе, хранилище и сайте.

Это реализованный одним кликом столп «автономного, проактивного поглощения знаний»: увидели что-то стоящее внимания, клипировали это, и оно становится контекстом, готовым для агентов.


Что это делает

  1. Вы переходите на страницу и нажимаете на клипер (кнопка на панели инструментов или клавиатурный ярлык).
  2. Расширение захватывает url страницы, title, метаданные страницы и либо полное читаемое содержимое, либо, если вы выделили текст, только ваше выделение. Вы можете добавить дополнительную заметку и теги, а также переключить генерацию TL;DR.
  3. Он отправляет этот payload на http://localhost:<port>/api/clip в работающий экземпляр tesserae serve.
  4. Сервер разрешает обслуживаемый проект, записывает data/ingested/<slug>.md, опционально добавляет TL;DR от LLM в один вызов, и вызывает тот же путь поглощения, который использует CLI (ingest_sources), что инкрементально компилирует новый источник в граф.
  5. Вы получаете JSON-отчет (status, path, tldr, node_count, edge_count).

Клипированный markdown выглядит так:

---
clipped_at: 2026-06-13T00:00:00Z
note: read later
source: web-clip
tags: python, web
title: An Article
url: https://example.com/article
---

## TL;DR

A two-sentence summary (only present when TL;DR is enabled and succeeds).

## Note

read later

## Content

The clipped page text (or your selection).

TL;DR — это усилие лучшего результата: он использует уровень Claude, поддерживаемый CLI (API-ключ не требуется). Если CLI claude недоступен или вызов не удается, клип все равно поглощается — просто без раздела ## TL;DR.


Установка (загрузить распакованное)

Расширение входит в репозиторий в extension/ (загрузить распакованное во время разработки; листинг в Chrome Web Store проходит обзор).

  1. Откройте chrome://extensions.
  2. Включите Режим разработчика (верхний правый угол).
  3. Нажмите Загрузить распакованное и выберите папку extension/.
  4. Закрепите клипер Tesserae на вашей панели инструментов.

Расширение по умолчанию подключается к http://localhost:8765; установите порт в параметрах расширения так, чтобы он совпадал с портом, который вы передаёте tesserae serve.


Запуск сервера

Скомпилируйте проект, затем запустите его:

python3 -m tesserae serve --project /path/to/project --port 8765

tesserae serve предоставляет статический сайт плюс два JSON-маршрута на одном и том же источнике:

  • POST /api/ask — ответы на вопросы (см. mcp.md)
  • POST /api/clip — поглощение веб-клипов (эта функция)

Оставьте его работающим во время просмотра; каждый клип попадает на /api/clip.


Контракт /api/clip

POST /api/clip с JSON-телом:

FieldTypeRequiredNotes
urlstringyesURL исходной страницы (происхождение + слаг имени файла).
titlestringnoЗаголовок страницы; возвращается к производному заголовку.
contentstringyes\*Полный текст страницы.
selectionstringnoЕсли присутствует, переопределяет content — клипирует только выделенный текст.
metaobjectnoДополнительные метаданные страницы переданы дальше.
notestringnoВаша свободная аннотация → ## Note.
tagsstring[]noТеги front-matter.
tldrbooleannoПо умолчанию true. Установите false, чтобы пропустить генерацию TL;DR.

\* Либо content, либо selection должны быть непустыми.

Ответ 200 OK:

{
  "status": "ok",
  "path": "/path/to/project/data/ingested/example-com-article.md",
  "tldr": "A two-sentence summary…",
  "node_count": 142,
  "edge_count": 287
}

Ошибки возвращают 400 (неправильный запрос / пустое тело) или 500 (ошибка поглощения) с {"error": "..."}.

CORS

Поскольку клипер — это расширение браузера, обращающееся к localhost, конечная точка говорит CORS — но только для надежных вызывающих, так что произвольный веб-сайт, который вы посещаете, не может отправлять POST в ваш граф:

  • OPTIONS /api/clip возвращает заголовки предполета.
  • Сервер проверяет Origin запроса и отражает только источники расширения браузера (chrome-extension://…) и обратного цикла (http://localhost, http://127.0.0.1). Иностранный источник отклоняется с 403 и никогда не достигает пути поглощения.
  • Разрешенные ответы отправляют Access-Control-Allow-Origin: <that origin>, Access-Control-Allow-Methods: POST, OPTIONS и Access-Control-Allow-Headers: Content-Type.
  • Предполет Chrome Private Network Access соблюдается: когда запрос содержит Access-Control-Request-Private-Network: true, сервер отвечает Access-Control-Allow-Private-Network: true, чтобы расширение Web Store могло достичь localhost.
  • Тело запроса ограничено (5 МБ) до его чтения.

Инструмент MCP ingest

Тот же путь поглощения предоставляется агентам через MCP-сервер Tesserae как инструмент ingest, поэтому агент может клипировать контент, который он нашел, без браузера:

InputRequiredNotes
contentyesТекст для поглощения.
urlnoURL источника (происхождение + слаг).
titlenoНазвание документа.
notenoАннотация → ## Note.
tagsnoТеги front-matter.
tldrnoПо умолчанию true.

Он поглощает в активный проект (разрешить с помощью activate_project или передать project) и возвращает тот же отчет {status, path, tldr, node_count, edge_count}. Смотрите mcp.md для настройки MCP.


Переключатель TL;DR

TL;DR включен по умолчанию. Отключите его для каждого клипа во всплывающем окне расширения (или отправьте "tldr": false), когда вы хотите быстрый, детерминированный клип без вызова LLM — например, клипирование в изолированный проект или когда claude не в PATH. Если это включено, неудачный или отсутствующий суммаризатор никогда не блокирует клип; вы просто не получаете раздел ## TL;DR.


Клавиатурный ярлык

Клипер регистрирует команду, которую вы можете привязать в chrome://extensions/shortcuts. По умолчанию:

  • Клипировать текущую страницу / выделение: Ctrl+Shift+S (macOS: Cmd+Shift+S)

Переподключите его там, если он конфликтует с другим расширением.