Skip to main content
Glama
kellyorkin

Cane

by kellyorkin

Cane

Опора для мышления в беспорядке — а не инструмент для уборки.

Cane — это локальный MCP сервер. Он даёт вашему ИИ-ассистенту детерминированные доказательства о ваших файлах — какая из ваших почти одинаковых черновиков актуальна, какие строки существуют только в одном месте, что на самом деле изменилось между двумя версиями — чтобы ассистент мог сказать, что безопасно утилизировать, читая байты, а не полагаясь на то, как вы назвали файлы.

Он только диагностирует. Он никогда не перемещает, не переименовывает и не удаляет файлы. Ничто не покидает вашу машину: здесь нет ни аккаунта, ни сервиса, а со стороны Cane нет API-ключа — все рассуждения выполняет ваш собственный ассистент через собственный доступ к модели.


Для чего это

Большинство инструментов, которые берутся за кучу файлов, существуют для того, чтобы её чинить: дедупликаторы, организаторы, утилиты «наведи порядок на диске». Все они говорят одно и то же: будь дисциплинированнее. Называй вещи единообразно. Правильно версионируй. Убирай за собой. Для многих такой совет звучит как «стань меньше собой» — и он каждый раз рассыпается по одной и той же причине: требуемая дисциплина как раз и есть то, чего не хватает.

Cane устроен наоборот. Cane — это инструмент, который позволяет беспорядку жить.

Храните двадцать копий. Шесть раз перепридумывайте одну и ту же идею. Назовите их все final. Потом наведите Cane на них и спросите, какая из копий — текущая и почему различие важно, — и получите ответ, подкреплённый доказательствами, а не лекцию.

Суть целиком в названии. Трость ничего не лечит; она берёт на себя ваш вес, чтобы вы могли идти дальше. Cane не исправляет ваш беспорядок — он даёт опору, чтобы создать его, потому что разборки происходят после факта. Это опора, а не лечкарство.

Related MCP server: mcp-document-intelligence

Почему не просто diff, дедупликация или контроль версий?

  • diff сообщает, что изменилось, но отказывается говорить, важно ли это.

  • Хэш-дедупликация сама по себе с мусором удаляет и нужную копию. (Свой же тестовый кейс Cane: файл, выглядящий как мусор, — …(1).md — был заменяющим файлом; наивная дедупликация уничтожила бы его.)

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

Не хватает суждения, а не ещё одного diff. Cane выдают детерминированные доказательства; ваш ассистент, с вложенным API? No — вы с вложенным правило — вы должны. Внимание, вот суждение даёт сырой diff не может судить в одиночку.

Попробуем ещё раз.

Что вы получаете

Ассистенту под регистрируются ресурсы:

cane_compare(a, b)

Всё измеряемое о двух файлах: размер, время модификации, md5, побайтовая идентичность? включённость (чьи строки не существуют больше нигде → этот файл следует сохраняться; какой является полное подмножен другого → он безопасно утилизируется) и объединяющий diff. Атом-проверки «какой из этих двух файлов актуальнее?».

cane_cluster(folder)

Семейства файлы с похожими названиями в папке — файлы-версии одного объекта, которые при этом называются по-разному (draft, final, v2, (1), даты). Входня точка «какая из моих двадцати копий?».

cane://creed (ресурс)

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

Установка

Cane требует Python 3.10+ и пакет mcp (pip install mcp). Затем склюнируйте репозиторий:

git clone https://github.com/kellyorkin/cane-mcp.git

Claude Code

claude mcp add --scope user cane -- python /path/to/cane-mcp/server.py

Флаг --scope user сделает его доступным во всех ваших проектах. Запустите новую сессию — и инструменты будут у вас. Проверьте с помощью claude mcp list (ищите cane ✔ Connected).

Claude Desktop

Добавьте это в ваш claude_desktop_config.json, затем перезапустите:

{
  "mcpServers": {
    "cane": {
      "command": "python",
      "args": ["/path/to/cane-mcp/server.py"]
    }
  }
}

На Windows укажите полный путь к вашему python.exe и используйте двойные обратные слэши в путях. Если приходит сообщение «connection timed out» — обычная причина в том, что путь к Python указан неверно: нацельте command на тот точный интерпретатор, в который установлен mcp.

Потом спросите ассистента примерно так: «Используй cane, чтобы сравнить эти двух файлов и скажи, какой из них актуален и можно ли безопасно утилизировать любой из них» — и дайте ему пути.

Чего Cane не будет делать (намеренно)

  • Никаких записей. Он никогда не переносит, не переименовывает файлы и не удаляет. Ни в v1, никогда. Он предлагает — действие совершаете вы.

  • Никакого сервиса, аккаунта, телеметрии, ключа. Это локальный процесс. Твои файлы обычно не слушают твое — в том виде, в котором их уже видит ваша ассистент.

  • Никакого обхода всего диска. Инструменты получают ограниченную цель — два файла или одну папку. Граница — это фича: безбрежная свалка лишь переносит перегрузку на модель. Задача Cane — снять перегрузку до передачи и не перетаскивать её дальше.

Честные ограничения

  • Суждение остаётся верным, пока решашшая доказательства укладываются в 240-строчныйdiff-предел Cane; за этим сигнал уже не проносит.

  • Вклюзение — это сигнал для текстовых файлов (читает количество строк). Для бинарников доступен fallback на md5/размер. Он нормализует переводы строк и концевые пробелы — поэтому чисто косметика саawaется одинаковой, — но не регистр и отступы; здесь он привыкнут консервативности в сторону сохранения файла.

  • Внутри составных документов (.docx/.pptx/.xlsx) он читает текст, но images with OCR from not.

Лицензия

MIT © 2026 кKelly Orkin Brady. Делайте, что нравится.

Диагностируй, не исполняй. Поддержи беспорядок, а не наказывай его.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables intelligent file and folder comparison with advanced text normalization, duplicate detection, and line-level diff analysis. Provides secure workspace-constrained file operations with CRC32-based exact matching and smart text comparison capabilities.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to analyze, rename, categorize, and organize local documents using OCR, metadata extraction, and batch processing, with preview mode and undo support.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Official server for the ShieldFive end-to-end encrypted vault. Moves files off your computer into the vault, reading each copy back and verifying it before the original goes to a local trash folder (nothing deleted). Also finds duplicates by content and tidies folders. Decrypts on your machine; access is scoped, expiring, revocable and undoable.
    74 npm
    MIT