Skip to content

atman-33/multi-agent-ff15

Repository files navigation

multi-agent-ff15

OpenCode Multi-Agent Web Dashboard

Manage and monitor your AI agent team from a browser

GitHub Stars License: MIT OpenCode TypeScript React

multi-agent-ff15: Noctis Team dashboard

Noctis Team screen — dispatch missions to your AI agents and monitor their sessions in real time


multi-agent-ff15 is a web-based dashboard that brings the FF15-inspired multi-agent system to life in a browser. You orchestrate Noctis (King) and the comrades (Ignis, Gladiolus, Prompto) through a polished React UI backed by live OpenCode sessions — no tmux knowledge required. Lunafreya and Iris are planned for a future release.

Built on: OpenCode · React Router 7 · TypeScript


Overview

Multi-agent parallel development framework using OpenCode. Inspired by FINAL FANTASY XV's Kingdom of Lucis.

Agent Relationships

flowchart TD
  U[User]
  N[Noctis<br/>Lead agent / main user-facing contact]
  F[Active workflow step<br/>decides who acts next]
  I[Ignis<br/>Analysis / planning / review]
  G[Gladiolus<br/>Implementation / fixes / hardening]
  P[Prompto<br/>Recon / reporting / cleanup]

  U -->|request| N
  N --> F

  F --> N
  F --> I
  F --> G
  F --> P
Loading
  • User-facing requests start with Noctis.
  • Noctis is the lead agent and the main user-facing contact.
  • Ignis, Gladiolus, and Prompto are specialist teammates with distinct responsibilities.
  • The active workflow step determines whether work stays with Noctis or moves to a specialist.
  • Depending on the workflow, ownership may return to Noctis between steps or move across specialists before the final response.

🚀 Quick Start

Prerequisites

  • Node.js 20+
  • npm 10+
  • OpenCode CLI (authenticated)

Step 1: Clone & initial setup

git clone https://github.com/atman-33/multi-agent-ff15.git
cd multi-agent-ff15
./first_setup.sh

first_setup.sh installs required dependencies (uv/uvx for Serena MCP) and verifies the environment.

Step 2: Authenticate OpenCode (first time only)

source ~/.bashrc
opencode
# → Select your AI model provider
# → Follow the authentication prompts
# → Type /exit to quit

Credentials are saved to ~/.opencode/ and never need to be entered again.

Step 3: Build the web app (first time only)

./standby.sh --build

Step 4: Daily startup

./standby.sh

The app starts on http://localhost:13000 and the browser opens automatically.


🖥️ Web App Screens

Noctis Team

The primary command screen. Send missions to Noctis and watch the agent team respond in real time.

Feature Description
Mission dispatch Send a task to Noctis with a single message
Agent session view Live output from each agent's OpenCode session
Mission history Browse past missions and their outcomes

OpenCode Sessions

Inspect any OpenCode session directly in the browser — full message history, tool calls, model activity, and explicit session-local execution/context selection.

Projects

Browse the registered project registry and launch workspaces. Execution and context selection now happens per mission or session.

Reports

Browse and read Markdown reports generated by agents, with table-of-contents navigation.

MCP

View the MCP (Model Context Protocol) server configuration used by OpenCode agents.

Server

Monitor the OpenCode server status — connection health, errors, and active sessions.


⚙️ Configuration

Language

Edit config/settings.yaml:

language: ja   # Japanese responses
language: en   # English responses

Web port

  • ./standby.sh starts the production web server on port 13000 by default.
  • npm run web:dev starts the development server on port 5173 by default.
  • Agent helper scripts resolve the active web origin from FF15_WEB_ORIGIN first, then runtime/web-server.json.

To override the port explicitly:

npm run web:dev -- --port 14000
npm run web:start -- --port 14000
FF15_WEB_ORIGIN=http://localhost:14000 ./scripts/send_report.sh ...

🛠️ Development

Start the development server with HMR:

npm run web:dev

App available at http://localhost:5173 by default.

Other commands

npm run web:install    # Install dependencies
npm run web:build      # Production build
npm run web:start      # Start production server
npm run web:typecheck  # Type check
npm run web:lint       # Lint
npm run web:test       # Run tests

🗂️ Project Structure

multi-agent-ff15/
├── standby.sh              # Daily startup script (launch + browser open)
├── first_setup.sh          # One-time environment setup
├── config/
│   ├── settings.yaml       # Language and app settings
│   └── models.yaml         # Agent model configuration
├── web/                    # React Router 7 web app
│   └── app/
│       ├── routes/         # Page routes
│       │   ├── _layout.noctis-team/   # Noctis Team screen
│       │   ├── _layout.opencode/      # OpenCode session viewer
│       │   ├── _layout.projects/      # Project management
│       │   ├── _layout.reports/       # Report browser
│       │   ├── _layout.mcp/           # MCP config viewer
│       │   └── _layout.server/        # Server status
│       ├── lib/            # Shared utilities
│       └── stores/         # Zustand state stores
├── docs/
│   └── reports/            # Agent-generated reports
├── runtime/
│   ├── opencode-session-state.json
│   └── noctis-missions/    # Mission records (JSON)
├── projects/               # Project configuration files
└── .opencode/              # OpenCode agent definitions

🧩 Tech Stack

Layer Technology
Framework React Router 7 (SSR)
Language TypeScript
UI React 19 + Tailwind CSS v4
Components shadcn/ui (Radix UI primitives)
State Zustand
Build Vite 7
AI runtime OpenCode CLI
MCP Serena (semantic coding tools)

👥 Agent Roster

Agent Role Symbol Status
Noctis King — lead agent and main user-facing contact 👑 ✅ Implemented
Ignis Strategist comrade ✅ Implemented
Gladiolus Shield comrade 🛡 ✅ Implemented
Prompto Recon comrade 🔫 ✅ Implemented
Iris Guardian / gatekeeper 🌸 🔜 Planned
Lunafreya Oracle — independent advisor 🔜 Planned

The user is referred to as User by all agents.


🙏 Credits

Inspired by multi-agent-shogun by @yohey-w and the original multi-agent-ff15 design.


📄 License

MIT License — See LICENSE for details.


Command your AI team. Ship faster.

About

FF15-inspired browser-based dashboard for OpenCode multi-agent workflows, with mission dispatch, live sessions, and reports.

Topics

Resources

Stars

Watchers

Forks

Contributors