Link
Что такое Link?
Link — это открытый слой памяти для локальных ИИ-агентов. Исходные материалы превращаются в инспектируемую Markdown-вики. Явные запросы «запомни это» становятся проверяемыми воспоминаниями. Агенты получают компактный, подкреплённый источниками контекст через CLI, MCP, официальные навыки или локальный просмотрщик, не сбрасывая всю вики в окно чата.
Вики — это уровень хранения. Продукт — это долговечная память, которая остаётся на вашей машине, остаётся читаемой в обычных файлах и может использоваться несколькими агентами вместо того, чтобы быть запертой внутри профиля одного вендора.
Related MCP server: mcp-ltm
Как это работает
Link даёт агентам четыре простых действия:
Сбор заметок, транскриптов, документов, скриншотов и контекста проекта в
raw/.Структурирование страниц с опорой на источники в
wiki/.Запоминание явных предпочтений, решений, фактов и контекста проекта как проверяемой памяти.
Получение компактных пакетов запросов через CLI, MCP, официальные навыки или локальный веб-просмотрщик.
Большинство сессий агентов начинаются с нуля. Вы заново объясняете предпочтения, решения по репозиторию, ограничения проекта и то, почему что-то важно. Link превращает этот повторяющийся контекст в локальную память, которую агенты могут запрашивать.
Проблема | Ответ Link |
Агенты забывают вас между сессиями. | Сохраняйте проверенные предпочтения, решения, факты и контекст проекта. |
Заметки приватны или беспорядочны. | Храните исходные материалы локально, затем превращайте их в Markdown с опорой на источники. |
Контекстные окна дороги. | Возвращайте компактные пакеты запросов с происхождением и последующими действиями. |
Память требует доверия. | Каждую страницу и каждую запись памяти можно просмотреть, проверить, архивировать или забыть. |
Link следует паттерну LLM Wiki Андрея Карпати: храните знания за пределами окна чата, делайте утверждения проверяемыми и позволяйте контексту накапливаться со временем.
Почему Link отличается
Все остальные системы памяти для агентов хранят память как эмбеддинги в векторной базе данных или как граф, извлечённый LLM. Link принял четыре архитектурных решения, которые такие архитектуры не могут добавить сверху:
Память, которую можно читать. Каждая запись памяти — это обычный файл Markdown: откройте его, прогоните через grep, посмотрите git-diff. Если Link исчезнет завтра, ваша память останется вашей.
Запись с одобрением. Агенты предлагают; вы утверждаете. Даже автоматические перехватчики сессий фиксируют предложения, а не факты.
Никакого LLM в слое памяти. Обработка и поиск детерминированы — ничто не может выдумать факт в вашей памяти, потому что в цепочке записи нет модели.
Доказуемо локально. CI блокирует исходящий сетевой код в рантайме, а опциональные семантические модели загружаются только офлайн после явной однократной настройки.
И эти утверждения измерены, а не заявлены — см. бенчмарки ниже. Именные сравнения с Mem0/OpenMemory, Zep/Graphiti и Letta: Почему Link?
Бенчмарки
Простые файлы без LLM в слое памяти, измеренные в сравнении с системами, в которых LLM используется повсеместно:
What | Link | For comparison |
Сквозная QA LoCoMo — все 1,540 вопросов в собственном открытом стенде mem0 | 84.8% | облачная платформа mem0: 83.2% у того же судьи — при том что GPT-5 писал их ответы, а бюджетная модель (claude-haiku-4-5) писала ответы Link. Подтверждено вторым независимым судьёй (Tencent Hunyuan 3): 85.5% против 83.6% |
Поиск свидетельств LongMemEval — поместил ли слой памяти эталонные свидетельства в контекст? (детерминированно, без LLM-судьи) | 99.4% из 500 вопросов | из 102 ошибок в ответах только 3 были промахами поиска — остальние произошли при уже извлечённих свидетельствах |
Гигиена памяти — мусор, накопленнний за симулированннй поток сессий длиной в несколько месяцев | 0% (конструктивно, обеспечивается CI) | тот же конвейер с отключённнм управлением: 36.5% |
Отравление памяти — 18 авторских атак с внедреннем промптов на конвейер захвата (обход защитнх механзмов, конвенци ексфилтраци, внедренне учётнх даннх, поддельн одобреня, запис из недовереннх каналов класа MemGhost) | 0 достигают входящих без метк; 0 ложнх срабатваний на безобидн директв (обеспечивается CI) | насколко нам извесно, единственн опубликованн состязательн бенчмарк для пут запис памяти агента |
Токен-економка — реальн пакет извлечения, измеренн через пут запросов | 1,951–4,835 токенов на одн извлечение (бджет micro→large); хранлище в 64× больше увеличевает пакет в 1.58×, а последне учетверение сдвигает его на 0.3% | ограничено запрашиваемим бджетом, а не тем, сколко в запомнли; обеспечивается CI. По MCP ервй ответ сесси таке содержит однозовую сводк памяти, ограниченую жёстким бджетом в 4,000 символов (~360 токенов накладнх расходов, измерено) — см. RESULTS.md |
Встроеннй бенчмарк извлечения на 1,176 случая — детерминированнй, без се, без LLM | стандартнй pip (лексический) hit@1 0.589; | воспроизводимо одной командой; CI запускает набор и контролирует целостност датасета, а не оценк |
Каждое число поставляется с конфигурацией, моделю-судьёй, оговоркми и експериментами, которые проиграли — включая сквозной LongMemEval, где м перепроверили обе сторон под нейтральнм арбитром Hunyuan 3: ответ mem0 на GPT-5 набирают 91.0%, ответ Link на бджетной модел — 80.6%. Их опубликованнй резултат подтверждается, а разрв связан с моделю, дающей ответ, а не со слоем памят — именно это изолирует приведённая выше строка с 99.4% извлечения свидетельств. Полная методология и шаги воспроизведения: benchmarks/RESULTS.md.
Память, которую можно взять с собой куда угодно — и доказать, что она работает
Три вопроса, на которые должна отвечать любая система памяти, и как Link отвечает на них механизмами, а не обещаниями:
«Это есть на всех моих машинах?» lnk sync перемещает проверенную память через git-remote, которым управляете вы, — приватный GitHub-репозиторий, голый репозиторий в homelab — без сервера и без аккаунта. Секреты сканируются до того, как что-либо покинет устройство, конфликты становятся элементами ревью, а не git-маркерами, а приватные записи никогда не синхронизируются. lnk team-sync запускает общий командный «мозг» на тех же рельсах.
«Во что я тогда верил?» Спросите обычным языком: lnk recall "where does local data live in March" возвращает то, что было истинным тогда, восстановленное по датированным файлам и их линии замещения, — в то время как тот же вопрос без даты возвращает сегодняшнюю правду. Детерминированно: регулярное выражение и календарь, без модели. Точность на момент времени по запросу обычным языком: 0.917, идентично запросу с ISO-датой.
«Мой агент действительно это использует?» Вопрос, на который большинство систем памяти не могут ответить о самих себе. Link записывает обращения к памяти локально — сессионные брифы, отправленные агентам, и выбранные ими запросы recall, — а lnk wins отвечает цифрами, в то время как lnk digest сообщает еженедельную историю, включая воспоминания, которые никогда не были запрошены. Журнал хранит, какая память была прочитана и когда, но никогда — что вы спрашивали; он никогда не синхронизируется, а LINK_USAGE=off отключает его. И память достигает каждого агента, а не только подключённых через хуки: первый ответ MCP-инструмента в сессии несёт бриф, независимо от того, какой инструмент был вызван.
Быстрый старт
Две команды: посмотрите, как это работает, а затем сделайте своим.
brew install gowtham0992/link/link
lnk proof # see the promise (~1 second, no setup)
lnk setup # wire every agent you have — workspace, MCP, session hooks, one commandУже есть память, разбросанная по инструментам? Перенесите её к себе как предложения для ревью — ничто не принимается автоматически:
lnk import claude-code # or: cursor, codex, file --file chatgpt.txtlnk setup обнаруживает агентов, установленных на вашей машине, — Claude Code, Codex, Cursor, Windsurf, Zed, Kiro, Gemini CLI — и подключает их все разом; Link по своей архитектуре не зависит от агента (один MCP-сервер, одно рабочее пространство, все агенты читают одну и ту же память). Он идемпотентен: после любого brew upgrade запустите его снова, и всё — среда выполнения рабочего пространства, подготовка MCP, хуки — будет обновлено. Предпочитаете подключить одного агента явно? lnk onboard --agent claude-code --write --hooks по-прежнему делает именно это.
lnk proof создаёт одноразовое рабочее пространство, записывает одно проверенное воспоминание и извлекает его тем же путём, каким пользуются CLI, навыки и MCP, — ключевое обещание (одна локальная память, пригодная для разных агентов, без облачного профиля) за одну секунду:
Cross-agent memory continuity works
Memory: created and reviewed: Cross-agent Link proof
Recall: found through the same bounded recall path used by CLI, skills, and MCP.
Result: proof passedlnk onboard --agent claude-code --write затем создаёт ~/link, подготавливает MCP-рантайм и подключает агента — включая сессионные хуки, которые автоматически захватывают память во время вашей работы (замените claude-code на codex, cursor, kiro, copilot, antigravity или другие). Уберите --write, чтобы просмотреть конфигурацию, ничего не меняя, или уберите --agent, чтобы просто создать рабочее пространство.
Установленная команда называется lnk, потому что link уже является системной утилитой POSIX/macOS. Из исходников используйте вместо неё python3 link.py ....
Хотите сначала UI, граф и страницы исходников? lnk try && lnk serve link-demo. Пути для Windows, работы из исходников, только MCP и подхода «сначала навыки» описаны в руководстве «Первые 10 минут».
Или наполните текущий репозиторий отдельным шагом, чтобы первый настоящий запрос не был пустым:
cd /path/to/your/project
lnk seed . ~/link
lnk query "what is this project about?" ~/link --budget smalllnk seed читает разрешённые проектные файлы, такие как README.md, AGENTS.md, CLAUDE.md, .cursorrules и файлы правил редактора, блокирует значения, похожие на секреты, создаёт страницу проекта на основе исходников и перестраивает граф. Он не создаёт долговременных воспоминаний; агенты по-прежнему должны использовать проверенные предложения памяти для предпочтений и решений.
Формула Homebrew поддерживается в публичном tap gowtham0992/homebrew-link.
Откройте:
http://127.0.0.1:3000
http://127.0.0.1:3000/onboard
http://127.0.0.1:3000/graph
http://127.0.0.1:3000/healthИспользуйте /onboard, когда хотите получить тот же чек-лист первого запуска в локальном UI: готовность, наполнение проектного контекста, первое воспоминание, подключение агента и стартовые промпты. Веб-просмотрщик предназначен только для локального использования. Он привязывается к 127.0.0.1, не имеет учётных записей и аутентификации и не должен быть доступен из интернета, если вы не добавите собственный слой авторизации.
Попробуйте цикл ценности:
lnk start link-demo --task "working on agent memory"
lnk query "why does Link help agents?" link-demo --budget small
lnk brief "working on agent memory" link-demo
lnk benchmark "agent memory" link-demo
lnk health link-demolnk benchmark сообщает и о производительности, и о пользе: тайминги кэша/поиска/запросов, форму графового payload и оценку того, как много широкого вики-контекста ограниченный пакет Link не отправил агенту.
Страница /health повторяет цикл готовности в браузере: состояние валидации, прерванные записи, статус ревью памяти и копируемые команды восстановления. Просмотрщик остаётся документо-ориентированным: общие разделы в верхней навигации, более глубокие инструменты в more, а на структурированных страницах — оглавление и ссылки, связанные с графом.
Сгенерированное демо — это публичная вики-доказательство. Сгенерированный контент внутри wiki/, raw/ и link-demo/ игнорируется git, чтобы личная память не была опубликована случайно.
LinkBar — приложение в строке меню (macOS)
Память Link — всегда рядом. LinkBar помещает шлюз ревью в вашу строку меню: глобальная палитра (⌥⌘M) для recall или remember из любого приложения, нативные уведомления с принятием в один клик, когда приходит сессионная запись, живой индикатор, пока агенты пишут, и браузер по всем файлам памяти — всё это работает на тех же проверенных командах lnk, что и CLI.
brew install --cask gowtham0992/link/linkbarНамеренно без подписи (никакая комиссия Apple ничего не раздувает): cask снимает флаг карантина при установке, поэтому приложение открывается как любое другое. Сборка из исходников вместо этого: cd apps/LinkBar && bash Scripts/bundle.sh --install.
Killer-демо: одна память, два агента
Это тот момент, ради которого создан Link:
В одном агенте скажите:
remember that I prefer local, source-backed memory for AI agentsВ другом агенте, подключённом к тому же рабочему пространству
~/link, скажите:start with Link before we continue what does Link remember about local agent memory?Второй агент должен извлечь проверенное воспоминание из локального Markdown, а не просить вас повторить.
Для чистой автоматизированной версии той же идеи выполните:
lnk proofСпособы использования Link
Выберите интерфейс, который соответствует вашему стилю работы. Все они читают и пишут одну и ту же локальную Markdown-вики.
Эти интерфейсы независимы. lnk serve / serve.py — это только локальный веб-просмотрщик. Команды CLI, официальные навыки и MCP-инструменты читают те же файлы wiki/ напрямую, поэтому Claude, Codex, Kiro, Cursor или другой агент могут использовать Link, даже когда веб-просмотрщик не запущен.
Предпочитаете навыки вместо MCP? Link поставляется с небольшими лениво загружаемыми CLI-навыками в skills/. Они позволяют агенту использовать lnk health, lnk query, lnk ingest-status, lnk session-end и lnk remember напрямую, без настройки MCP или запущенного веб-просмотрщика.
skills/link-health/SKILL.md
skills/link-retrieve/SKILL.md
skills/link-ingest/SKILL.md
skills/link-memory/SKILL.mdПолное руководство: Link Skills.
Установка для вашего агента
Запустите один установщик из склонированного репозитория:
bash integrations/codex/install.sh
bash integrations/kiro/install.sh
bash integrations/claude-code/install.sh
bash integrations/cursor/install.sh
bash integrations/copilot/install.sh
bash integrations/vscode/install.sh
bash integrations/antigravity/install.shУстановщики создают или обновляют ~/link, устанавливают или обновляют link-mcp, записывают лёгкие инструкции для агента и сохраняют существующие данные вики при переустановке. Используйте --project, когда репозиторию нужна отдельная память проекта.
В Windows используйте соответствующий установщик PowerShell:
.\integrations\codex\install.ps1
.\integrations\kiro\install.ps1
.\integrations\claude-code\install.ps1
.\integrations\cursor\install.ps1
.\integrations\copilot\install.ps1
.\integrations\vscode\install.ps1
.\integrations\antigravity\install.ps1Затем попросите вашего агента:
is Link ready?
start with Link before we continue
seed this project into Link
ingest raw/notes.md into Link
remember that I prefer short release notes
query Link for the release process
what does Link remember about local personal memory?
end this session with Link memory proposalsДля агентов, ориентированных на CLI, или навыков Link используйте тот же стартовый цикл напрямую:
lnk seed . ~/link
lnk start ~/link --task "working on Link release"
lnk session-end session-notes.md ~/link --limit 3Если вы хотите один управляемый процесс настройки для реального рабочего пространства и агента, используйте lnk onboard --agent AGENT. Если у вашего агента уже есть инструкции и вам нужна только настройка MCP, используйте низкоуровневый помощник подключения. Оба сначала показывают точную конфигурацию; добавьте --write, когда хотите, чтобы Link обновил файл конфигурации агента.
lnk onboard --agent codex
lnk onboard --agent codex --write
lnk connect codex ~/link
lnk connect codex ~/link --write
lnk connect kiro ~/link --write
lnk verify-mcp ~/linkДля агентов с поддержкой сессионных хуков — Claude Code, Codex и Cursor — добавьте --hooks (работает и с lnk onboard), чтобы сделать цикл памяти автоматическим: бриф внедряется в начале сессии, а заметки только в виде предложений захватываются в конце сессии, так что память больше не зависит от того, вспомнит ли агент вызвать Link. Пустые сессии и повторные события завершения пропускаются, а когда накапливается очередь, бриф подталкивает агента предложить read-only проход lnk consolidate. Долговременная память по-прежнему требует вашего одобрения. Поддержка хуков для Codex и Cursor новая (подключена к их документированным схемам — сообщайте о проблемах).
lnk connect claude-code ~/link --hooks --write
lnk connect codex ~/link --hooks --write # session-start brief (Codex has no session-end event)
lnk connect cursor ~/link --hooks --write
lnk consolidate ~/link # read-only backlog plan, apply only with approvalОпционально: гибридный семантический поиск (по-прежнему полностью локальный)
Лексический поиск всегда используется по умолчанию и как запасной вариант. Сопоставление по перефразированию включается вручную: после двух команд настройки ниже запрос «how should I structure my pull requests» найдёт воспоминание о стиле коммитов. До этого поиск сопоставляет по общим словам, а при промахе подскажет, как включить сопоставление по перефразированию. Установка опционального семантического дополнения добавляет небольшую локальную модель статических эмбеддингов. Поиск никогда не обращается к сети: модель загружается только офлайн после однократной явной настройки, эмбеддинги хранятся в обычном JSON в .link-cache/, вычисление схожести выполняется в процессе без векторной базы данных, а результаты только семантического поиска помечаются ограниченными уровнями уверенности, чтобы агенты проверяли их, прежде чем доверять.
pip install "link-mcp[semantic]" # fast tier: tiny static model, instant load
pip install "link-mcp[semantic-quality]" # quality tier: contextual model, best recall
lnk semantic ~/link --setup # one-time model fetch, with your approval
lnk semantic ~/link # status: lexical only vs hybrid, active tier
python3 -m link_mcp --semantic-setup --wiki ~/link/wiki # MCP-only installsИзмерено, а не заявлено: на встроенном бенчмарке из 1 176 случаев качественный уровень поднимает hit@1 по пересечению токенов с 0.589 до 0.749, а hit@3/hit@5 для чистых перефразирований (нулевое пересечение токенов) — в ~4×, при ~10 мс на запрос без сервиса и векторной базы данных. На стороннем треке поиска LoCoMo (1 536 вопросов с аннотированными свидетельствами по 5 882 виткам разговора) гибридный поиск поднимает hit@10 по любому свидетельству с 0.628 до 0.737 (0.794 с опциональным уровнем реранжирования). Полная методология, честные ограничения и шаги воспроизведения: benchmarks/RESULTS.md.
python3 -m pip install --upgrade link-mcp
python3 -m link_mcp --version{
"mcpServers": {
"link": {
"command": "python3",
"args": ["-m", "link_mcp", "--wiki", "~/link/wiki", "--surface", "slim"]
}
}
}--surface slim — рекомендуемая поверхность MCP для агентов: шесть очевидных инструментов для recall, remember, ingest, review, status и административных запасных выходов. Полная поверхность совместимости по-прежнему доступна с --surface full.
В macOS/Homebrew Python, если pip сообщает externally-managed-environment, используйте выделенный venv:
python3 -m venv ~/.link-mcp-venv
~/.link-mcp-venv/bin/python -m pip install --upgrade pip link-mcpПолная настройка: руководство по MCP.
Пользователи Obsidian могут импортировать существующее хранилище в raw/ для приёма данных агентом или открыть ~/link/wiki напрямую как хранилище для редактирования страниц Link:
lnk init ~/link
lnk import-obsidian ~/Documents/ObsidianVault ~/linkСм. руководство по Obsidian для цикла импорта, редактирования и валидации.
Модель хранения
Под капотом Link разделяет знания на основе исходников и долговременную память агента:
Складывайте сырые заметки, транскрипты, статьи и проектный контекст в
raw/.Агенты компилируют эти источники в просматриваемые страницы в
wiki/.Явные запросы «remember» становятся проверяемыми страницами памяти.
Запросы извлекают компактный контекст для агента как из вики, так и из слоя памяти.
Модель хранения проста и прозрачна:
Уровень | Что там находится |
| Оригинальные заметки, транскрипты, статьи, PDF-файлы, скриншоты и файлы проекта. |
| Страницы на основе источников, концепции, сущности, исследования, сравнения и воспоминания. |
Интерфейсы агентов | CLI, навыки, MCP и пути локального просмотрщика, которые не выгружают всю вики в контекст. |
Wait, I made many typos in this table. Need correct. Let's slow.
Table row 2: "Страницы на основе источников" - "основе" not "основе"? Actually "основе" (prepositional of "основа") = "основе". "источников" - "и-с-т-о-ч-н-и-к-о-в". I wrote "источников" wrong. Correct "источников" (from "источник"). So "на основе источников". "сущности" - "сущности" (entities) = "сущности" with "щ"? The word "сущность" = "с-у-щ-н-о-с-т-ь". Yes "сущности". "исследования" correct. "сравнения" correct. "воспоминания" correct.
Row 3: "Интерфейсы агентов" should have "и" after "т"? "Интерфейсы" = "и-н-т-е-р-ф-е-й-с-ы". Yes. "навыки" = "н-а-в-ы-к-и". "MCP" should be "MCP" but Russian uppercase letters? We should keep Latin "MCP". "пути локального просмотрщика" - "пути" should be "пути" (paths) actually "п-у-т-и". "просмотрщика" - "п-р-о-с-м-о-т-р-щ-и-к-а" = "просмотрщика". Correct. "выгружают" - "в-ы-г-р-у-ж-а-ю-т". "контекст" - "к-о-н-т-е-к-с-т" = "контекст". Correct.
Need "CLI" as Latin, "MCP" Latin, "raw/", "wiki/" with code. Good.
But the table in my previous attempt is broken due to pipe alignment and typos. Let's carefully craft final table now.
I'll write in final:
Уровень | Что там находится |
| Оригинальные заметки, транскрипты, статьи, PDF-файлы, скриншоты и файлы проекта. |
| Страницы на основе источников, концепции, сущности, исследования, сравнения и воспоминания. |
Интерфейсы агентов | CLI, навыки, MCP и пути локального просмотрщика, которые не выгружают всю вики в контекст. |
This is simpler and safer. The instruction says preserve structure exactly, but separators can be simplified? Hmm. It says "Preserve the exact structure of Markdown tables (same number of rows, columns, and pipe separators)." It doesn't demand same widths. Using | --- | --- | is same structure. The number of columns 2, rows 4. Fine. Use this.
Now let's redo entire final carefully.
Need maintain blank lines around placeholders. We'll output.
Let's write final answer now, with close attention to spelling.
Final:
Уровень | Что там находится |
| Оригинальные заметки, транскрипты, статьи, PDF-файлы, скриншоты и файлы проекта. |
| Страницы на основе источников, концепции, сущности, исследования, сравнения и воспоминания. |
Интерфейсы агентов | CLI, навыки, MCP и пути локального просмотрщика, которые не выгружают всю вики в контекст. |
Wait "Оригинальные" should be "Оригинальные"? The word "оригинальные" = "о-р-и-г-и-н-а-л-ь-н-ы-е". Actually "оригинальные" (original) with "г" not "г"? Correct: "оригинальные" (о-р-и-г-и-н-а-л-ь-н-ы-е). We'll write "Оригинальные". "транскрипты" = "т-р-а-н-с-к-р-и-п-т-ы". "статьи" = "с-т-а-т-ь-и". "PDF-файлы" = Latin PDF + дефис + "файлы". "скриншоты" = "с-к-р-и-н-ш-о-т-ы". "файлы проекта" = good.
Row 2: "Страницы" (с-т-р-а-н-и-ц-ы). "на основе" = "н-а" "о-с-н-о-в-е". "источников" = "и-с-т-о-ч-н-и-к-о-в" Actually "источников" - let's spell: и с т о ч н и к о в. That's "источников"? The sequence: "и" "сто" "чник" "ов". Yes "источников" = "и-с-т-о-ч-н-и-к-о-в". Good. "концепции" = "к-о-н-ц-е-п-ц-и-и" (concepts). Yes "концепции". "сущности" = "с-у-щ-н-о-с-т-и". Actually "сущности" with "щ": с у щ н о с т и. "Исследования" = "и-с-с-л-е-д-о-в-а-н-и-я" (two с). "сравнения" = "с-р-а-в-н-е-н-и-я". "воспоминания" = "в-о-с-п-о-м-и-н-а-н-и-я". Good.
Row 3: "Интерфейсы" = "и-н-т-е-р-ф-е-й-с-ы". "агентов" = "а-г-е-н-т-о-в". "CLI" Latin, "навыки" = "н-а-в-ы-к-и". "MCP" Latin. "пути" = "п-у-т-и". "локального" = "л-о-к-а-л-ь-н-о-г-о". "просмотрщика" = "п-р-о-с-м-о-т-р-щ-и-к-а". "не выгружают" = "н-е" "в-ы-г-р-у-ж-а-ю-т". "всю" = "в-с-ю". "вики" = "в-и-к-и". "в контекст" = "в" "к-о-н-т-е-к-с-т". Good.
Now, perhaps "Интерфейсы" should be "Интерфейсы" or "Интерфейсы"? The word "интерфейс" = "и-н-т-е-р-ф-е-й-с". So "Интерфейсы" correct.
Now, after table, paragraph.
I'll now write entire final. Need ensure no markdown code fence.
Let's craft final with all sections.
Important: In "What Agents Get" section, after bullet list there is paragraph. We'll keep.
Let's write in final message.| Уровень | Что там находится |
| --- | --- |
| raw/ | Оригинальные заметки, транскрипты, статьи, PDF-файлы, скриншоты и файлы проекта. |
| wiki/ | Страницы на основе источников, концепции, сущности, исследования, сравнения и воспоминания. |
| Интерфейсы агентов | CLI, навыки, MCP и пути локального просмотрщика, которые не выгружают всю вики в контекст. |
Если файл из raw/ уже был импортирован, а затем изменён, lnk ingest-status помечает его как устаревший и сообщает вашему агенту, что нужно обновить существующую страницу источника, а не создавать дубликат.
Что получают агенты
Когда агент использует Link через рекомендуемый интерфейс MCP, он получает шесть инструментов, предназначенных для моделей. CL I и навыки вызывают ту же базовую функциональность через lnk.
status: готовность, состояние схемы, валидация, прерванные записи и безопасные следующие дейст вия.recall: единст венный путь чтения для стартовых брифингов, готовых к ответу пакетов запросов, поиска по вики, контекста графа, бюдже тов токенов и последующих дейст вий. Каждое извлечённое воспоминание несёт меткуconfidence(strong,moderate,weak) и полеmatch(lexical,semantic,hybridпри установленном дополнительном локальном семантическом уровне), поэтому агенты проверяют слабые или перефразированные совпадения с пользователем, а не доверяют им.remember: долговременная локальная память только после явного согласия пользователя, с проверками на дубликаты/конфликты, происхождением, статусом проверки, видимостью, опциональнымreview_afterи опциональнымexpires_at.ingest: точные следующие шаги для файлов изraw/, безопасность источников, обнаружение устаревших импортов, валидация и проверки пересборки.review: входящие воспоминания, профиль, аудит, журнал, объяснение, архивирование, восстано вление, забывание и рабочie процессы проверки жизненного цикла — а такжеreview(action="consolidate"), план отложенной работы только для чтения, который применяется только с одобрения пользователя на каждое дейст вие.admin: аварийный выход для резервного копирования, миграции, валидации, экспорта графа, страниц, захватов, пересборок, дейст вий совместимости и расшеренных обновлений.
Стабильный цикл взаимодейст вия с агентом описан в Контракте памяти Link: сначала готовность, ограниченное извлечение воспоминаний, явная запись воспоминаний, инструменты аудита и семантика общего доступа.
Используйте review_after для привязанных ко времени предпочтений или решений. Когда эта дата наступает, воспоминание снова появляется во входящих на проверку Link, чтобы аген мог попросить пользователя подтвердить, обновить, архивировать или забыть его, а не доверять устаревшему контексту.
Используйте expires_at для временного контекста, который после определённой даты должен автоматически исчезать из обычного извлечения; Link оставляет страницу Markdown доступной для просмотра и просит пользователя обновить, архивировать или удалить её.
Используйте visibilty, чтобы раздлить, где применяется воспоминание и кто должен его видеть: private остаётся личным, project предназначен для рабочего пространства проекта, а team означает, что пользователь явно одобрил предоставление к нему доступа команде.
Для передачи команде или проверки безопасности lnk compliance-export --output audit.json создаёт JSON-пакет с удалёнными конфиденциальными данными, содержащий готовность, валидацию, статус проверки воспоминаний, маркеры операций и недавние записи журнала аудита. Содержимое сырых источников и тела воспоминаний не включаются.
Для повседневного аудита lnk memory-log ~/link показывает, что Link недавно запомнил, обновил, проверил, заархивировал, восстано вил, забыл или принял из сырых захватов.
Для восстано вления lnk backup ~/link создаёт локальный архив, а lnk restore-backup <archive> ~/link показывает предварительный просмотр того, что будет восстановлено. Передача --confirm заменяет локальные файлы после создания резервной копии для безопасности, когда это возможно; raw/ по-прежнему исключается, если явно не передан --include-raw. Если многофайловая запись была прервана, lnk operations ~/ink показывает маркер и любой снимок для отката; lnk operations ~/ink --recover <marker> --confirm восстанавливает снимок после того, как вы его проверите.
Для локального подтверждения ценности lnk wins ~/ink показывает переиспользуемые воспоминания, проверенные воспоминания, происхождение, преемст венность проекта, защитные ограничения актуальности и копируемые промпты — без отслеживания поведения пользователя.
Для команной памяти на основе Git lnk team-sync ~/link проверяет, готово ли рабочее пространство публиковать проверенные страницы wiki/, оставляя raw/, кэши, резервные копии, локальные Python-маркеры MCP и wiki/log.md приватными по умолчанию. Журнал аудита локальный, потому что в нём используется хеш-цепочка одной машины; объединение журналов нескольких пользователей создавало бы ложные сигналы о вмешательст ве. Team sync также блокирует статус «готово», если входящие воспоминаний не пусты или актичные visibilty: private воспоминания могут попасть в коммит из-за широкой команды git add wiki.
lnk team-sync ~/link --remote git@example.com:team/link-memory.gitДля коллеги, рецензента или другого агента lnk share преобразует страницу, воспоминание, заголовок, псевдоним или поисковую фразу в URL локального просмотрщика:
lnk share "Prefer local memory" ~/linkДля статического пакета проверки, доступного только для чтения, lnk snapshoot по умолчанию экспортирует отрисованный HTML вики без raw/, захватов, маркеров операций, актичного состоя ния MCP и страниц воспоминаний. --include-memories экспортирует только неприватные воспоминания; используйте --include-private-memories только для личного архива или явно одобренной проверки. Экспорт блокируется, если страницы вики содержат значения, похожие на секреты, если вы явно не переопределите это поведение.
lnk snapshot ~/link --output link-snapshot
lnk snapshot ~/link --output link-snapshot --include-memories --force
lnk snapshot ~/link --output personal-snapshot --include-memories --include-private-memories --forceКонтракт агента
Для MCP-клиентов агенты должны использовать Link в следующем порядке:
status— для проверки готовности и безопасных следую щих дейст вий.recall— с пустым запросом один раз на первом содержательном ходе сессии.recall(query, budget="micro"|"small")— перед широким чтением файлов или просьбой к пользователю повторить долговременный контекст.ingest— перед обращением к сырым источникам и после изменения источников для проверок валидации/пересборки.remember— только когда пользователь явно просит Link что-то запомнить или одобряет предоженное воспоминание.review— для рабоч их процес сов со входящими воспоминаниями, профилем, аудитом, журналом, объяснением, архивированием, восстано влением и забыванием.admin— для резервного копирования, миграции, экспорта графа, захватов, пересборок, дейст вий совместимости и расшеренного обслуживания.
Полный список MCP-инструментов: Настройка MCP.
Конфиденциальность и безопасность
Link сам по себе ориентирован на локальную работу:
Никакой телеметрии в установленном CLI, MCP-сервере, локальном веб-интерфейсе или среде выполнения вики.
Нет внешного бэкенда.
Никаких внешних API-вызовов из
serve.pyилиlink-mcp.Сырые источники и сгенерированные страницы вики игнорируются git по умолчанию.
lnk backupисключаетraw/, если вы явно не передадите--include-raw.Выгля дящие как секреты API-ключи, токены провайдеров, JWT, учётные данные реестров и блоки приватных ключей обнаруживаются в сырых источниках, захватах и при проверках гигиены релизов.
lnk validateиlnk doctorтакже завершаются ошибкой, если внутри страниц вики найдены значения, похожие на секреты, — до того, как они будут отданы через локальный интерфейс или возвращены через контекст агента.Дополнительный семантический recall остаётся локальным: модели загружаются только офлайн во время recall (только явная команда
lnk semantic --setupможет один раз скачать модель), а эмбеддинги хранятся в обычном JSON в.link-cache/.Автоматические хуки сессий сохраняют заметки, содержащие только предожения; при извлечении транскриптов пропускаются вызовы инструментов и их резултаты, и без проверки не записывается ни одно долговременное воспоминание.
Локальный веб-сервер привязан к
127.0.0.1и не предназначен для доступа из интернета без дополнительной аутентификации.
Перед публикацией репозитория, демо или вики:
python3 link.py doctor
python3 link.py validate
python3 scripts/check_release_hygiene.pyПодробнее: Руководство по безопасности.
Документация
Нужно | Куда перейти |
Запустить Link впервые | |
«Читает ли Link мои разговоры?» | |
Решить, подходит ли Link | |
Использовать локальный просмотрщик | |
Разобраться в raw/wiki/памяти | |
Настроить MCP | |
Найти команду | |
Использовать Link без настройки MCP | |
Использовать локальные HTTP-эндпоинты | |
Изучить границы безопасности | |
Проверить ограничения масштаба и измерить свою вики | |
Оценить Link для небольшой команды | |
Исправить проблемы настройки |
Участие в разработке
Вклад вносится через пул-реквесты, нацеленные на main. Ветка develop — это интеграционная ветка мейнтейнеров для более крупной работы над релизами перед тем, как она будет предложена в main.
Перед открытием PR:
python3 -m ruff check .
python3 -m pytest tests
python3 scripts/check_release_hygiene.py
python3 scripts/check_runtime_duplication.py
python3 scripts/check_tool_contract.py
git diff --checkПолное руководство для участников: Участие в разработке.
Не включайте в PR личные данные вики, сырые источники, токены реестров, файлы .env или локальные учётные данные MCP.
Если Link помогает вашим агентам лучше запоминать, отметьте его звездой на GitHub, чтобы больше людей могли его найти.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceLocal-first, file-based memory layer for AI agents — one shared Markdown vault across Claude, Codex, Gemini, Cursor and any MCP client. Provides read/write memory tools with an audit trail, per-agent trust levels, and Git sync; no cloud and no lock-in.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides persistent long-term memory for AI assistants with tag-based retrieval, wiki-style linking, and source references, storing memories as markdown files with SQLite index.1MIT
- FlicenseNot gradedqualityBmaintenancePersistent memory for AI agents enabling saving, searching, and managing knowledge across sessions with local markdown files.2
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to maintain persistent, local memory with retrieval-augmented search, knowledge graphs, and context surfacing, without any cloud dependencies.135MIT
Related MCP Connectors
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gowtham0992/link'
If you have feedback or need assistance with the MCP directory API, please join our Discord server