- BrainTools - https://www.braintools.ru -

Claude Code unbiased

Как-то я спросил Claude Code, какую CMS он посоветует. Хотел посмотреть, куда его клонит. Он ответил: Drupal. Да ну нафиг. Я спросил почему, и он объяснил, что увидел мой самописный скилл для Drupal и решил, что я работаю с Drupal и мне с ним будет удобно.

Справедливо. Мои инструкции, скиллы и настройки делают агента предвзятым. А для этого вопроса мне нужен был непредвзятый. Хватило бы и обычного чат-бота, но мы же не ищем лёгких путей? 😁

Я стал искать, как запустить Claude Code без своего конфига, и нашёл флаг --safe-mode. По описанию — то что надо: никаких CLAUDE.md, скиллов, плагинов, хуков и MCP-серверов, а подписка моя, как обычно. Чистый дефолтный Claude Code ✨

Я спросил ещё раз. Снова Drupal.

(╯°□°)╯︵ ┻━┻

На этот раз путь был таким: мой email в контексте агента → домен amazee.io → компания, известная Drupal-хостингом → пользователь работает в Drupal-ориентированной компании.

Вот тебе и чистый Claude Code.

/ccu: Claude Code, Unbiased by me

Так появился /ccu — скилл, который запускает промпт в чистом инстансе Claude Code.

Можно было бы сделать shell-команду, которая открывает полноценную непредвзятую сессию Claude Code. Но работать в таком формате мне обычно не нужно, нужна только быстрая проверка время от времени. Поэтому это скилл: мой обычный агент пишет промпт, копирует нужные для задачи файлы в пустую папку, запускает там чистый инстанс и приносит его ответ.

Использую я его по-разному. Один из вариантов — персоны-ревьюеры моего блога, например редактор или коллега.

Что чистый инстанс знает обо мне? Ничего. Из коробки он видит только ОС, шелл, путь во временной папке и сегодняшнюю дату.

Как изолирован инстанс

Каждый запуск получает свежую временную директорию с двумя папками: work — рабочая директория инстанса с файлами задачи, и home — пустая домашняя директория. Дальше, примерно так:

cd <run dir>/work
env -i HOME=<run dir>/home PATH=$PATH CLAUDE_CODE_OAUTH_TOKEN=<token> 
  claude -p --model <model> < prompt

env -i стартует с пустым окружением, так что из моего шелла ничего не утекает. Домашняя директория пустая: ни конфига, ни скиллов, ни памяти [1], ни истории. Токен тот же, что у моей текущей сессии, /ccu берёт его из macOS Keychain. Подписка та же, а email нет: профиль аккаунта Claude Code хранит в .claude.json, который пишется при логине, а тут home чистый.

Права нужно выдать заранее

claude -p отклоняет любой инструмент, которому нужно подтверждение: подтверждать некому. Поэтому основной агент перечисляет нужные задаче инструменты в work/.claude/settings.json, например, для веб-задачи:

{"permissions": {"allow": ["WebFetch", "WebSearch", "Bash(curl:*)"]}}

В папке, которой Claude Code не доверяет, эти настройки игнорируются, поэтому /ccu ещё и помечает work как доверенную в .claude.json внутри home:

{"projects": {"<run dir>/work": {"hasTrustDialogAccepted": true}}}

Транскрипт остаётся мне

После запуска /ccu превращает сырой лог сессии в читаемый transcript.md. Основной агент передаёт ответ инстанса, но транскрипт никогда не читает. Я могу прочитать его сам, когда захочу.

А что с CMS?

Через /ccu Claude Code порекомендовал Payload.

┬─┬ノ( º _ ºノ)

Автор: Leksat

Источник [2]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/38187

URLs in this post:

[1] памяти: http://www.braintools.ru/article/4140

[2] Источник: https://habr.com/ru/articles/1105040/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1105040

www.BrainTools.ru

Rambler's Top100