Skip to main content
Glama

KittyClaw

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

Продукт доказывает три вещи в одном сценарии: живая доска, читаемый журнал выполнения и проверка человеком перед внешним выпуском. Новые доски начинаются с колонок Backlog, Todo, InProgress, Blocked, Scheduled, Review и Done (колонки остаются настраиваемыми). Выполнения могут использовать Claude Code, OpenAI Codex, Grok Build или локальную модель Ollama.

Следуйте руководству по пятиминутной демонстрации, чтобы повторить сценарий с реалистичной программной заявкой. Сопутствующий протокол активационного тестирования измеряет, достигают ли квалифицированные пробные пользователи своего первого выполнения в течение десяти минут.

Проект можно разделить на независимо именованные конвейеры, чьи стабильные идентификаторы сохраняются при переименованиях. Колонки могут владеть универсальными процессорами с постоянной памятью, переиспользуемыми навыками проекта, упорядоченным выбором заявок, надежными повторными попытками и маршрутизацией по принципу переключателя в колонки любого конвейера. Щелкните правой кнопкой мыши по колонке и выберите Настроить колонку, чтобы изменить её имя, цвет, роль, позицию, руководство по заявкам, процессор и маршрутизацию, не теряя визуального контекста доски. Заявки в колонках Waiting или OwnerAction всегда показывают заметный контекстный блок между описанием и активностью, объясняющий, должен ли владелец оставить комментарий или переместить заявку в конкретную колонку проверки/отказа, либо KittyClaw возобновит её автоматически. Колонки также можно вставлять между существующими дорожками или добавлять в конец прямо с канбан-доски; страница Workflows остаётся глобальным обзором конвейеров и навыков. Состояние выполнения отделено от бизнес-колонок, поэтому колонка InProgress необязательна. Устаревший AutomationEngine остаётся доступным для правил на основе триггеров, периодических/интервальных задач и обратной совместимости. Агенты работают через Claude Code, OpenAI Codex, Grok Build, Mistral Vibe или локальную модель Ollama, а их вывод транслируется в приложение.

Каждый процессор версионируется вместе со своим проектом в .agents/processors/column-<id>/processor.json. Это авторитетное определение содержит его миссию, явный промпт, модель, навыки, порядок заявок, политику повторных попыток и маршрутизацию. SQLite хранит только синхронизированную проекцию времени выполнения и состояние выполнения. Постоянные уроки хранятся рядом с определением в .agents/processors/column-<id>/memory/MEMORY.md.

Технологический стек

  • .NET 10 / Blazor Server (интерактивный SSR)

  • SQLite через Entity Framework Core (одна БД на проект)

  • OpenAPI с автоматически генерируемой документацией в Markdown

  • Выполнение агентов: как минимум один поддерживаемый CLI — Claude Code CLI, OpenAI Codex CLI, Grok Build или Mistral Vibe. Ollama также поддерживается для локальных моделей через Claude Code CLI (настройка локальных моделей).

  • Опционально для инициализации репозитория, Git-ориентированных автоматизаций и коммитов агентов: Git

Начало работы

Предварительные требования

  • .NET 10 SDK

  • Как минимум один CLI агента в вашем PATH: Claude Code (claude), OpenAI Codex (codex), Grok Build (grok) или Mistral Vibe (vibe). Для выполнения на локальных моделях требуются и Claude Code CLI, и доступный сервер Ollama.

  • Опционально: Git (git в вашем PATH) для инициализации репозитория, Git-ориентированных автоматизаций и коммитов агентов

При первом запуске всплывающее окно онбординга проверяет Git и каждый поддерживаемый CLI провайдера, используя те же разрешённые пути исполняемых файлов, что и при диспетчеризации: Claude Code (claude / KITTYCLAW_CLAUDE_BIN), OpenAI Codex (codex / KITTYCLAW_CODEX_BIN), Grok Build (grok, ~/.grok/bin или KITTYCLAW_GROK_BIN) и Mistral Vibe (vibe / KITTYCLAW_MISTRAL_BIN). Также сообщается о доступности опционального Ollama. Достаточно любого одного провайдера агентов, неудачные или истёкшие по времени проверки остаются неблокирующими, а функции, зависящие от Git, по-прежнему требуют Git.

