Integrations
Агент оболочки и кодирования для Клода и других клиентов mcp
Расширение возможностей чат-приложений по программированию, сборке и запуску на локальном компьютере.
wcgw — это MCP-сервер с тесно интегрированной оболочкой и инструментами редактирования кода.
⚠️ Предупреждение: не разрешайте использование инструмента BashCommand без проверки команды, это может привести к потере данных.
Демо
Обновления
- [27 апреля 2025 г.] Удалена поддержка GPT через сервер ретрансляции. В версии >= 5 поддерживается только сервер MCP.
- [24 марта 2025 г.] Улучшены возможности написания и редактирования сонета 3.7, CLAUDE.md загружается автоматически.
- [16 февр. 2025] Теперь вы можете прикрепиться к рабочему терминалу, который использует ИИ. См. раздел «прикрепиться к терминалу» ниже.
- [15 января 2025 г.] Представлены режимы: архитектор, кодировщик и всесильный режим wcgw.
- [8 января 2025 г.] Инструмент сохранения контекста для сохранения соответствующих путей к файлам вместе с описанием в одном файле. Может использоваться как контрольная точка задачи или для передачи знаний.
- [29 декабря 2024 г.] Проверка синтаксиса при записи и редактировании файлов теперь стабильна. Сделан полезный вызов инструмента
initialize
; отправка интеллектуальной структуры репозитория в claude, если есть ссылка на какой-либо репозиторий. Обработка больших файлов теперь также улучшена. - [9 декабря 2024 г.] Расширение Vscode для вставки контекста в приложение Claude
🚀 Основные моменты
- ⚡ Создать, выполнить, повторить : попросите claude продолжать выполнять проверки компилятора, пока все ошибки не будут исправлены, или попросите его продолжать проверять статус длительно выполняемой команды, пока она не будет завершена.
- ⚡ Редактирование больших файлов : поддерживает пошаговое редактирование больших файлов, чтобы избежать проблем с ограничением токенов. Умно выбирает, когда делать небольшие правки или большую перезапись, основываясь на % необходимых изменений.
- ⚡ Проверка синтаксиса правок : отправляет обратную связь LLM, если в его правках есть синтаксические ошибки, чтобы он мог их переделать.
- ⚡ Интерактивная обработка команд : поддерживает интерактивные команды с использованием клавиш со стрелками, прерываний и управляющих последовательностей ANSI.
- ⚡ Защита файлов :
- ИИ должен прочитать файл хотя бы один раз, прежде чем ему будет разрешено редактировать или перезаписывать его. Это позволяет избежать случайной перезаписи.
- Избегает заполнения контекста при чтении очень больших файлов. Файлы разбиваются на части в зависимости от длины токена.
- При инициализации возвращается структура каталогов предоставленного рабочего пространства после выбора важных файлов (на основе .gitignore, а также статистического подхода)
- Редактирование файла на основе поиска-замены пытается найти правильный блок поиска, если у него есть несколько совпадений на основе предыдущих блоков поиска. В противном случае терпит неудачу (для корректности).
- Редактирование файла имеет соответствие, допускающее интервалы, с предупреждением о проблемах, таких как несоответствие отступов. Если соответствия нет, ближайшее соответствие возвращается ИИ для исправления его ошибок.
- Использование поиска и замены, подобного Aider, который имеет лучшую производительность, чем поиск и замена на основе вызова инструментов.
- ⚡ Оптимизация оболочки :
- Только одна команда может быть запущена за раз, что упрощает управление и позволяет избежать несанкционированных процессов. В любой момент времени существует только один экземпляр оболочки.
- Текущий рабочий каталог всегда возвращается после любой команды оболочки, чтобы не допустить потери ИИ.
- Опрос команд завершается после короткого тайм-аута, чтобы избежать медленной обратной связи. Однако проверка статуса имеет толерантность к ожиданию, основанную на свежем потоке вывода от команды. Оба этих подхода в сочетании обеспечивают хороший опыт взаимодействия с оболочкой.
- ⚡ Сохранение контекста репозитория в одном файле : контрольная точка задачи с помощью инструмента «ContextSave» сохраняет подробный контекст в одном файле. Задачи можно позже возобновить в новом чате, запросив «Resume
task id
». Сохраненный файл можно использовать для других видов передачи знаний, например, для получения помощи от другого ИИ. - ⚡ Легко переключайтесь между различными режимами :
- Попросите его запуститься в режиме «архитектор» для планирования. Вдохновленный режимом архитектора Адиера, работайте с Клодом, чтобы сначала придумать план. Это приводит к большей точности и предотвращает преждевременное редактирование файла.
- Попросите его запуститься в режиме 'code-writer' для редактирования кода и сборки проекта. Вы можете указать определенные пути с поддержкой подстановочных знаков, чтобы предотвратить редактирование других файлов.
- По умолчанию он работает в режиме «wcgw», который не имеет ограничений и требует полной авторизации.
- Более подробная информация в разделе «Режимы».
- ⚡ Запускается в мультиплексном терминале Запустите
screen -x
, чтобы подключиться к терминалу, на котором ИИ запускает команды. Смотрите историю или прерывайте процесс или взаимодействуйте с тем же терминалом, который использует ИИ.
Примеры основных вариантов использования
- Решите проблему X с помощью Python, создайте и запустите тестовые случаи и исправьте любые проблемы. Сделайте это во временном каталоге
- Найти примеры кода с поведением X в моем репозитории
- Клонирую Git https://github.com/my/repo в свой домашний каталог, затем разбираюсь в проекте, настраиваю среду и собираю
- Создайте веб-приложение golang htmx tailwind, затем откройте браузер и проверьте, работает ли оно (используйте с puppeteer mcp)
- Редактировать или обновить большой файл
- В отдельной ветке создайте функцию Y, затем используйте github cli для создания PR в исходную ветку.
- Команда X не выполняется в каталоге Y. Запустите ее и исправьте ошибки.
- Используя виртуальную среду X, выполните команду Y.
- Используя cli tools, создайте сборку и протестируйте приложение для Android. Наконец, запустите его с помощью эмулятора, чтобы я мог использовать
- Исправьте все проблемы с mypy в моем репозитории по адресу X.
- Используя 'screen', запустите мой сервер в фоновом режиме, затем запустите другой сервер API в bg, наконец, запустите сборку frontend. Продолжайте проверять журналы на наличие проблем во всех трех
- Создайте кейсы unittest для всего репозитория. Продолжайте перебирать файлы и создавать кейсы. Также продолжайте запускать тесты после каждого обновления. Не изменяйте исходный код.
Настройка Клода (используя mcp)
Мак и Линукс
Сначала установите uv
с помощью homebrew brew install uv
( Важно: используйте homebrew для установки uv. В противном случае убедитесь, что uv
присутствует в глобальном расположении, например /usr/bin/)
Затем создайте или обновите claude_desktop_config.json
(~/Library/Application Support/Claude/claude_desktop_config.json) следующим json.
Затем перезапустите приложение Claude.
Если при настройке произошла ошибка
- Если возникает ошибка типа "uv ENOENT", убедитесь, что
uv
установлен. Затем запустите 'which uv' в терминале и используйте его вывод вместо "uv" в конфигурации. - Если проблема все еще есть, проверьте, что
uv tool run --python 3.12 wcgw@latest
запущен в вашем терминале. Он не должен выводить никаких данных и не должен завершаться. - Попробуйте удалить папку ~/.cache/uv
- Попробуйте использовать версию
uv``0.6.0
, для которой этот инструмент был протестирован. - Отладьте сервер mcp с помощью
npx @modelcontextprotocol/inspector@0.1.7 uv tool run --python 3.12 wcgw@latest
Windows на wsl
Этот mcp-сервер работает только на wsl на windows.
Чтобы настроить, установите uv
Затем добавьте или обновите файл конфигурации claude %APPDATA%\Claude\claude_desktop_config.json
следующим образом
Использование
Подождите несколько секунд. Вы должны увидеть этот значок, если все пойдет правильно.
здесь
Затем попросите Клода выполнить команды оболочки, прочитать файлы, отредактировать файлы, запустить ваш код и т. д.
Контрольная точка задачи или передача знаний
- Вы можете выполнить контрольную точку задачи или передачу знаний, прикрепив подсказку «Передача знаний» с помощью кнопки «Прикрепить из MCP».
- При запуске запроса "KnowledgeTransfer" будет вызван инструмент "ContextSave", сохраняющий описание задачи и все содержимое файла вместе в одном файле. Будет сгенерирован идентификатор для задачи.
- В новом чате вы можете сказать «Возобновить», после чего ИИ должен вызвать «Инициализировать» с идентификатором задачи и загрузить контекст оттуда.
- Или вы можете напрямую открыть сгенерированный файл и поделиться им с другим ИИ для получения помощи.
Режимы
Есть три встроенных режима. Вы можете попросить Клода работать в одном из режимов, например "Использовать режим 'архитектор'"
Режим | Описание | Позволяет | Отрицает | Вызов приглашения |
---|---|---|---|---|
Архитектор | Разработано для того, чтобы вы могли работать с Клодом над исследованием и пониманием вашего репозитория. | Команды только для чтения | Инструмент FileEdit и Write | Запустить в режиме = 'архитектор' |
Автор кода | Для написания и разработки кода | Указанные шаблоны путей для редактирования или записи, указанные команды | FileEdit для путей, не соответствующих указанному глобу, Write для путей, не соответствующих указанному глобу | Запустить в режиме кодировщика, разрешены только «tests/**», разрешены только команды uv |
**wcgw** | Режим по умолчанию, где все разрешено | Все | Ничего | Нет запроса или «Запустить в режиме wcgw» |
Примечание: в режиме кодировщика либо разрешены все команды, либо ни одна из них не разрешена на данный момент. Если вы дадите список разрешенных команд, Клоду будет поручено выполнить только эти команды, но фактической проверки не произойдет. (WIP)
Подключитесь к рабочему терминалу для исследования.
Если у вас установлена команда screen
, wcgw автоматически запускается на экземпляре screen. Если вы запустили сервер wcgw mcp, вы можете просмотреть сеансы screen:
screen -ls
И запишите имя экрана wcgw, которое будет выглядеть примерно так: 93358.wcgw.235521
, где последняя цифра указана в формате час-минута-секунда.
Затем вы можете подключиться к сеансу, используя screen -x 93358.wcgw.235521
Вы можете безопасно прервать любую выполняемую команду.
Вы можете взаимодействовать с терминалом, но будьте осторожны, так как ИИ может работать параллельно и конфликтовать с тем, что вы делаете. Рекомендуется свести взаимодействие к минимуму.
Не следует выходить из сеанса с помощью exit
или Ctrl-d, вместо этого следует использовать ctrl+a+d
для безопасного отключения без разрушения сеанса screen.
[Необязательно] Расширение VS-кода
https://marketplace.visualstudio.com/items?itemName=AmanRusia.wcgw
Команды:
- Выберите текст и нажмите
cmd+'
, а затем введите инструкции. Это переключит приложение на Claude и вставит текст, содержащий ваши инструкции, путь к файлу, каталог рабочей области и выбранный текст.
Примеры
Использование mcp-сервера поверх docker
Сначала соберите образ docker docker build -t wcgw https://github.com/rusiaaman/wcgw.git
Затем вы можете обновить /Users/username/Library/Application Support/Claude/claude_desktop_config.json
, чтобы получить
[Необязательно] Локальный доступ к оболочке с помощью ключа API OpenAI или ключа API Anthropic
Опенай
Добавьте переменные окружения OPENAI_API_KEY
и OPENAI_ORG_ID
.
Тогда беги
uvx wcgw@latest wcgw_local --limit 0.1
# Лимит стоимости $0.1
Теперь вы можете напрямую писать сообщения или нажать клавишу Enter, чтобы открыть vim для многострочного сообщения и вставки текста.
Антропный
Добавьте переменную окружения ANTHROPIC_API_KEY
.
Тогда беги
uvx wcgw@latest wcgw_local --claude
Теперь вы можете напрямую писать сообщения или нажать клавишу Enter, чтобы открыть vim для многострочного сообщения и вставки текста.
Инструменты
Сервер предоставляет следующие инструменты MCP:
Операции Shell:
Initialize
: сброс оболочки и настройка рабочей среды.- Параметры:
any_workspace_path
(строка),initial_files_to_read
(строка[]),mode_name
("wcgw"|"architect"|"code_writer"),task_id_to_resume
(строка)
- Параметры:
BashCommand
: выполнение команд оболочки с контролем времени ожидания- Параметры:
command
(строка),wait_for_seconds
(целое число, необязательно) - Параметры:
send_text
(строка) илиsend_specials
(["Enter"|"Key-up"|...]) илиsend_ascii
(целое число[]),wait_for_seconds
(целое число, необязательно)
- Параметры:
Операции с файлами:
ReadFiles
: чтение содержимого одного или нескольких файлов.- Параметры:
file_paths
(string[])
- Параметры:
WriteIfEmpty
: создание новых файлов или запись в пустые файлы- Параметры:
file_path
(строка),file_content
(строка)
- Параметры:
FileEdit
: редактирование существующих файлов с использованием блоков поиска/замены.- Параметры:
file_path
(строка),file_edit_using_search_replace_blocks
(строка)
- Параметры:
ReadImage
: Чтение файлов изображений для отображения/обработки.- Параметры:
file_path
(строка)
- Параметры:
Управление проектом:
ContextSave
: сохранение контекста проекта и файлов для передачи знаний или сохранение контрольных точек задач для возобновления позже.- Параметры:
id
(строка),project_root_path
(строка),description
(строка),relevant_file_globs
(строка[])
- Параметры:
Все инструменты поддерживают абсолютные пути и включают встроенную защиту от распространенных ошибок. Подробную информацию о протоколе см. в спецификации MCP .
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Возможности оболочки и редактирования файлов тесно связаны, обеспечивая эффективный опыт кодирования.
Вы можете работать в разных режимах: архитектор и автор кода для отдельных этапов планирования и реализации.
Вы можете заставить его вызывать любую команду cli, например, компиляцию, проверку типов, линтинг, github cli, python
- Демо
- Обновления
- 🚀 Основные моменты
- Примеры основных вариантов использования
- Настройка Клода (используя mcp)
- Примеры
- Использование mcp-сервера поверх docker
- \[Необязательно] Локальный доступ к оболочке с помощью ключа API OpenAI или ключа API Anthropic
- Инструменты
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityLeverages Vim's native text editing commands and workflows, which Claude already understands, to create a lightweight code assistance layer.Last updated -869129TypeScriptMIT License
- AsecurityFlicenseAqualityA CLI command execution server that enables running shell commands with structured output, providing detailed execution results including stdout, stderr, exit code, and execution duration.Last updated -216TypeScript
- AsecurityFlicenseAqualityA CLI tool that runs a Model Context Protocol server over stdio, enabling interaction with specification documents like business requirements, product requirements, and user stories for the Specif-ai platform.Last updated -90TypeScript
- AsecurityAlicenseAqualityAllows Claude desktop app to execute terminal commands and edit files on your computer through MCP, with features including command execution, process management, and diff-based file editing.Last updated -1915,9562,540JavaScriptMIT License