Paradox07127/claude-utopia/tree/main/plugins/dashboard

서브에이전트와 mmrun 리뷰를 위한 상태 밴드가 있는 통합 작업대이며, 7페이지 패널(Overview / Agents / Reviews / GPU / Timeline / Usage / Progress)을 제공합니다. 데이터가 생기면 Reviews, GPU, Progress가 표시되고 Progress 페이지에는 파일을 변경하거나 커밋을 만든 입력 턴마다 기록된 프로젝트별 진행 보드가 나옵니다.
Paradox07127/claude-utopia/tree/main/plugins/dashboard

활발히 개발 중입니다. 이 저장소는 계속 업데이트되며 버전마다 인터페이스, 이름, 기본값이 바뀔 수 있습니다. 변경 사항을 따라가려면 저장소를 Star하거나 watch하세요.
mods(함수 훅)를 기반으로 한 Claude Code 플러그인 4개와 에이전트 템플릿 2개입니다.
| 플러그인 | 기능 |
|---|---|
| dashboard | 실행 중인 서브에이전트와 mmrun 리뷰를 프롬프트 위 상태 밴드에 표시하고, 프롬프트 아래 줄에 컨텍스트 사용량과 가장 촘촘한 속도 제한 창을 표시합니다. /dashboard, /subagents, /mmrun, /gpu, /timeline으로 여는 7페이지 작업대(Overview / Agents / Reviews / GPU / Timeline / Usage / Progress)도 제공합니다. Reviews, GPU, Progress 탭은 데이터가 생기면 표시됩니다. 데이터는 ~/.claude/mmruns 폴더, GPU 호스트, 진행 보드입니다. Timeline 페이지는 메인 루프의 턴을 모델 요청과 도구 호출의 폭포로 그리고 가장 느린 도구와 턴의 핫스팟 보기도 제공합니다. 트랜스크립트에는 서브에이전트 카드, 테스트 요약, 차단된 명령 알림을 렌더링합니다. |
| harness | 스킬: ai-code-cleanup, interrogate, shape-task, verify-change, setup. 가드: 차단된 모델의 서브에이전트 거부, 공유 main worktree에서 커밋하지 않은 작업을 버리는 git 명령 거부, API 키 설정 파일(~/.claude.json 및 백업, Claude 설정, Codex 설정과 인증, grok 인증, OpenViking 설정)이나 환경 덤프(env, printenv, export -p, set 등)를 트랜스크립트에 출력하는 도구 호출 거부, 메인 스레드가 유휴 상태로 프롬프트 캐시 만료 직전에 이르면 /compact 실행. |
| mm | 모델 간 코드 리뷰와 위임을 제공합니다. --models를 지정하지 않으면 /mm:review가 codex / grok / agy를 읽기 전용 리뷰어로 병렬 실행하고 /mm:run은 자신의 worktree에서 다른 모델에 작업을 넘깁니다. mmrun CLI도 포함합니다. 가드는 mmrun의 *.raw 이벤트 스트림 읽기를 거부합니다(단독으로 50줄 이하를 tail하는 경우 제외). 포그라운드 mmrun wait는 백그라운드로 옮깁니다. |
| progress | 프로젝트별 진행 보드입니다. 입력한 턴에서 파일을 변경하거나 커밋을 만들 때마다 플러그인이 Sonnet에 작업을 1–3개 노드(제목, 요약, 상태, 종류, 이전 노드 링크)로 기록하게 합니다. 메인 모델의 token은 사용하지 않습니다. 프로젝트마다 한 번 선택해 보드를 ~/.claude/progress/에 두거나 프로젝트와 함께 커밋할 수 있습니다. 선택적인 Artifact 캔버스에도 보드를 복제합니다. dashboard 없이도 작동하고 함께 사용하면 작업대의 Progress 페이지에 보드가 나옵니다. |
| agents/ | ~/.claude/agents/에 복사할 수 있는 worker 및 researcher 서브에이전트 템플릿입니다. |
worker 서브에이전트가 실행 중일 때 프롬프트 위에 표시되는 상태 밴드와 파견된 에이전트의 트랜스크립트 카드, 테스트 요약입니다. 컨텍스트 사용량과 속도 제한 창은 프롬프트 아래 줄에만 표시됩니다.