Запуск

Из корня репозитория:

run.bat        (Windows)
./run.sh       (macOS / Linux)

Обе команды оборачивают dotnet watch --project KittyClaw.Web --non-interactive и обслуживают приложение по адресу http://localhost:5230 с включённой горячей перезагрузкой.

Создание проекта

На домашней странице выберите Создать проект, введите имя и выберите рабочее пространство. Встроенный браузер папок работает на Windows, macOS и Linux без открытия нативного системного диалога за браузером. Он показывает домашний каталог, подключённые диски или корни файловой системы, хлебные крошки, навигацию к родительскому каталогу и прямой ввод пути. Вы также можете ввести абсолютный путь и создать папку, если она не существует.

Нажмите Инициализировать, чтобы:

  1. Создать запись в реестре проектов + отдельную БД SQLite для проекта.

  2. Скопировать шаблон проекта из ProjectTemplate/ (preamble.md, {agent}/SKILL.md, индекс {agent}/memory/MEMORY.md, memory-consolidation.md, automations.json, CLAUDE.md) в рабочее пространство — файлы агентов в <workspace>/.agents/, CLAUDE.md в корень рабочего пространства.

  3. Выполнить git init, если рабочее пространство ещё не является git-репозиторием (пропускается, если git не установлен).

  4. Создать участника для каждого слага агента, найденного в шаблоне.

  5. Открыть мастер настройки проекта.

Мастер настройки анализирует существующее рабочее пространство и предлагает отдельные конвейеры, колонки, передачи человеку, процессоры, маршрутизацию и расписания. Для пустой папки он сначала задаёт несколько вопросов о назначении проекта, результатах, человеческих решениях и повторяющейся работе. Предложения графические: вы можете добавлять или удалять конвейеры, просматривать колонки каждого конвейера, уточнять шаг с помощью промпта и возвращаться назад до утверждения. Ничего не создаётся во время этой подготовки; Создать рабочий процесс применяет и проверяет утверждённый план, затем открывает доску.

Эта настройка нового проекта намеренно отделена от мастера миграции устаревших досок. Терминология миграции и очистка устаревших автоматизаций показываются только тогда, когда существующая доска на основе автоматизаций требует конвертации.

Папка рабочего пространства никогда не удаляется KittyClaw, даже при удалении проекта.

Хранение данных

Все данные KittyClaw хранятся локально в %APPDATA%/KittyClaw/:

  • registry.db — реестр проектов

  • projects/{slug}.db — база данных проекта (заявки, комментарии, метки, колонки, участники)

  • uploads/ — загруженные изображения

  • runs/{runId}.json — снимки выполнения агентов (события, статус, код выхода)

  • settings.json — язык + флаг онбординга

Состояние агентов для каждого проекта хранится в рабочем пространстве: <workspace>/.agents/{agent}/memory/ (индекс MEMORY.md с оценками + файлы уроков по темам), <workspace>/.agents/channel/ (состояние сессии) и т.д.

Структура проекта

Путь

Описание

KittyClaw.Core

Доменные модели, контексты EF Core, сервисы, движок автоматизации, встроенный шаблон проекта

KittyClaw.Core.Tests

Тесты xUnit (условия, триггеры, сигналы, JSON-полиморфизм)

KittyClaw.Web

UI Blazor Server + REST API

KittyClaw.QaRunner

Изолированный запускатор тестовых экземпляров (Playwright + исполнитель сценариев), используемый агентом qa-tester

KittyClaw.ClaudeMock

Мок-CLI claude, используемый KittyClaw.QaRunner для герметичной диспетчеризации агентов в тестах

ProjectTemplate/

Источник истины для инициализации новых проектов. Файлы в Agents/ записываются в <workspace>/.agents/; CLAUDE.md записывается в корень рабочего пространства.

