by moshthepitt (community) Codex, OpenCode, Claude Code, Gemini CLI, любые агентские CLI-инструменты
Локальная control plane для AI coding-агентов. Запускает агентов как durable, auditable воркеров с явным состоянием, навыками, каналами, расписаниями и ограниченными правами.
AI-IDE от Codeium с концепцией "agentic IDE". Главная фича — Cascade: агент который понимает весь контекст …
SKILL.md-инструкция для AI-агентов: автоматическое закрытие GitHub issues. 6-фазный воркфлоу: фильтрация issues → проверка веток → параллельный …
SKILL.md-инструкция для AI-агентов: управление GitHub через CLI — создание PR и issue, работа с ветками, запуск …
SKILL.md-инструкция для AI-агентов: работа с Google Workspace из терминала — Gmail, Calendar, Docs, Sheets, Drive через …
git clone https://github.com/moshthepitt/lionclaw.git cd lionclaw cargo build --workspace --release export PATH="$PWD/target/release:$PATH"
LionClaw запускает реальные агентские CLI как помощников проекта.
Codex остается Codex. OpenCode остается OpenCode. LionClaw — это локальный управляющий слой вокруг них: идентичность проекта, конфигурация выполнения, долговременные сессии, локальное состояние, каналы, запланированные задачи и журнал аудита.
Используйте тот агентский харнесс, который хотите. Граница вокруг вашего проекта остается вашей.
git clone https://github.com/moshthepitt/lionclaw.git
cd lionclaw
cargo build --workspace --release
export PATH="$PWD/target/release:$PATH"
cd /path/to/your/project
lionclaw doctor
doctor указывает на следующую проблему настройки. Исправьте, перезапустите, повторите; когда настройка будет готова, выполните команду, которую он выведет следующей.
ИИ будет иметь значение. Вероятно, большое.
И если он будет иметь значение, то мы не должны идти на поводу у будущего, где горстка крупных компаний владеет агентами, памятью, инструментами, рабочими процессами, учетными данными, журналами и в конечном счете самой формой работы. Мы уже видели этот фильм. Он назывался Web 2.0, и закончился тем, что все арендовали свою жизнь обратно у платформ.
LionClaw — это маленький отказ от такого будущего.
Модель может быть коммерческой. Это нормально. Агентский харнесс может быть Codex, OpenCode, Claude Code, Gemini CLI или чем-то лучшим, что появится в следующем месяце. Тоже нормально. Но граница вокруг агента должна принадлежать вам: проект, в котором он работает, состояние, которое он видит, учетные данные, которые он получает, каналы, которые могут до него дотянуться, задачи, которые он выполняет, и журнал аудита, который он оставляет.
LionClaw сохраняет эту границу локальной, явной и заменяемой.
Это важно, потому что в будущем, вероятно, не будет одного агента. Будет много агентских харнессов, каждый хорош в своем, у каждого свои странные сильные и слабые стороны. LionClaw дает одному проекту стабильный дом для ассистента, пока эти рантаймы приходят и уходят.
Он также намеренно мал. Не потому, что маленький — это мило, а потому, что маленький можно проверить. Маленькое можно понять. Маленькое может изменить один человек с выходными, обидой и достаточно веской причиной.
Это ставка: реальные агенты, локальные границы, контроль, принадлежащий пользователю.
Проект LionClaw — это обычный проект с каталогом .lionclaw/.
Этот каталог — локальный управляющий слой. Он хранит идентичность проекта, экземпляры, профили выполнения, сессии, записи аудита, установленные навыки, привязки каналов, задачи и приватное состояние рантайма.
Когда вы запускаете:
lionclaw run
LionClaw открывает консоль оператора проекта при подклющении к терминалу. Консоль держит текущий контекст в верхней ленте и повседневный поток взаимодействия в одной поверхности Run: долговременная расшифровка, ввод запроса, живой статус рантайма и недавние изменения файлов. На широкых терминалах объекты проекта остаются видимыми рядом с Run, а правая колонка держит инспектор и панель измененных файлов вместе. Детали потока рантайма показываются инлайн для активного хода и как проверяемая активность, а не смешиваются с долговременным разговором.
Используйте простой построчный путь при написании скриптов или когда не нужен терминальный интерфейс:
lionclaw run --plain
Использование без терминала автоматически остается на простком пути.
Используйте собственный терминальный интерфейс выбранного рантайима, когда вам нужна именно нативная поверхность харнесса:
<<>>
Этот путь все равно проходит через план рантайима LionClaw,, монтирования, поэтапную аутентификацию, контекст промпта, выбранный политикой, и журнал аудита. LionClaw записывает этот контекст в состояние управления рантайимом, ограниченное сессией, как AGENTS.generated.md и стандартный для рантайима AGENTS.md. Нативный приватный дом рантайима моннтируется отдельно в /runtime/home и сохраняется между сессиями LionClaw для одного и того же проекта, рантайима, совместимости идентичности и формы безопасности выполнения, включая доступ к рабочему пространству, сетевой режим, политику установки, секретные монтирования и классы побега.
Для Codex LionClaw использует внешний контейнер как границу песочницы и запускает внутренний интерфейс Codex без собственного слоя песочницы/подтверждения; переопределения конфигурации Codex при запуске помечают рабочее пространство контейнера как доверенное и отключают проверки обновлений без перезаписи конфигурации Codex, принадлежащей рантайму. Завершенные ходы Codex и других нативных интерфейсов остаются внутри интерфейса рантайима; присоединенный режим не импортирует нативные расшифровки в историю сессии LionClaw и не изменяет состояние продолжения, используемое управляемыми ядром ходами, и не потребляет сохраненный маркер готовности сессии рантайима, который используют последующие управляемые ходы. Предыдущая история сессии LionClaw все равно включается в генерируемый контекст рантайима.
LionClaw не собирает вывод терминала.
Поскольку это собственный TUI рантайима, здесь нет командного слоя LionClaw.
внутри него. Слэш-команды LionClaw, такие как /lionclaw reset, там недоступны; используйте обычные lionclaw run, run --plain или канальные пути, когда вам нужны элементы управления, принадлежащие LionClaw. Функции LionClaw, ограниченные ходом выполнения (turn-scoped), которые требуют активного хода, управляемого ядром, такие как программный мост channel.send или его MCP-инструмент channel_send, не проецируются в собственные TUI-сессии рантайма.
Выбранный рантайм по-прежнему выполняет работу агента. LionClaw владеет границей вокруг него: проектом, в котором он работает, состоянием, которое он видит, монтированиями, которые он получает, учётными данными, которые подготавливаются, долговременной сессией и записью о том, что произошло.
Вот разделение: рантайм выполняет работу агента. LionClaw решает, где он работает, что он может видеть и что записывается.
Запустите doctor из проекта, которым вы хотите, чтобы владел LionClaw:
cd /path/to/your/project
lionclaw doctor
Следуйте командам исправления, пока doctor не сообщит об отсутствии блокирующих проблем настройки. Затем запустите настроенный рантайм:
lionclaw run
В терминале run открывает консоль оператора. Используйте lionclaw run --plain для интерактивного пути, ориентированного на строки, или lionclaw run --runtime-tui, чтобы подключиться напрямую к собственному терминальному интерфейсу выбранного рантайма внутри границы LionClaw. Интерактивные запуски терминала по умолчанию возобновляют последнюю сессию LionClaw; передайте --new-session, чтобы начать новую сессию LionClaw, сохраняя постоянный домашний каталог, характерный для рантайма.
Внутри консоли Tab и Shift+Tab перемещают фокус между Run и элементами управления. Ctrl+O фокусирует элементы управления, Left и Right циклически переключают проект, рантайм, границу, активность, аудит и файлы, Ctrl+X разворачивает Run или активную панель управления, Ctrl+P открывает команды и справку, Ctrl+C прерывает активный ход, а Ctrl+D завершает работу в состоянии простоя. Enter отправляет подсказку или активирует выбранный элемент проекта, когда активны элементы управления проектом. После отправки подсказки Run остаётся активной прокручиваемой поверхностью; ввод печатаемых символов продолжает редактирование подсказки в той же поверхности.
Для Codex используйте вошедший в систему CLI Codex и запускайте LionClaw там, где доступен исполняемый файл podman. Если run сообщает об отсутствующем образе рантайма, соберите или предоставьте образ, указанный в ошибке. Встроенное определение образа находится в containers/runtime/Containerfile. Этот образ по умолчанию намеренно полезен для повседневной работы ассистента: он включает Codex, OpenCode, git, ripgrep, curl, jq, Python, вспомогательные инструменты архивирования, инструменты для работы с PDF-текстом и ffmpeg/ffprobe для базовой проверки мультимедиа без включения браузеров, SDK, языковых пакетов OCR или локальных весов моделей.
Рецепты образов контейнеров, включая образ разработки LionClaw с поддержкой Rust, описаны в containers/README.md.
doctor проверяет настройку и выводит следующую команду запуска, когда настройка больше не блокируется. run проверяет запуск. Используйте lionclaw --help и справку подкоманды --help для текущего синтаксиса.
Аутентификация рантайма остаётся специфичной для рантайма. LionClaw подготавливает только те локальные файлы аутентификации рантайма, которые необходимы для ограниченного запуска.
Ограниченная структура рантайма:
/workspace: выбранный корень работы/runtime: состояние управления рантаймом LionClaw в рамках сессии/runtime/home: постоянный личный домашний каталог, характерный для рантайма/drafts: область черновиков/вывода, ограниченная проектом/lionclaw/project/instances.json: инвентарь экземпляров проекта, доступный только для чтения, присутствует для программных рантаймов, поддерживаемых проектом/lionclaw/skills/<alias>: установленные ресурсы навыков, не являющихся канальными/mnt/<target>: дополнительные каталоги, настраиваемые оператором/runtime/home может содержать аутентификацию рантайма, конфигурацию, базы данных, кеши и историю. LionClaw не рассматривает весь собственный домашний каталог как артефакт или корень вложений channel.send; экспортируемыми являются только состояние управления рантаймом и явные каталоги сгенерированных артефактов.
Сетевая политика намеренно грубая на сегодняшний день: on или none. on использует сетевое пространство имён Podman, а не сеть хоста.
Дополнительные монтирования рантайма являются явным состоянием профиля рантайма. Используйте короткий целевой токен для обычного пути /mnt/<token> или абсолютную цель контейнера, когда это необходимо:
lionclaw runtime mount add codex docs --source /absolute/docs
lionclaw runtime mount add codex /reference/docs --source /absolute/docs --read-write
lionclaw runtime mount list codex
lionclaw runtime mount remove codex docs
Монтирования по умолчанию доступны только для чтения. LionClaw отклоняет файлы, отсутствующие каталоги, метаданные проекта/корня работы и пути состояния экземпляра, дублирующиеся цели и зарезервированные пути рантайма, такие как /workspace, /runtime, /drafts, /attachments, /lionclaw, /run/secrets, /proc, /sys и /dev. Аргументы bind-mount Podman также должны быть представимы: запятые принимаются только тогда, когда ни исходный, ни целевой путь не требует формы --mount из-за содержания :.
lionclaw project init создаёт .lionclaw/project.toml и экземпляр main по умолчанию в .lionclaw/instances/main. Проект — это локальная граница управления. Домашний каталог экземпляра хранит конфигурацию, базу данных, журналы, установленные навыки, закрытое состояние среды выполнения, черновики и непрерывность домашнего каталога ассистента.
Каждый экземпляр проекта записывает корневой каталог работы по умолчанию. project init указывает main на корень проекта, и instance create <name> делает то же самое, если не передать --work-root PATH. Ограниченная среда выполнения видит выбранный корень работы в /workspace.
Среды выполнения на основе проекта также получают LIONCLAW_PROJECT_INSTANCE и LIONCLAW_PROJECT_INSTANCES_FILE. Файл — это доступная только для чтения сгенерированная проекция имён настроенных экземпляров проекта, а не монтирование сырых метаданных .lionclaw. Когда активный пресет разрешает channel.send на основе программы, та же проекция может включать статус контактов соседей, связанный с перезапуском; только настроенные маршруты соседей раскрывают ссылки на каналы и провайдеров.
Экземпляры проекта могут предоставлять предпочтительные контакты через конфигурацию навыков каналов. Настройка, поведение маршрутизации и заметки о транспорте для конкретного канала хранятся вместе с владеющим навыком в skills/.
Без --home или --project LionClaw обнаруживает только текущий каталог и его непосредственного родителя. Используйте --home PATH, когда нужно указать один точный домашний каталог экземпляра и обойти обнаружение проекта. Используйте lionclaw instance --help для текущих команд экземпляра.
Каналы — это навыки, которые работают вне ядра Rust. Они подключают LionClaw к транспорту, не встраивая поведение, зависящее от провайдера, в доверенное ядро.
Интерактивные каналы работают в текущем терминале. Фоновые каналы управляются через платформенный бэкенд и хранят объявленные переменные окружения канала в выбранном домашнем каталоге экземпляра, а не в случайном состоянии оболочки.
Используйте lionclaw up, когда хотите, чтобы LionClaw оставался доступным после закрытия текущего терминала. Используйте справку команд для текущего синтаксиса каналов и фоновой работы. Используйте документацию владеющего навыка в skills/ для настройки и операций, специфичных для канала.
Задания выполняют промпты на основе времени в свежих изолированных сеансах и могут доставлять конечный результат через настроенный канал.
Они настраиваются через lionclaw job. Используйте lionclaw job --help для текущей поверхности команд.
lionclaw doctor доступен только для чтения. Он диагностирует разрешение целей, состояние проекта, конфигурацию среды выполнения, каналы, управляемые модули и расхождение привязок конфигурации без выделения портов, запуска модулей, остановки модулей или изменения файлов.
Если в текущем каталоге или его непосредственном родителе нет проекта, doctor рассматривает текущий каталог как цель диагностики, сообщает no LionClaw project found и сообщает, как его инициализировать.
Результаты отображаются как стабильные записи руководства:
[LC-D001] error: configured bind is occupied
target: instance main configured bind 127.0.0.1:8787
expected: no listener, or the owned managed daemon for this instance
observed: 127.0.0.1:8787 is used by a non-LionClaw process
inspect: ss -ltnp '( sport = :8787 )'
note: stop the process shown by inspect
Информация и предупреждения носят рекомендательный характер и завершаются кодом 0. Ошибки завершаются кодом 1, а внутренние сбои доктора — кодом 2.
lionclaw run в настоящее время поддерживает Unix-подобные системы. Управляемые фоновые пути, включая lionclaw up и фоновые каналы, в настоящее время требуют Linux с пользовательским менеджером systemd.
Состояние на уровне проекта хранится в .lionclaw/:
project.tomlinstances/main/instances/<name>/Домашний каталог каждого экземпляра содержит:
db/lionclaw.dbconfig/lionclaw.tomlconfig/instance.tomlconfig/channels/<channel>.envconfig/runtime-secrets.envskills/<alias>/workspaces/main/runtime/units/MIT. См. LICENSE.