Semua proyekAll projects

Dalang

Control room self-hosted untuk agent Codex CLI dan Claude Code: panel web yang bisa di-install di HP plus API HTTP/MCP, menjalankan sesi agent di mesin sendiri dan pindah akun otomatis saat limit habis.A self-hosted control room for Codex CLI and Claude Code agents: an installable web panel plus an HTTP/MCP API, running agent sessions on your own machine and failing over between accounts when one hits its limit.

JenisType
Open source · MIT
Stack
TypeScript · Node.js · Fastify · SQLite · Preact
TautanLinks

ArsitekturArchitecture

Dalang architectureThe panel and API send requests to the gateway and dispatcher, which reads memory and guidance before each turn, keeps its state in SQLite, and spawns Codex CLI or Claude Code sessions that prompt the model providers and call tools and connections. When needed it creates sub-agents that report back, and sends changes to an optional reviewer whose findings come back to the chat.SYS.MAP // DALANGNODES 09 · LINKS 10CONTEXTREQUESTSTATECREATEREPORTCHANGESFINDINGSSPAWNPROMPTTOOL CALL01 · CONTEXTMemory & guidanceProject · personal memoryCode graph · shared skills02 · CHILDSub-agentsSeparate sessionsOptional worktrees03 · REMOTEModel providersOpenAI · AnthropicCalled by the native CLI04 · CLIENTPanel & APIChat · inbox · ChangesPWA · HTTP · MCP clients05 · COREGateway & dispatcherAuth · queues · schedulesFailover · restart / resume06 · CLIAgent runtimeCodex CLI · Claude CodeWorktrees · checkpoints07 · STORESQLite stateChats · events · queuesMemories · approvals08 · CHECKSReview & design checksRead-only reviewerAdvisory design hooks09 · TOOLSTools & connectionsDB / SSH · approvalsExternal MCP serversGrouped capabilities, not separate services. Usage limit hit? The same turn resumes on the next account.LEGENDCoreProcessState & contextClientExternalConditional
  1. Agent dijalankan sebagai proses headless codex exec dan claude, lalu event-nya dinormalisasi menjadi satu stream yang sama untuk panel.Agents run as headless codex exec and claude processes, and their events are normalised into one stream for the panel.
  2. Backend Fastify + node:sqlite bawaan Node 22 — tanpa server database terpisah untuk proyek, chat, antrian, event, dan memori.A Fastify backend on Node 22's built-in node:sqlite — no separate database server for projects, chats, queues, events, and memory.
  3. Restart tidak memotong pekerjaan: turn yang sedang jalan diberi waktu untuk selesai, dan yang belum selesai dilanjutkan di sesinya setelah server menyala lagi.Restarts don't cut work off: running turns get time to finish, and any still unfinished continue in their session once the server is back.
  4. Panel Preact + htm tanpa build step, bisa di-install sebagai PWA dengan Web Push saat turn selesai.A Preact + htm panel with no build step, installable as a PWA with Web Push when a turn finishes.
  5. Aman secara default: login kode email, user dan role, project read-only, approval untuk query dan perintah SSH, serta secret terenkripsi saat disimpan.Safe by default: email-code sign-in, users and roles, read-only projects, approvals for queries and SSH commands, and secrets encrypted at rest.

Yang bisa dilakukanWhat it does

Chat paralel per proyekParallel chats per project

Setiap chat punya sesi agent, draft, dan antrian prompt sendiri, opsional di git worktree terpisah.Each chat has its own agent session, draft, and prompt queue, optionally in its own git worktree.

Live view & inboxLive view and inbox

Command, edit file, dan jawaban agent di-stream lewat SSE; inbox mengumpulkan chat yang menunggu approval, run yang gagal, dan jawaban yang belum dibaca dari semua proyek.Commands, edits, and answers stream in over SSE; the inbox gathers chats waiting for approval, failed runs, and unread answers across projects.

Git tanpa keluar dari chatGit without leaving the chat

Diff per hunk, commit dan push, stash, konflik, riwayat, checkpoint, sampai Merge Request.Per-hunk diffs, commit and push, stashes, conflicts, history, checkpoints, and Merge Requests.

Failover akunAccount failover

Saat satu akun kena usage limit, turn yang sama dilanjutkan di akun berikutnya dengan backend yang sama; akun yang logout dilewati dan bisa login lagi dari panel.A usage limit resumes the same turn on your next account of the same backend; signed-out accounts are skipped and can sign in again from the panel.

Gateway MCP & sub-agentMCP gateway & sub-agents

Agent lain bisa mengendalikan chat lewat /mcp; agent di dalam chat bisa memulai sub-agent dan menerima laporannya.Other agents drive chats through /mcp; a chat's agent can start sub-agents and hear back.

Memori lintas chatMemory across chats

Keputusan proyek dan preferensi pribadi terbawa ke turn berikutnya, di Codex maupun Claude Code. Code graph opsional memetakan simbol, pemanggilan, dan route.Project decisions and personal preferences carry into later turns on Codex and Claude Code alike. Optional code graphs map symbols, calls, and routes.

Review otomatis & cek desainAutomatic review & design checks

Reviewer read-only opsional memeriksa file yang berubah dan mengirim temuannya kembali untuk beberapa ronde perbaikan; hook desain memberi masukan saat UI diedit.An optional read-only reviewer checks changed files and sends findings back for bounded correction rounds; a design hook gives feedback on UI edits.

Database & SSHDatabases & SSH

Query PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, dan Redis, ekspor hasil, dan jalankan perintah SSH, dengan akses agent dan approval per koneksi.Query PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, and Redis, export results, and run SSH commands, with per-connection agent access and approvals.

Editor kode & terminalCode editor & terminals

Editor CodeMirror, file tree, pencarian, dan terminal di folder tempat setiap chat bekerja.A CodeMirror editor, file tree, search, and terminals in the folder each chat works in.

Prompt terjadwalScheduled prompts

Jadwal cron yang melanjutkan percakapan, dengan notifikasi push setiap kali run selesai.Cron schedules that keep a conversation going, with a push notification when each run ends.

Stack

Backend
TypeScript · Node.js · Fastify · node:sqlite · MCP SDK
Panel
Preact · htm · CodeMirror · xterm.js · PWA
Deploy
systemd · Nginx · HTTPS
Proyek berikutnyaNext projectGEM Platform

AksiActions