작업대의 Timeline 페이지: 최근 턴의 각 모델 요청, 도구 호출, 핵심 경로입니다.

두 스크린샷은 language를 English로 설정한 실제 터미널 세션에서 가져왔습니다. zh-CN에서는 같은 UI가 중국어로 그려집니다. 简体中文을 참고하세요.
claude -p에서는 훅이 실행되지만 그려지지 않습니다.harness: python3.mm: codex, grok, agy CLI 중 하나 이상과 bash, git, jq, python3가 필요합니다. grok과 agy의 읽기 전용 펜스는 sandbox-exec를 사용하므로 macOS 전용이고 codex는 자체 샌드박스를 사용합니다.dashboard GPU 페이지: 키 기반 SSH로 호스트에 접속하고 호스트에서 nvidia-smi(또는 tegrastats)를 사용할 수 있어야 합니다./mm:run은 프런트엔드 작업에 /impeccable 스킬을, verify-change는 codegraph_impact MCP 도구를 제안합니다. 둘 다 여기에 포함되지는 않지만 설치되어 있으면 사용하며, 없어도 플러그인은 작동합니다.Claude가 설치하게 하려면 아래 내용을 Claude Code 세션에 붙여 넣으세요.
Fetch and follow the instructions in https://raw.githubusercontent.com/Paradox07127/claude-utopia/main/INSTALL.md
직접 하려면 다음을 실행합니다.
claude plugin marketplace add Paradox07127/claude-utopia
claude plugin install dashboard@claude-utopia
claude plugin install harness@claude-utopia
claude plugin install mm@claude-utopia
claude plugin install progress@claude-utopia
그다음 새 Claude Code 세션을 시작하세요. 언제든 setup 스킬(/harness:setup)을 실행해 아래 옵션을 검토하고 변경할 수 있습니다.
/plugin configure <plugin>@claude-utopia로 설정하거나 JSON 문자열 객체를 사용하는 claude plugin configure <plugin>@claude-utopia --values-stdin을 사용하세요. 변경 사항은 다음 세션부터 적용됩니다.
| 플러그인 | 키 | 기본값 | 의미 |
|---|---|---|---|
| dashboard | language | auto | UI 언어: auto, zh-CN, en. auto는 설정의 language, 그다음 LC_ALL / LANG을 따르고 없으면 영어를 사용합니다. |
| dashboard | gpuHosts | empty | 쉼표로 구분한 ssh 호스트입니다. Bash에서 ssh <host> …를 실행하면 해당 호스트의 GPU 페이지를 엽니다. |
| dashboard | cacheTtlMinutes | 60 | 대체 프롬프트 캐시 TTL입니다. 이만큼의 분 동안 유휴 상태면 다음 메시지가 프롬프트 캐시를 다시 쓴다고 밴드가 경고합니다. 실제 TTL을 알기 전까지만 사용하며 트랜스크립트에서 읽은 TTL이나 모델 전환이 보고한 TTL이 우선합니다. |
| dashboard | toastPeerAsks | true | 다른 Claude Code 세션이 권한을 요청하거나 턴에 실패하면 토스트를 표시합니다. 다른 세션의 토스트는 최근 2분 안에 마지막으로 입력한 세션에만 표시되고 아무 세션에도 입력하지 않았다면 모든 세션에 표시됩니다. |
| dashboard | toastPeerReplies | true | 2분 이상 지속된 턴 뒤 다른 세션이 답하면 토스트를 표시합니다. 표시 규칙은 같습니다. |
| dashboard | askSound | false | 다른 세션이 권한을 요청하거나 실패할 때 토스트와 함께 짧은 차임을 냅니다. toastPeerAsks가 필요합니다. |
| dashboard | toastRuns | true | mmrun 모델이 응답하거나 실패하거나 오래된 상태가 되면 토스트를 표시합니다. |
| harness | language | auto | 위와 같으며 harness 토스트에 사용합니다. |
| harness | blockedSubagentModels | empty | 쉼표로 구분합니다. 모델 이름에 어느 항목이든 포함된 서브에이전트는 거부됩니다. 비어 있으면 모두 허용합니다. |
| harness | sharedTreeGitGuard | true | main worktree에서 커밋하지 않은 변경을 버리거나 HEAD를 다시 쓰는 git 명령을 거부합니다: checkout <path>, checkout --force / -f, restore(--staged만 사용하는 경우 제외), stash(list, show, create 제외), clean(-n / --dry-run 제외), switch --discard-changes / --force / -f, reset --hard, commit --amend. 연결된 worktree는 제외됩니다. |
| harness | idleCompact | true | 메인 스레드가 프롬프트 캐시 만료 직전까지 유휴 상태면 /compact를 자동 실행합니다. 1h 캐시에서는 10분 전, 100k 이상 token에서 실행하고 5m 캐시에서는 1분 전, 200k 이상에서 실행합니다. TTL은 트랜스크립트에서 읽습니다. |
| mm | reviewModels | codex,grok | --models를 지정하지 않을 때 /mm:review가 사용하는 모델입니다. |
progress에는 옵션이 없습니다.
스킬, 명령 문서, 플러그인이 모델에 보내는 지시는 모두 영어입니다. 스킬 설명에는 중국어 트리거 단어도 있어 중국어 프롬프트와 맞습니다. Claude는 사용자의 언어로 답합니다. 그려지는 UI만 language를 따릅니다.
Mods는 다른 플러그인 훅처럼 사용자 권한으로 프로세스 안에서 실행됩니다. mm은 설치한 외부 모델 CLI로 리뷰할 코드를 각 CLI의 계정과 약관에 따라 보냅니다. 여기서 외부로 연락하지는 않습니다.
~/.claude/agents/나 프로젝트의 .claude/agents/에 worker.md 또는 researcher.md가 있으면 harness는 내장 general-purpose 에이전트를 숨깁니다.
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add Paradox07127/claude-utopia claude plugin install dashboard
Under active development. This repo is updated continuously, and interfaces, names and defaults can change between versions. Star or watch the repo to follow the changes.
Four Claude Code plugins built on mods (function hooks), plus two agent templates.
| Plugin | What it does |
|---|---|
| dashboard | A status band above the prompt for running subagents and mmrun reviews, a line under the prompt with context use and the tightest rate-limit window, and a seven-page workbench (Overview / Agents / Reviews / GPU / Timeline / Usage / Progress) opened with /dashboard, /subagents, /mmrun, /gpu, /timeline. The Reviews, GPU and Progress tabs show once they have data: an ~/.claude/mmruns folder, a GPU host, a progress board. The Timeline page draws the main loop's turns as a waterfall of model requests and tool calls, with a hotspot view of the slowest tools and turns. Renders subagent cards, test summaries and blocked-command notices in the transcript. |
| harness | Skills: ai-code-cleanup, interrogate, shape-task, verify-change, setup. Guards: refuse subagents on blocked models, refuse git commands that discard uncommitted work in the shared main worktree, refuse tool calls that would print API-key config files (~/.claude.json and its backups, Claude settings, Codex config and auth, grok auth, OpenViking config) or an environment dump (env, printenv, export -p, set, …) into the transcript, run /compact when the main thread idles until the prompt cache is about to expire. |
| mm | Cross-model code review and delegation: /mm:review runs codex / grok / agy in parallel as read-only reviewers, /mm:run hands a task to another model in its own worktree. Ships the mmrun CLI. A guard refuses reading mmrun's *.raw event streams (except a lone tail of 50 lines or fewer) and moves a foreground mmrun wait to the background. |
| progress | A per-project progress board. After each turn you typed that changed files or made a commit, the plugin asks Sonnet to record the work as 1–3 nodes (title, summary, status, kind, links to earlier nodes); the main model spends no tokens on it. The board is kept under ~/.claude/progress/ or committed with the project, as you choose once per project. The plugin mirrors the board to an optional Artifact canvas. Works without dashboard; with it, the workbench's Progress page lists the board. |
| agents/ | worker and researcher subagent templates to copy into ~/.claude/agents/. |
The status band above the prompt while a worker subagent runs, with the transcript cards for the dispatched agent and the test summary. Context use and the rate-limit window show only in the line under the prompt:

