Kantor Agent — плагин

Плагин Claude Code рисует 3D-офис, где сессия и субагенты работают за столами по реальным транскриптам, без настройки.

  • 172 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Расширенный доступ

Почему такой уровень

  • Запускает локальный сервер и читает транскрипты сессий; необязательный публичный туннель открывает страницу без входа любому, кто знает адрес.
Все причины и проверки

humaedihume/kantor-agent

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/kantor-agent

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

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

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Запускает локальный сервер и читает транскрипты сессий; необязательный публичный туннель открывает страницу без входа любому, кто знает адрес.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Kantor Agent показывает в браузере, чем занят Claude Code в вашем проекте, в виде небольшого 3D-офиса на three.js. Основная сессия — руководитель Joko за своим столом. Четверо коллег (Budi, Sari, Agus, Rina) отдыхают в зоне отдыха и идут к столу, когда Claude запускает субагента любого типа. Если заняты все четверо, через дверь входят фрилансеры, садятся за запасные столы и уходят по завершении. Все движения берутся из настоящих локальных транскриптов в `~/.claude/projects`: файлы читаются только на чтение, сокращаются и очищаются от секретов, выдуманной активности нет. Команда `/kantor-agent:kantor-agent` поднимает локальный сервер на Node версии 18 и выше или PHP 8.1 и выше по адресу `http://127.0.0.1:8788/kerja` и ничего не пишет в папку проекта. Рядом с офисом лежит панель с живой лентой действий, историей субагентов и задачами из `TodoWrite`.

Для кого. Тем, кто запускает в Claude Code много субагентов и хочет видеть параллельную работу на одном экране, а не листать журнал.

Подходит, если

  • Основная сессия порождает несколько субагентов, и непонятно, кто сейчас занят и чем.
  • Нужна наглядная демонстрация работы агентов на встрече или в записи экрана.
  • Хочется оставить окно с офисом на втором мониторе и следить за длинной задачей.
  • Список задач `TodoWrite` стоит увидеть на доске рядом с активностью субагентов.
  • Вы хотите показать ход работы с телефона, открыв временный публичный адрес.

Не подходит, если

  • Нужен анализ расходов токенов и квот: офис показывает число действий и токенов, но не заменяет отчет об использовании.
  • Работа идет не в Claude Code: транскрипты читаются только из его каталога.
  • Страницу собираются открыть наружу при чувствительных задачах проекта: у публичного адреса нет входа.

Пример запроса к агенту

Запусти Kantor Agent для этого проекта и скажи, по какому адресу открыть офис.

Ограничения

Интерфейс и документация целиком на индонезийском; по-английски есть только краткое резюме в начале README. Нужны Claude Code с поддержкой плагинов и субагентов (проверено на v2.1.283), Node 18 и выше или PHP 8.1 и выше и браузер с WebGL. Для публичного адреса требуется cloudflared; страница без входа показывает описания задач субагентов, имена файлов и сводку активности, поэтому ссылку отдавайте только доверенным людям и закрывайте командой `tutup-publik`. Не ставьте плагин и ручную версию одновременно: в списке команд будет два одинаковых пункта.

Как отключить. Остановите сервер командой `/kantor-agent:kantor-agent stop`, затем выполните `claude plugin uninstall kantor-agent@kantor-agent` и `claude plugin marketplace remove kantor-agent`. Кеш и журналы лежат в `~/.cache/kantor-agent/`, их можно удалить.

Частые вопросы

Как поставить Kantor Agent в Claude Code?

Выполните `/plugin marketplace add humaedihume/kantor-agent`, затем `/plugin install kantor-agent@kantor-agent` и `/reload-plugins`. После этого в папке проекта запустите `/kantor-agent:kantor-agent`.

Что читает плагин из моих данных?

Транскрипты Claude Code в `~/.claude/projects` только на чтение: описания задач субагентов, названия инструментов, относительные пути, число действий и токенов. Содержимое результатов инструментов, аргументы Bash и полные промпты не читаются.