tools/

Вспомогательные инструменты репозитория (например, publish-stable.ps1 для сборки Web + QaRunner + ClaudeMock для стабильного канала)

Архитектура

Документация по архитектуре для каждой функции находится в doc/. Начните с обработки конвейеров и колонок для модели с несколькими конвейерами или с doc/index.md для полной карты архитектуры.

API

Все конечные точки находятся в /api. Документация автоматически генерируется из живой спецификации OpenAPI:

  • Документация для чтения человеком в Markdown: GET http://localhost:5230/api/docs

  • Машиночитаемый JSON: GET http://localhost:5230/openapi/v1.json

MCP-сервер

KittyClaw может предоставлять встроенную конечную точку MCP по адресу http://localhost:5230/mcp (Streamable HTTP), чтобы любой MCP-клиент мог управлять доской — просматривать проекты, создавать и перемещать заявки, комментировать и читать раскладку доски — без обращения к REST API. Установите KITTYCLAW_MCP_ENABLED=1 перед запуском KittyClaw, затем подключите его к Claude Code:

claude mcp add --transport http kittyclaw http://localhost:5230/mcp

В v1 поставляются семь инструментов: list_projects, list_tickets, get_ticket, create_ticket, comment_ticket, move_ticket, board_overview. Конечная точка отключена по умолчанию и использует ту же границу доверия localhost, что и REST API. Подробности в doc/mcp.md.

Для AI-агентов

Это приложение предназначено для управления AI-агентами через REST API. Вот как начать:

  1. Прочитайте живую документацию API по адресу http://localhost:5230/api/docs — каждая конечная точка, примеры запросов/ответов и схемы, всегда актуальные для запущенного сервера.

  2. Представьтесьauthor обязателен для каждой изменяющей конечной точки; его отсутствие возвращает HTTP 400. Используйте ваше простое имя агента (например, "programmer", "groomer"). Человек-пользователь — "owner".

  3. Изучите доску — сначала вызовите GET /api/projects, затем GET /api/projects/{slug}/columns, чтобы узнать этапы рабочего процесса, и GET /api/projects/{slug}/members для назначаемых участников.

  4. Используйте правильный статус — статусы заявок должны соответствовать именам существующих колонок. Получайте колонки перед перемещением заявок.

  5. Отслеживайте свою работу — добавляйте комментарии к заявкам, объясняя, что вы сделали или что вам нужно. Используйте @упоминания для уведомления участников, #id для ссылок на заявки в том же проекте и #{slug}:{id} для ссылок на заявки в другом проекте.

  6. Метки и приоритет — используйте GET /api/projects/{slug}/labels для просмотра доступных меток и устанавливайте приоритет Idea, NiceToHave, Required или Critical.

  7. Проверяйте упоминания — вызывайте GET /api/projects/{slug}/mentions/{your-handle}, чтобы найти заявки, в которых вы упомянуты.

  8. Подзаявки — установите parentId при создании заявки, чтобы сделать её дочерней. Используйте PUT /api/projects/{slug}/tickets/{id}/parent для изменения родителя или DELETE для отсоединения. Список подзаявок — с ?parentId={id}.

  9. Межпроектные передачи — используйте POST /api/projects/{slug}/tickets/{id}/transfer только после проверки, что целевой проект имеет совместимые колонки, исполнителей и метки. Операция сохраняет дерево заявок и его историю или отклоняет передачу без изменения обоих проектов. См. Безопасная передача заявок.

Соглашения

  • Формат автора: "owner" для человека-пользователя, простое имя агента (например, "programmer") для ИИ-агентов

  • Уровни приоритета: Idea, NiceToHave, Required, Critical

  • Колонка по умолчанию: Backlog