The workbench's Timeline page: each model request of the last turn, its tool calls and the critical path.

Both screenshots come from a real terminal session with language set to English. With zh-CN, the same UI is drawn in Chinese; see 简体中文.
claude -p run the hooks without drawing.harness: python3.mm: at least one of the codex, grok or agy CLIs, plus bash, git, jq, python3. The grok and agy read-only fence uses sandbox-exec, so it is macOS only; codex uses its own sandbox.dashboard GPU page: key-based ssh to the hosts and nvidia-smi (or tegrastats) on them./mm:run suggests the /impeccable skill for frontend tasks, and verify-change suggests the codegraph_impact MCP tool. Neither ships here; they are used when installed, and the plugins work without them.Let Claude do it: paste this into a Claude Code session.
Fetch and follow the instructions in https://raw.githubusercontent.com/Paradox07127/claude-utopia/main/INSTALL.md
Or by hand:
claude plugin marketplace add Paradox07127/claude-utopia
claude plugin install dashboard@claude-utopia
claude plugin install harness@claude-utopia
claude plugin install mm@claude-utopia
claude plugin install progress@claude-utopia
Then start a new Claude Code session. Run the setup skill (/harness:setup) at any time to review and change the options below.
Set with /plugin configure <plugin>@claude-utopia, or claude plugin configure <plugin>@claude-utopia --values-stdin with a JSON object of strings. Changes take effect in the next session.
| Plugin | Key | Default | Meaning |
|---|---|---|---|
| dashboard | language | auto | UI language: auto, zh-CN or en. auto follows the settings language, then LC_ALL / LANG, else English. |
| dashboard | gpuHosts | empty | Comma-separated ssh hosts; ssh <host> … in Bash opens that host's GPU page. |
| dashboard | cacheTtlMinutes | 60 | The fallback prompt cache TTL: after this many idle minutes the band warns that the next message rewrites the prompt cache. Used only until the real TTL is known; a TTL read from the transcript or reported by a model switch overrides it. |
| dashboard | toastPeerAsks | true | Toast when another Claude Code session asks a permission or its turn fails. Other sessions' toasts show only in the session you typed in last within two minutes, or in every session when you typed in none. |
| dashboard | toastPeerReplies | true | Toast when another session replies after a turn of two minutes or more. Shown by the same rule. |
| dashboard | askSound | false | Play a short chime with the toast of another session asking a permission or failing. Needs toastPeerAsks. |
| dashboard | toastRuns | true | Toast when an mmrun model returns, fails or goes stale. |
| harness | language | auto | Same as above, for the harness toast. |
| harness | blockedSubagentModels | empty | Comma-separated; a subagent whose model name contains any entry is refused. Empty allows all. |
| harness | sharedTreeGitGuard | true | In the main worktree, refuse git commands that discard uncommitted changes or rewrite HEAD: checkout <path>, checkout --force / -f, restore (except --staged alone), stash (except list, show, create), clean (except -n / --dry-run), switch --discard-changes / --force / -f, reset --hard, commit --amend. Linked worktrees are exempt. |
| harness | idleCompact | true | When the main thread sits idle until just before the prompt cache expires, run /compact automatically: with a 1h cache 10 minutes before, at 100k tokens or more; with a 5m cache 1 minute before, at 200k or more. The TTL is read from the transcript. |
| mm | reviewModels | codex,grok | Models /mm:review uses when no --models is given. |
progress has no options.
Skills, command docs and every instruction the plugins send to the model are in English; skill descriptions also carry Chinese trigger words so Chinese prompts match them. Claude replies in your language. Only the drawn UI follows language.
Mods run in-process with your user permissions, like any plugin hook. mm sends the code under review to the external model CLIs you have installed, under their own accounts and terms. Nothing here phones home.
harness hides the built-in general-purpose agent when worker.md or researcher.md exists in ~/.claude/agents/ or the project's .claude/agents/.