[{"data":1,"prerenderedAt":459},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fdashboard":3,"surround-\u002Fdocs\u002Fdashboard":410,"docs-nav":419},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"order":10,"group":11,"body":12,"_type":404,"_id":405,"_source":406,"_file":407,"_stem":408,"_extension":409},"\u002Fdocs\u002Fdashboard","docs",false,"","Dashboard","A local, token-gated web dashboard served by the CLI — a task-first kanban board, runs explorer, cost charts, and a live orchestration chronogram. No account, no cloud.",5,"Build",{"type":13,"children":14,"toc":398},"root",[15,55,78,157,200,207,296,309,321,327,361,392],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20,23,30,32,38,40,53],{"type":21,"value":22},"text","Your repo, on a board. ",{"type":16,"tag":24,"props":25,"children":27},"code",{"className":26},[],[28],{"type":21,"value":29},"excalibur serve",{"type":21,"value":31}," opens a ",{"type":16,"tag":33,"props":34,"children":35},"strong",{},[36],{"type":21,"value":37},"Command Center",{"type":21,"value":39}," — a local, token-gated web dashboard served by the CLI itself: no separate process, no build step, no account. It's the ",{"type":16,"tag":41,"props":42,"children":43},"em",{},[44,46],{"type":21,"value":45},"same ",{"type":16,"tag":47,"props":48,"children":50},"a",{"href":49},"\u002Fdocs\u002Fthe-m-shell#time-travel-in-session",[51],{"type":21,"value":52},"immutable event log",{"type":21,"value":54}," rendered for the browser, so the board, the live runs and a replay are the exact same data you watch in the terminal — byte-identical. Terminal-only agents don't have this.",{"type":16,"tag":56,"props":57,"children":59},"note",{"type":58},"neutral",[60],{"type":16,"tag":17,"props":61,"children":62},{},[63,68,70,76],{"type":16,"tag":24,"props":64,"children":66},{"className":65},[],[67],{"type":21,"value":29},{"type":21,"value":69}," → open the printed ",{"type":16,"tag":24,"props":71,"children":73},{"className":72},[],[74],{"type":21,"value":75},"http:\u002F\u002F127.0.0.1:4319\u002F?token=…",{"type":21,"value":77}," URL.",{"type":16,"tag":79,"props":80,"children":84},"pre",{"className":81,"code":82,"language":83,"meta":7,"style":7},"language-bash shiki shiki-themes github-light","excalibur serve            # read-only, localhost-bound, token-gated\nexcalibur serve --write    # + interactive: drag lanes, start \u002F cancel \u002F approve runs\nexcalibur serve --share    # + mint a READ-ONLY share token (a view-only link)\n","bash",[85],{"type":16,"tag":24,"props":86,"children":87},{"__ignoreMap":7},[88,112,135],{"type":16,"tag":89,"props":90,"children":93},"span",{"class":91,"line":92},"line",1,[94,100,106],{"type":16,"tag":89,"props":95,"children":97},{"style":96},"--shiki-default:#6F42C1",[98],{"type":21,"value":99},"excalibur",{"type":16,"tag":89,"props":101,"children":103},{"style":102},"--shiki-default:#032F62",[104],{"type":21,"value":105}," serve",{"type":16,"tag":89,"props":107,"children":109},{"style":108},"--shiki-default:#6A737D",[110],{"type":21,"value":111},"            # read-only, localhost-bound, token-gated\n",{"type":16,"tag":89,"props":113,"children":115},{"class":91,"line":114},2,[116,120,124,130],{"type":16,"tag":89,"props":117,"children":118},{"style":96},[119],{"type":21,"value":99},{"type":16,"tag":89,"props":121,"children":122},{"style":102},[123],{"type":21,"value":105},{"type":16,"tag":89,"props":125,"children":127},{"style":126},"--shiki-default:#005CC5",[128],{"type":21,"value":129}," --write",{"type":16,"tag":89,"props":131,"children":132},{"style":108},[133],{"type":21,"value":134},"    # + interactive: drag lanes, start \u002F cancel \u002F approve runs\n",{"type":16,"tag":89,"props":136,"children":138},{"class":91,"line":137},3,[139,143,147,152],{"type":16,"tag":89,"props":140,"children":141},{"style":96},[142],{"type":21,"value":99},{"type":16,"tag":89,"props":144,"children":145},{"style":102},[146],{"type":21,"value":105},{"type":16,"tag":89,"props":148,"children":149},{"style":126},[150],{"type":21,"value":151}," --share",{"type":16,"tag":89,"props":153,"children":154},{"style":108},[155],{"type":21,"value":156},"    # + mint a READ-ONLY share token (a view-only link)\n",{"type":16,"tag":17,"props":158,"children":159},{},[160,162,167,169,175,177,183,184,190,192,198],{"type":21,"value":161},"It is ",{"type":16,"tag":33,"props":163,"children":164},{},[165],{"type":21,"value":166},"localhost-bound and token-gated",{"type":21,"value":168}," by default (",{"type":16,"tag":24,"props":170,"children":172},{"className":171},[],[173],{"type":21,"value":174},"--port",{"type":21,"value":176},", ",{"type":16,"tag":24,"props":178,"children":180},{"className":179},[],[181],{"type":21,"value":182},"--host",{"type":21,"value":176},{"type":16,"tag":24,"props":185,"children":187},{"className":186},[],[188],{"type":21,"value":189},"--token",{"type":21,"value":191}," to override), and read-only unless you pass ",{"type":16,"tag":24,"props":193,"children":195},{"className":194},[],[196],{"type":21,"value":197},"--write",{"type":21,"value":199},". The dashboard is a Svelte app compiled to a single file and embedded in the CLI bundle, so it works offline.",{"type":16,"tag":201,"props":202,"children":204},"h2",{"id":203},"what-you-get",[205],{"type":21,"value":206},"What you get",{"type":16,"tag":208,"props":209,"children":210},"ul",{},[211,222,232,242,252,262,286],{"type":16,"tag":212,"props":213,"children":214},"li",{},[215,220],{"type":16,"tag":33,"props":216,"children":217},{},[218],{"type":21,"value":219},"Board (home).",{"type":21,"value":221}," A task-first kanban of your work items across five lanes; a card with an in-flight run shows a live indicator and the agent's current checklist.",{"type":16,"tag":212,"props":223,"children":224},{},[225,230],{"type":16,"tag":33,"props":226,"children":227},{},[228],{"type":21,"value":229},"Runs explorer.",{"type":21,"value":231}," Every run with a live filter (title \u002F id \u002F status \u002F workflow \u002F model); click into a run's live rail.",{"type":16,"tag":212,"props":233,"children":234},{},[235,240],{"type":16,"tag":33,"props":236,"children":237},{},[238],{"type":21,"value":239},"Insights.",{"type":21,"value":241}," Totals (runs, cost, tokens, completion rate) + a cost-by-day chart and per-model \u002F per-workflow breakdowns.",{"type":16,"tag":212,"props":243,"children":244},{},[245,250],{"type":16,"tag":33,"props":246,"children":247},{},[248],{"type":21,"value":249},"Plans & Discovery.",{"type":21,"value":251}," Saved plans and discovery sessions with their recommendation + readiness.",{"type":16,"tag":212,"props":253,"children":254},{},[255,260],{"type":16,"tag":33,"props":256,"children":257},{},[258],{"type":21,"value":259},"Orchestrations.",{"type":21,"value":261}," Each parallel swarm with its per-lane child runs (status, cost, the work item each lane advances), pushed live over SSE.",{"type":16,"tag":212,"props":263,"children":264},{},[265,270,272,277,279,284],{"type":16,"tag":33,"props":266,"children":267},{},[268],{"type":21,"value":269},"Chronogram.",{"type":21,"value":271}," A live wave\u002FDAG timeline of an orchestration — ",{"type":16,"tag":33,"props":273,"children":274},{},[275],{"type":21,"value":276},"pause \u002F resume",{"type":21,"value":278}," it mid-flight, and scrub a ",{"type":16,"tag":33,"props":280,"children":281},{},[282],{"type":21,"value":283},"time-travel",{"type":21,"value":285}," slider to replay the run as of any moment.",{"type":16,"tag":212,"props":287,"children":288},{},[289,294],{"type":16,"tag":33,"props":290,"children":291},{},[292],{"type":21,"value":293},"Plan-shaping panel.",{"type":21,"value":295}," Co-create a plan (clarifying questions + multi-select recommendations) before a build starts.",{"type":16,"tag":201,"props":297,"children":299},{"id":298},"interactive-mode-write",[300,302,307],{"type":21,"value":301},"Interactive mode (",{"type":16,"tag":24,"props":303,"children":305},{"className":304},[],[306],{"type":21,"value":197},{"type":21,"value":308},")",{"type":16,"tag":17,"props":310,"children":311},{},[312,314,319],{"type":21,"value":313},"With ",{"type":16,"tag":24,"props":315,"children":317},{"className":316},[],[318],{"type":21,"value":197},{"type":21,"value":320}," the board becomes a control plane (still localhost + token-gated): drag a card to change its lane, start \u002F cancel \u002F approve runs, pause or resume a live orchestration, and cancel an individual swarm lane.",{"type":16,"tag":201,"props":322,"children":324},{"id":323},"sharing",[325],{"type":21,"value":326},"Sharing",{"type":16,"tag":17,"props":328,"children":329},{},[330,332,337,339,345,347,352,353,359],{"type":21,"value":331},"Two ways, neither needing Excalibur-hosted infra: a ",{"type":16,"tag":33,"props":333,"children":334},{},[335],{"type":21,"value":336},"live read-only link",{"type":21,"value":338}," (",{"type":16,"tag":24,"props":340,"children":342},{"className":341},[],[343],{"type":21,"value":344},"serve --share",{"type":21,"value":346}," mints a token that can GET everything but is refused every mutation), or a ",{"type":16,"tag":33,"props":348,"children":349},{},[350],{"type":21,"value":351},"static snapshot",{"type":21,"value":338},{"type":16,"tag":24,"props":354,"children":356},{"className":355},[],[357],{"type":21,"value":358},"excalibur share \u003CrunId>",{"type":21,"value":360}," writes a self-contained HTML file of a run).",{"type":16,"tag":362,"props":363,"children":364},"blockquote",{},[365],{"type":16,"tag":17,"props":366,"children":367},{},[368,370,375,377,382,384,390],{"type":21,"value":369},"This is the ",{"type":16,"tag":33,"props":371,"children":372},{},[373],{"type":21,"value":374},"shipped, local OSS dashboard",{"type":21,"value":376},". The org-wide ",{"type":16,"tag":33,"props":378,"children":379},{},[380],{"type":21,"value":381},"Enterprise Workbench",{"type":21,"value":383}," (a manager control plane with RBAC, org analytics, compliance) is a separate product in development — see ",{"type":16,"tag":47,"props":385,"children":387},{"href":386},"\u002Fdocs\u002Fenterprise",[388],{"type":21,"value":389},"Enterprise",{"type":21,"value":391},".",{"type":16,"tag":393,"props":394,"children":395},"style",{},[396],{"type":21,"value":397},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":114,"depth":114,"links":399},[400,401,403],{"id":203,"depth":114,"text":206},{"id":298,"depth":114,"text":402},"Interactive mode (--write)",{"id":323,"depth":114,"text":326},"markdown","content:docs:dashboard.md","content","docs\u002Fdashboard.md","docs\u002Fdashboard","md",[411,415],{"_path":412,"title":413,"order":414},"\u002Fdocs\u002Fmissions","Missions",4,{"_path":416,"title":417,"order":418},"\u002Fdocs\u002Fautonomy-levels","Autonomy levels",6,[420,424,429,432,435,436,437,438,442,446,448,451,456],{"_path":421,"title":422,"order":92,"group":423},"\u002Fdocs\u002Fgetting-started","Getting started","Get started",{"_path":425,"title":426,"order":427,"group":428},"\u002Fdocs\u002Fcommands","Command reference",10,"Reference",{"_path":430,"title":431,"order":114,"group":423},"\u002Fdocs\u002Fthe-m-shell","The m-shell",{"_path":433,"title":434,"order":137,"group":11},"\u002Fdocs\u002Fworkflows","Workflows",{"_path":412,"title":413,"order":414,"group":11},{"_path":4,"title":8,"order":10,"group":11},{"_path":416,"title":417,"order":418,"group":11},{"_path":439,"title":440,"order":441,"group":11},"\u002Fdocs\u002Fdiscovery","Discovery",7,{"_path":443,"title":444,"order":441,"group":445},"\u002Fdocs\u002Fsafety","Safety","Govern",{"_path":386,"title":389,"order":447,"group":445},8,{"_path":449,"title":450,"order":447,"group":11},"\u002Fdocs\u002Fproviders","Models & providers",{"_path":452,"title":453,"order":454,"group":455},"\u002Fdocs\u002Fextensions","Extensions",9,"Extend",{"_path":457,"title":458,"order":454,"group":11},"\u002Fdocs\u002Fweb-research","Web & research",1782492858362]