Возможности интерфейса

  • Всплывающее окно онбординга при первом запуске, которое проверяет Git, Claude Code, OpenAI Codex, Grok Build, Mistral Vibe и Ollama

  • Кроссплатформенный браузер рабочего пространства в приложении с корнями, хлебными крошками, прямым вводом пути и созданием папок

  • Пошаговая настройка нового проекта, которая анализирует рабочее пространство и предлагает редактируемые пайплайны и колонки до создания рабочего процесса

  • Пошаговая миграция унаследованных досок, которая сохраняет завершённые тикеты и отключает заменённые автоматизации только после проверки

  • Единый домашний экран для нескольких проектов с карточками проектов и канбан-дорожками

  • Мультипайплайновая канбан-доска с визуально различимыми разрешёнными и запрещёнными целями перетаскивания на основе маршрутизации процессоров

  • Контекстный редактор колонок для структуры, роли, руководства по владельцу, процессора, упорядоченных действий, запланированных задач и маршрутизации

  • Настраиваемое представление панели мониторинга с плитками свободного перетаскивания (Markdown, KPI, диаграммы, тепловая карта, таймлайн, …), создание плиток через ИИ-чат и автообновление через LLM-запросы

  • Панель деталей тикета с комментариями и лентой активности

  • Живая панель запуска агента (SSE-поток вывода провайдера, элементы управления направлением и остановкой)

  • Чат-панель новых инструкций для отправки специального запроса агенту

  • Рендеринг Markdown с поддержкой перекрёстных ссылок на тикеты @mention, #id и #{slug}:{id}

  • Расширенный синтаксис поиска: #42, @owner, >date, priority:critical, label:bug, by:owner

  • Подтикеты с отношениями родитель/потомок и отслеживанием прогресса

  • Безопасные, атомарные переносы деревьев тикетов между проектами через REST API

  • Управление колонками прямо с доски (вставка, дублирование, переупорядочивание, настройка и отметка прочитанным)

  • Управление метками и участниками

  • Загрузка изображений в описаниях и комментариях

  • Поддержка локальных моделей (Ollama): базовый URL для каждого проекта с автоматическим обнаружением моделей, модель по умолчанию для каждого участника и конфигурация для каждого действия в .agents/automations.json

  • Маршрутизация с учётом провайдера через Claude Code, OpenAI Codex, Grok Build, Mistral Vibe или Ollama, с передачей разговора и запасным вариантом при недоступной модели

Панель мониторинга

У каждого проекта есть настраиваемое представление Dashboard рядом с канбан-доской. Плитки перетаскиваются свободно, автоматически обновляются по расписанию и могут создаваться или редактироваться из встроенной ИИ-чат-панели — агент пишет папку плитки за вас.

Типы плиток

Идентификатор шаблона

Что отображается

markdown

Произвольный контент Markdown

table

Табличные данные с заголовками и строками

kpi

Одно большое число с подписью и необязательной дельтой

kpi-grid

Сетка из нескольких KPI-карточек

progress

Индикатор выполнения с текущим / целевым значениями

sparkline

Компактная встроенная линия тренда

bar-chart

Вертикальная или горизонтальная столбчатая диаграмма

donut

Кольцевая / круговая диаграмма категориальных пропорций

gauge

Радиальный индикатор для ограниченного значения

status-grid

Сетка цветных индикаторов состояния (вверх/вниз/предупреждение)

heatmap

Календарная тепловая карта интенсивности во времени

leaderboard

Ранжированный список с баллами

timeline

Хронологический список событий

image

Статическое или обновляемое изображение

mermaid

Диаграмма Mermaid (блок-схема, последовательность, …)

Структура папок

Каждая плитка находится в собственной папке .dashboard/ в рабочем пространстве проекта:

.dashboard/
  <tile-slug>/
    tile.yaml        # template, title, refresh schedule, prompt
    script.ps1       # optional refresh script (or script.sh, script.py, …)
    output.json      # last refresh output consumed by the template

Ключевые поля tile.yaml

  • template — один из идентификаторов в таблице выше.

  • title — отображаемое имя, показанное в заголовке плитки.

  • refresh — интервал (например, 5m, 1h) для периодического обновления.

  • refreshAt — cron-стиль обновления в определённое время суток (альтернатива refresh).

  • prompt — инструкции, отправляемые агенту при (повторной) генерации output.json.

