KittyClaw
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
Начало работы
Предварительные требования
Как минимум один 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 без открытия нативного системного диалога за браузером. Он показывает домашний каталог, подключённые диски или корни файловой системы, хлебные крошки, навигацию к родительскому каталогу и прямой ввод пути. Вы также можете ввести абсолютный путь и создать папку, если она не существует.
Нажмите Инициализировать, чтобы:
Создать запись в реестре проектов + отдельную БД SQLite для проекта.
Скопировать шаблон проекта из
ProjectTemplate/(preamble.md,{agent}/SKILL.md, индекс{agent}/memory/MEMORY.md,memory-consolidation.md,automations.json,CLAUDE.md) в рабочее пространство — файлы агентов в<workspace>/.agents/,CLAUDE.mdв корень рабочего пространства.Выполнить
git init, если рабочее пространство ещё не является git-репозиторием (пропускается, еслиgitне установлен).Создать участника для каждого слага агента, найденного в шаблоне.
Открыть мастер настройки проекта.
Мастер настройки анализирует существующее рабочее пространство и предлагает отдельные конвейеры, колонки, передачи человеку, процессоры, маршрутизацию и расписания. Для пустой папки он сначала задаёт несколько вопросов о назначении проекта, результатах, человеческих решениях и повторяющейся работе. Предложения графические: вы можете добавлять или удалять конвейеры, просматривать колонки каждого конвейера, уточнять шаг с помощью промпта и возвращаться назад до утверждения. Ничего не создаётся во время этой подготовки; Создать рабочий процесс применяет и проверяет утверждённый план, затем открывает доску.
Эта настройка нового проекта намеренно отделена от мастера миграции устаревших досок. Терминология миграции и очистка устаревших автоматизаций показываются только тогда, когда существующая доска на основе автоматизаций требует конвертации.
Папка рабочего пространства никогда не удаляется 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 |
ProjectTemplate/ | Источник истины для инициализации новых проектов. Файлы в |
tools/ | Вспомогательные инструменты репозитория (например, |
Архитектура
Документация по архитектуре для каждой функции находится в 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. Вот как начать:
Прочитайте живую документацию API по адресу
http://localhost:5230/api/docs— каждая конечная точка, примеры запросов/ответов и схемы, всегда актуальные для запущенного сервера.Представьтесь —
authorобязателен для каждой изменяющей конечной точки; его отсутствие возвращает HTTP 400. Используйте ваше простое имя агента (например,"programmer","groomer"). Человек-пользователь —"owner".Изучите доску — сначала вызовите
GET /api/projects, затемGET /api/projects/{slug}/columns, чтобы узнать этапы рабочего процесса, иGET /api/projects/{slug}/membersдля назначаемых участников.Используйте правильный статус — статусы заявок должны соответствовать именам существующих колонок. Получайте колонки перед перемещением заявок.
Отслеживайте свою работу — добавляйте комментарии к заявкам, объясняя, что вы сделали или что вам нужно. Используйте
@упоминаниядля уведомления участников,#idдля ссылок на заявки в том же проекте и#{slug}:{id}для ссылок на заявки в другом проекте.Метки и приоритет — используйте
GET /api/projects/{slug}/labelsдля просмотра доступных меток и устанавливайте приоритетIdea,NiceToHave,RequiredилиCritical.Проверяйте упоминания — вызывайте
GET /api/projects/{slug}/mentions/{your-handle}, чтобы найти заявки, в которых вы упомянуты.Подзаявки — установите
parentIdпри создании заявки, чтобы сделать её дочерней. ИспользуйтеPUT /api/projects/{slug}/tickets/{id}/parentдля изменения родителя илиDELETEдля отсоединения. Список подзаявок — с?parentId={id}.Межпроектные передачи — используйте
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 |
| Табличные данные с заголовками и строками |
| Одно большое число с подписью и необязательной дельтой |
| Сетка из нескольких KPI-карточек |
| Индикатор выполнения с текущим / целевым значениями |
| Компактная встроенная линия тренда |
| Вертикальная или горизонтальная столбчатая диаграмма |
| Кольцевая / круговая диаграмма категориальных пропорций |
| Радиальный индикатор для ограниченного значения |
| Сетка цветных индикаторов состояния (вверх/вниз/предупреждение) |
| Календарная тепловая карта интенсивности во времени |
| Ранжированный список с баллами |
| Хронологический список событий |
| Статическое или обновляемое изображение |
| Диаграмма 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сработавшего тикета.Каноническая цепочка после запуска:
runAgent→consolidateAgentMemory(сфокусированный проход 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
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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