Как открыть офис с телефона?

Команда `/kantor-agent:kantor-agent publik` поднимает временный туннель cloudflared с адресом на trycloudflare.com. У страницы нет входа, поэтому делитесь адресом осторожно и закрывайте командой `tutup-publik`.

Как поменять имена и порт?

Создайте `.claude/kantor-agent.json` в проекте и задайте `title`, `port` и `names` с именами руководителя, команды и фрилансеров. Порт по умолчанию 8788, при занятости выбирается следующий свободный.

Можно ли обойтись без Node?

Да, подойдет PHP 8.1 или новее: `kantor.sh start --php`. Если есть оба, по умолчанию берется Node.

Обсуждение

Вопросов и отзывов пока нет.

Плагины
Выбор редакции

Оркестрация нескольких агентов для Claude Code: команды, роли, автопилот и распределение задач между скиллами и субагентами

ПлагинШирокий доступ40,6 тыс.Звезды репозитория

Локальная панель мониторинга сессий Claude Code и Codex в реальном времени: активность агентов и вызовы инструментов

CLIРасширенный доступ1,2 тыс.Звезды репозитория
Выбор редакции

Агент Anthropic для терминала, IDE и GitHub: понимает кодовую базу, выполняет задачи и работает с git

CLIШирокий доступ154,7 тыс.Звезды репозитория

Agent-Native Agent

Agent-Native Agent (ANA)

Плагин для Claude Code и самостоятельное приложение: дашборд и чат с кодинг-агентом, который переписывает приложение на ходу

ПлагинШирокий доступ130Звезды репозитория

Маркетплейс плагинов Claude Code с готовыми наборами агентов, слэш-команд, хуков и скиллов плюс сайт для поиска

ПлагинРасширенный доступ3,7 тыс.Звезды репозитория

claude-code-sub-agents

Claude Code Subagents Collection

Коллекция специализированных сабагентов для Claude Code: фронтенд, бэкенд, данные, инфраструктура, тестирование, безопасность

ПлагинРасширенный доступ1,7 тыс.Звезды репозитория

Коротко о README

README на индонезийском со сводкой на английском: возможности, требования, установка плагином и вручную, схема чтения транскриптов, правила распределения субагентов по столам и раздел приватности с перечнем скрываемых данных.

Бейдж для README

Исходный SKILL.md

---
name: kantor-agent
description: Jalankan "Kantor Agent" — kantor 3D (three.js) tanpa konfigurasi di http://127.0.0.1:8788/kerja yang menampilkan apa yang sedang dikerjakan Claude di project ini. Ketua (sesi utama) bekerja di mejanya; 4 anggota tim (Budi, Sari, Agus, Rina) santai di lounge lalu duduk bekerja setiap kali Claude memanggil subagent (jenis apa pun); bila tim penuh, freelancer datang lewat pintu. Semua dari transkrip nyata ~/.claude/projects, read-only, tanpa menulis file ke project. Node ≥ 18 (atau PHP ≥ 8.1). Pakai saat user ingin melihat/menyalakan/mematikan kantor agent, dashboard subagent, atau URL publiknya.
argument-hint: "[start|stop|status|publik|tutup-publik] [--node|--php] [--port N]"
---

Runtime siap pakai ada di `${CLAUDE_SKILL_DIR}/runtime/` — **tidak ada yang disalin ke project**. Semua perintah memakai
`bash "${CLAUDE_SKILL_DIR}/runtime/bin/kantor.sh" <perintah>` dan dijalankan di **root project saat ini** (folder tempat
Claude Code dibuka), karena transkrip dicari berdasarkan path folder itu.

Argumen user: $ARGUMENTS

