Mixseek UI ガイド

概要

Mixseek UIは、Streamlitベースのウェブインターフェースで、Mixseekオーケストレーションの実行と監視を提供します。

主要機能

  • 実行ページ: オーケストレーション選択とタスク実行

  • 結果ページ: リーダーボードとサブミッション詳細

  • 履歴ページ: 過去の実行履歴とフィルタリング

  • 設定ページ: TOML設定ファイルの管理

利用シーン

  • インタラクティブなマルチエージェント実行

  • リアルタイムな結果比較

  • 設定ファイルのビジュアル編集

  • 実行履歴の分析

セットアップ

前提条件

システム要件:

  • Python 3.13.9

  • uvパッケージマネージャー

  • Linux/macOS/Windows(Streamlit対応環境)

依存関係:

  • streamlit >=1.51.0

  • plotly >=6.4.0

  • duckdb >=1.3.1

  • pydantic >=2.0

  • tomllib(Python 3.13標準ライブラリ)

インストール手順

Step 1: 依存関係のインストール

プロジェクトルートディレクトリで実行:

uv sync

Step 2: 環境変数の設定

MIXSEEK_WORKSPACE環境変数を設定します。

Linux/macOS:

export MIXSEEK_WORKSPACE=/path/to/your/workspace

永続化する場合(~/.bashrcまたは~/.zshrcに追加):

echo 'export MIXSEEK_WORKSPACE=/path/to/your/workspace' >> ~/.bashrc
source ~/.bashrc

Windows (PowerShell):

$env:MIXSEEK_WORKSPACE = "C:\path\to\your\workspace"

環境変数の確認:

echo $MIXSEEK_WORKSPACE

設定の優先順位:

