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-файл с меткой происхождения в корпус проекта и запускает инкрементальную компиляцию, чтобы клип появился в виде типизированных узлов в вашем графе, хранилище и сайте.
Это реализованный одним кликом столп «автономного, проактивного поглощения знаний»: увидели что-то стоящее внимания, клипировали это, и оно становится контекстом, готовым для агентов.
Что это делает
- Вы переходите на страницу и нажимаете на клипер (кнопка на панели инструментов или клавиатурный ярлык).
- Расширение захватывает
urlстраницы,title, метаданные страницы и либо полное читаемое содержимое, либо, если вы выделили текст, только ваше выделение. Вы можете добавить дополнительную заметку и теги, а также переключить генерацию TL;DR. - Он отправляет этот payload на
http://localhost:<port>/api/clipв работающий экземплярtesserae serve. - Сервер разрешает обслуживаемый проект, записывает
data/ingested/<slug>.md, опционально добавляет TL;DR от LLM в один вызов, и вызывает тот же путь поглощения, который использует CLI (ingest_sources), что инкрементально компилирует новый источник в граф. - Вы получаете 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 проходит обзор).
- Откройте
chrome://extensions. - Включите Режим разработчика (верхний правый угол).
- Нажмите Загрузить распакованное и выберите папку
extension/. - Закрепите клипер 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-телом:
| Field | Type | Required | Notes |
|---|---|---|---|
url | string | yes | URL исходной страницы (происхождение + слаг имени файла). |
title | string | no | Заголовок страницы; возвращается к производному заголовку. |
content | string | yes\* | Полный текст страницы. |
selection | string | no | Если присутствует, переопределяет content — клипирует только выделенный текст. |
meta | object | no | Дополнительные метаданные страницы переданы дальше. |
note | string | no | Ваша свободная аннотация → ## Note. |
tags | string[] | no | Теги front-matter. |
tldr | boolean | no | По умолчанию 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, поэтому агент может клипировать контент, который он нашел, без браузера:
| Input | Required | Notes |
|---|---|---|
content | yes | Текст для поглощения. |
url | no | URL источника (происхождение + слаг). |
title | no | Название документа. |
note | no | Аннотация → ## Note. |
tags | no | Теги front-matter. |
tldr | no | По умолчанию 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)
Переподключите его там, если он конфликтует с другим расширением.