Плитки можно создавать из ИИ-чат-панели панели мониторинга, описав, что вы хотите, — агент выбирает шаблон, пишет tile.yaml, генерирует скрипт обновления и создаёт начальный output.json.

Отчёт о затратах

Страница Costs предоставляет кэшированное представление использования агентов по каждому проекту, поэтому открытие отчёта происходит мгновенно даже при длинной истории запусков. Пресеты дат позволяют быстро выбирать распространённые периоды, а фильтры по проекту, пайплайну и модели можно комбинировать; варианты пайплайнов автоматически следуют за выбранными проектами. Видимая легенда различает измеренные затраты и оценочные затраты на ежедневных диаграммах.

Модель автоматизации

  • Триггеры: interval, ticketInColumn, statusChange, subTicketStatus, ticketCommentAdded, gitCommit, boardIdle, agentInactivity.

  • Условия: ticketInColumn, ticketCountInColumn, fieldLength, priority, labels, assignedTo, hasParent, allSubTicketsInStatus, ticketAge.

  • Действия: runAgent, moveTicketStatus, setLabels, assignTicket, addComment, consolidateAgentMemory, commitAgentMemory, executePowerShell, createTicket, httpRequest (исходящие вебхуки; loopback/link-local цели блокируются, если не allowLocalTargets).

  • Плейсхолдер {assignee} в runAgent.agent / runAgent.concurrencyGroup разрешается из assignedTo сработавшего тикета.

  • Каноническая цепочка после запуска: runAgentconsolidateAgentMemory (сфокусированный проход claude, который курирует индекс memory/ агента и файлы тем) → commitAgentMemory (фиксирует результат).

Телеметрия

KittyClaw отправляет один анонимный heartbeat в день в сервис аналитики, поддерживающий самостоятельный хостинг (Umami), чтобы мы знали, сколько экземпляров активно и какие версии работают в дикой природе. Полезная нагрузка содержит ровно три поля и ничего больше:

  • случайный идентификатор экземпляра (GUID, сгенерированный локально при первом запуске — не связан с данными пользователя, машины или проекта)

  • версию KittyClaw

  • семейство ОС (Windows / macOS / Linux)

Никакое содержимое тикетов, имена проектов, имена хостов или детали использования никогда не отправляются. Сбои молчаливы и никогда не влияют на приложение. Разработческие экземпляры никогда не отправляют телеметрию.


Лицензия

KittyClaw лицензируется по AGPL-3.0-or-later. Самостоятельный хостинг и личное использование не ограничены; если вы распространяете модифицированную версию или предлагаете её как сетевой сервис, вы должны публиковать свой исходный код под той же лицензией.

Дополнительные условия по AGPL §7 (полный текст в NOTICE.md): производные работы должны сохранять видимой атрибуцию KittyClaw (внутреннее юридическое уведомление и заявление «на основе KittyClaw» в их README), не должны искажать своё происхождение и не получают прав на имя или логотипы KittyClaw.

Две вещи, которые AGPL не затрагивает (см. NOTICE.md):

  • Ваши проекты: файлы шаблонов, которые KittyClaw копирует в ваше рабочее пространство (.agents/, CLAUDE.md, …), дополнительно лицензируются по MIT, и всё, что приложение создаёт для вас (тикеты, журналы, коммиты агентов, …), принадлежит вам без лицензии. Управление проектом с KittyClaw никогда не помещает этот проект под AGPL.

  • Прошлое: версии до v0.11 включительно были выпущены под MIT и остаются доступными на этих условиях.


Другие проекты и контакты

Сайт + демо: kittyclaw.dev

Посмотрите мои другие проекты на ekioo.com.

Подпишитесь на меня в X: @DamienHOFFSCHIR

-
license - not tested
-
quality - not tested
-
maintenance - not tested

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

View all MCP Connectors

Latest Blog Posts

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/Ekioo/KittyClaw'

If you have feedback or need assistance with the MCP directory API, please join our Discord server