MIXSEEK_WORKSPACEは以下の優先順位で適用されます:

  1. CLI引数(--workspaceオプション) - 最高優先度

  2. 環境変数(MIXSEEK_WORKSPACE

  3. デフォルト値(未設定時はエラー)

Step 3: ワークスペースディレクトリの作成

mkdir -p $MIXSEEK_WORKSPACE/configs

Step 4: サンプル設定ファイルの作成(オプション)

cat > $MIXSEEK_WORKSPACE/configs/example.toml <<'EOF'
# Mixseek Configuration File - Example

# Member Agents
[[member_agents]]
agent_id = "researcher"
provider = "anthropic"
model = "claude-sonnet-4"
system_prompt = "You are a research assistant. Provide detailed, well-researched answers."
temperature = 0.7
max_tokens = 4096

[[member_agents]]
agent_id = "coder"
provider = "google-adk"
model = "google-gla:gemini-2.5-flash"
system_prompt = "You are a coding expert. Write clean, efficient code."
temperature = 0.3
max_tokens = 8192

# Leader Agents
[[leader_agents]]
agent_id = "coordinator"
provider = "anthropic"
model = "claude-sonnet-4-5"
system_prompt = "You are a team coordinator. Delegate tasks and synthesize results."
temperature = 0.5
max_tokens = 8192

# Orchestrations
[[orchestrations]]
orchestration_id = "research_team"
leader_agent_id = "coordinator"
member_agent_ids = ["researcher", "coder"]
description = "Research team with coordinator, researcher, and coder"
EOF

アプリケーション起動

プロジェクトルートディレクトリから実行:

# 推奨: CLIコマンド
mixseek ui

# または直接実行
uv run streamlit run src/mixseek/ui/app.py

期待される出力:

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501
  Network URL: http://192.168.1.100:8501

ブラウザでhttp://localhost:8501にアクセスします。

Logfire観測機能

Mixseek UIでもLogfireによるリアルタイム観測が利用可能です。

使用方法

Logfireを有効化するには、mixseek uiコマンドにLogfireオプションを追加します。

# Full mode(すべてキャプチャ)- 開発環境推奨
export LOGFIRE_PROJECT=your-project-name
mixseek ui --logfire

# Metadata only mode(本番推奨)- プロンプト/応答を除外
mixseek ui --logfire-metadata

# Full + HTTP capture(デバッグ用)
mixseek ui --logfire-http

プライバシーモード

モード

オプション

内容

Full

--logfire

プロンプト、応答、メトリクスをすべて記録(開発環境)

Metadata only

--logfire-metadata

メトリクスのみ記録、プロンプト/応答除外(本番推奨)

Full + HTTP

--logfire-http

Full + HTTPリクエスト/レスポンスをキャプチャ(デバッグ用)

Logfire初期化の確認

Logfireが正常に有効化されると、UIのサイドバーに以下の表示がされます:

  • 成功時: Logfire enabled (full) または Logfire enabled (metadata_only)

  • 未インストール時: Logfire not installed (uv sync --extra logfire)

  • 初期化失敗時: エラーメッセージ

Logfire未インストール時のセットアップ

# Logfireエクストラをインストール
uv sync --extra logfire

# Logfire認証(初回のみ)
uv run logfire auth

# プロジェクト作成(初回のみ)
uv run logfire projects new

環境変数による設定

CLIオプションの代わりに、環境変数でLogfireを有効化することもできます。

# Logfire有効化
export LOGFIRE_ENABLED=1
export LOGFIRE_PROJECT=your-project-name
export LOGFIRE_PRIVACY_MODE=metadata_only  # full, metadata_only, disabled

# UI起動(環境変数が自動的に適用される)
mixseek ui

詳細はobservability.mdを参照してください。

機能詳細

実行ページ

タスクの実行とオーケストレーションの選択を行います。

操作手順:

  1. オーケストレーション選択ドロップダウンから設定ファイルとオーケストレーションを選択

  2. タスクプロンプト欄にタスク内容を入力

  3. 「実行」ボタンをクリック

進行状況表示: 実行中は”実行中…”と表示され、チーム別の進捗状況がリアルタイムで更新されます。

実行ログ: 「実行ログ」セクションでは、オーケストレーション実行中のログをリアルタイムで確認できます。

  • 折りたたみ可能なパネルで表示(デフォルトは閉じた状態)

  • INFO以上のログレベルのメッセージを表示

  • スクロールで過去のログを追跡可能

  • 実行完了後もログを参照可能

ログ表示により、エラー発生時の原因特定やデバッグが容易になります。

完了表示: 実行完了後、結果サマリーが表示されます。

結果ページ

最新の実行結果をリーダーボード形式で表示します。

表示内容:

  • チーム順位とスコア

  • トップサブミッションの詳細

  • チーム比較

操作:

  • 任意のチームをクリックして詳細ビューを表示

履歴ページ

過去の実行履歴を一覧表示します。

表示内容:

  • 実行ID

  • プロンプト概要

  • 実行日時

  • ステータス

操作:

  • フィルタリング: ステータスや日付で絞り込み

  • ソート: 日時、スコアで並べ替え

  • 詳細ビュー: 任意の実行をクリックして詳細を表示

設定ページ

TOML設定ファイルの管理を行います。

既存ファイルの編集:

  1. 設定ファイル一覧からファイルを選択

  2. TOML内容が編集可能なテキストエリアに表示される

  3. 内容を編集

  4. 「保存」ボタンをクリック

新規ファイルの作成:

  1. 「新規作成」ボタンをクリック

  2. ファイル名を入力(例: my_config.toml

  3. テンプレート構造が自動生成される

  4. 内容を編集

  5. 「保存」ボタンをクリック

バリデーション: TOML構文エラーは保存時に検出され、エラーメッセージが表示されます。

トラブルシューティング

MIXSEEK_WORKSPACE not setエラー

症状: Streamlitアプリ起動時にValueError: MIXSEEK_WORKSPACE environment variable is not setが表示される。

解決方法:

  1. 環境変数が設定されているか確認: echo $MIXSEEK_WORKSPACE

  2. 未設定の場合は環境変数を設定

  3. Streamlitアプリを再起動

configs/ディレクトリが見つからない

症状: 実行ページで「設定ファイルが見つかりません」と表示される。

解決方法:

  1. ディレクトリが存在するか確認: ls $MIXSEEK_WORKSPACE/configs/

  2. ディレクトリが存在しない場合は作成: mkdir -p $MIXSEEK_WORKSPACE/configs

  3. サンプル設定ファイルを作成

  4. Streamlitアプリをリロード(ブラウザでF5キー)

TOML構文エラー

症状: 設定ページでファイルを選択すると「構文エラー: …」が表示される。

解決方法:

  1. エラーメッセージの行番号を確認

  2. TOMLファイルを直接編集して構文を修正

  3. TOML構文の確認:

    • キーと値の形式: key = "value"

    • セクション: [[section_name]]

    • コメント: # comment

  4. Streamlitアプリをリロード

mixseek.dbが見つからない

症状: 結果ページまたは履歴ページで「データがありません」と表示される。

解決方法:

これは正常な動作です(初回起動時はデータベースが未作成)。実行ページでタスクを実行すると自動的にmixseek.dbが作成されます。タスク実行後、結果ページ・履歴ページを確認してください。

実行ログが表示されない

症状: 「実行ログ」セクションに「ログがありません」と表示される。

解決方法:

  1. ログファイルが存在するか確認: ls $MIXSEEK_WORKSPACE/logs/mixseek.log

  2. ログディレクトリが存在しない場合は、タスクを実行すると自動作成されます

  3. ログレベルがINFO以上であることを確認(DEBUG以下は表示されません)

ポート8501が既に使用中

症状: OSError: Address already in useが表示される。

解決方法:

別のポートを指定してStreamlitを起動:

mixseek ui --server.port 8502

または、既存のプロセスを終了:

lsof -i :8501
kill -9 <PID>

本番環境での実行

ヘッドレスモードで起動(サーバー環境):

mixseek ui \
  --server.headless true \
  --server.port 8501 \
  --server.address 0.0.0.0

複数ワークスペースの使い分け

複数のワークスペースを並行して使用する場合:

# ワークスペースAで起動
MIXSEEK_WORKSPACE=/path/to/workspace_a mixseek ui --server.port 8501

# ワークスペースBで起動
MIXSEEK_WORKSPACE=/path/to/workspace_b mixseek ui --server.port 8502

リファレンス

環境変数

Variable

Required

Default

Description

MIXSEEK_WORKSPACE

Yes

-

ワークスペースディレクトリのパス。未設定時はエラー終了

ディレクトリ構造

$MIXSEEK_WORKSPACE/
├── configs/             # 設定ファイルディレクトリ(自動作成)
│   ├── example.toml     # サンプル設定ファイル
│   └── my_config.toml   # ユーザー作成の設定ファイル
├── logs/                # ログディレクトリ(実行時に自動作成)
│   └── mixseek.log      # アプリケーションログ
└── mixseek.db           # DuckDBデータベース(実行時に自動作成)

Streamlit設定(オプション)

カスタムStreamlit設定(.streamlit/config.toml):

[server]
port = 8501
headless = true

[runner]
enforceSerializableSessionState = true

[theme]
primaryColor = "#1f77b4"
backgroundColor = "#ffffff"
secondaryBackgroundColor = "#f0f2f6"
textColor = "#262730"
font = "sans serif"

関連ドキュメント