Kantor Agent — плагин
Плагин Claude Code рисует 3D-офис, где сессия и субагенты работают за столами по реальным транскриптам, без настройки.
- 172 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Запускает локальный сервер и читает транскрипты сессий; необязательный публичный туннель открывает страницу без входа любому, кто знает адрес.
Установка
- Работает в
В терминале, через 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: команды, роли, автопилот и распределение задач между скиллами и субагентами
Локальная панель мониторинга сессий Claude Code и Codex в реальном времени: активность агентов и вызовы инструментов
Агент Anthropic для терминала, IDE и GitHub: понимает кодовую базу, выполняет задачи и работает с git
Agent-Native Agent
Agent-Native Agent (ANA)
Плагин для Claude Code и самостоятельное приложение: дашборд и чат с кодинг-агентом, который переписывает приложение на ходу
Маркетплейс плагинов Claude Code с готовыми наборами агентов, слэш-команд, хуков и скиллов плюс сайт для поиска
claude-code-sub-agents
Claude Code Subagents Collection
Коллекция специализированных сабагентов для Claude Code: фронтенд, бэкенд, данные, инфраструктура, тестирование, безопасность
Коротко о 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").