## Langkah
1. **Pilih perintah dari argumen** (tanpa argumen = `start`):
   - `start` / kosong → `bash "${CLAUDE_SKILL_DIR}/runtime/bin/kantor.sh" start` (teruskan `--node`, `--php`, `--port N` bila ada).
   - `stop` → `… kantor.sh stop` · `status` → `… kantor.sh status` · `restart` → `… kantor.sh restart`.
   - `publik` / `tunnel` / `--publik` → jalankan `start` dulu, lalu `… kantor.sh tunnel` (butuh `cloudflared`).
   - `tutup-publik` / `tunnel-stop` → `… kantor.sh tunnel-stop`.
2. Skrip bersifat idempoten: bila server sudah berjalan untuk project ini ia hanya mencetak URL; port sibuk → otomatis
   pindah ke port bebas berikutnya; Node ≥ 18 dipakai bila ada, selain itu PHP ≥ 8.1. Bila keduanya tidak ada, sampaikan
   pesan error skrip apa adanya (cara memasang Node/PHP) lalu berhenti.
3. **Laporkan singkat** (Bahasa Indonesia): URL lokal (baris `URL :`), runtime, cara menghentikan
   (`/kantor-agent stop` atau perintah `Hentikan` yang dicetak). Bila skrip mencetak `Catatan : belum ada transkrip…`,
   jelaskan bahwa kantor terisi setelah Claude Code dipakai di folder ini (semua karakter santai sampai ada aktivitas).
4. **Tawarkan URL publik dalam satu kalimat** (jangan dijalankan tanpa persetujuan eksplisit): "Ingin dibuka dari ponsel
   di luar jaringan? Jalankan `/kantor-agent publik`." Saat user memintanya, setelah `tunnel` berhasil sampaikan
   peringatannya: siapa pun yang tahu link bisa melihat aktivitas agent (read-only, diredaksi), bagikan hanya ke orang
   tepercaya, dan matikan dengan `/kantor-agent tutup-publik`.

## Cara membaca kantornya (untuk menjawab pertanyaan user)
- **Ketua** (default "Joko") = sesi utama Claude Code terbaru yang aktif; lebih dari satu sesi aktif → catatan "+N sesi lain".
- **Tim** (Budi, Sari, Agus, Rina) = subagent. Subagent baru → anggota bebas pertama (urutan tetap) berjalan ke mejanya;
  selesai/dihentikan/limit → "Beres!" lalu kembali santai. Penugasan dihitung ulang dari data yang sama sehingga stabil.
- **Freelancer** = subagent saat keempat anggota tim sibuk: masuk lewat pintu, duduk di meja cadangan (maks 4 meja,
  sisanya kartu "+N"), pulang lewat pintu setelah selesai.
- Nama/judul/port bisa ditimpa lewat `<project>/.claude/kantor-agent.json` (opsional, lihat README):
  `{"title": "…", "port": 8788, "names": {"ketua": "…", "team": ["…","…","…","…"], "freelancers": ["…"]}, "autostart": false}`.

## Aturan
- Read-only terhadap project dan transkrip; jangan membuat atau mengubah file di project kecuali user meminta
  `.claude/kantor-agent.json`. Cache/PID/log ada di `~/.cache/kantor-agent/<slug-project>/`.
- Jangan pernah membuka tunnel publik tanpa persetujuan user; jangan menyalin isi transkrip ke balasan.
- Autostart (hook SessionStart plugin) mati secara bawaan. Aktifkan hanya bila user meminta: `"autostart": true` di
  `.claude/kantor-agent.json` (atau env `KANTOR_AUTOSTART=1`).
- Verifikasi opsional: `node "${CLAUDE_SKILL_DIR}/runtime/bin/check.mjs" <url-dasar>`; bila Node **dan** PHP ada:
  `node "${CLAUDE_SKILL_DIR}/runtime/bin/parity.mjs" --project="$PWD"` (harus "PARITY OK").

Сообщить о проблеме

Foxx AIKantor Agent
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.