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は以下の優先順位で適用されます:
CLI引数(
--workspaceオプション) - 最高優先度環境変数(
MIXSEEK_WORKSPACE)デフォルト値(未設定時はエラー)
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 |
|
プロンプト、応答、メトリクスをすべて記録(開発環境) |
Metadata only |
|
メトリクスのみ記録、プロンプト/応答除外(本番推奨) |
Full + 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を参照してください。
機能詳細
実行ページ
タスクの実行とオーケストレーションの選択を行います。
操作手順:
オーケストレーション選択ドロップダウンから設定ファイルとオーケストレーションを選択
タスクプロンプト欄にタスク内容を入力
「実行」ボタンをクリック
進行状況表示: 実行中は”実行中…”と表示され、チーム別の進捗状況がリアルタイムで更新されます。
実行ログ: 「実行ログ」セクションでは、オーケストレーション実行中のログをリアルタイムで確認できます。
折りたたみ可能なパネルで表示(デフォルトは閉じた状態)
INFO以上のログレベルのメッセージを表示
スクロールで過去のログを追跡可能
実行完了後もログを参照可能
ログ表示により、エラー発生時の原因特定やデバッグが容易になります。
完了表示: 実行完了後、結果サマリーが表示されます。
結果ページ
最新の実行結果をリーダーボード形式で表示します。
表示内容:
チーム順位とスコア
トップサブミッションの詳細
チーム比較
操作:
任意のチームをクリックして詳細ビューを表示
履歴ページ
過去の実行履歴を一覧表示します。
表示内容:
実行ID
プロンプト概要
実行日時
ステータス
操作:
フィルタリング: ステータスや日付で絞り込み
ソート: 日時、スコアで並べ替え
詳細ビュー: 任意の実行をクリックして詳細を表示
設定ページ
TOML設定ファイルの管理を行います。
既存ファイルの編集:
設定ファイル一覧からファイルを選択
TOML内容が編集可能なテキストエリアに表示される
内容を編集
「保存」ボタンをクリック
新規ファイルの作成:
「新規作成」ボタンをクリック
ファイル名を入力(例:
my_config.toml)テンプレート構造が自動生成される
内容を編集
「保存」ボタンをクリック
バリデーション: TOML構文エラーは保存時に検出され、エラーメッセージが表示されます。
トラブルシューティング
MIXSEEK_WORKSPACE not setエラー
症状: Streamlitアプリ起動時にValueError: MIXSEEK_WORKSPACE environment variable is not setが表示される。
解決方法:
環境変数が設定されているか確認:
echo $MIXSEEK_WORKSPACE未設定の場合は環境変数を設定
Streamlitアプリを再起動
configs/ディレクトリが見つからない
症状: 実行ページで「設定ファイルが見つかりません」と表示される。
解決方法:
ディレクトリが存在するか確認:
ls $MIXSEEK_WORKSPACE/configs/ディレクトリが存在しない場合は作成:
mkdir -p $MIXSEEK_WORKSPACE/configsサンプル設定ファイルを作成
Streamlitアプリをリロード(ブラウザでF5キー)
TOML構文エラー
症状: 設定ページでファイルを選択すると「構文エラー: …」が表示される。
解決方法:
エラーメッセージの行番号を確認
TOMLファイルを直接編集して構文を修正
TOML構文の確認:
キーと値の形式:
key = "value"セクション:
[[section_name]]コメント:
# comment
Streamlitアプリをリロード
mixseek.dbが見つからない
症状: 結果ページまたは履歴ページで「データがありません」と表示される。
解決方法:
これは正常な動作です(初回起動時はデータベースが未作成)。実行ページでタスクを実行すると自動的にmixseek.dbが作成されます。タスク実行後、結果ページ・履歴ページを確認してください。
実行ログが表示されない
症状: 「実行ログ」セクションに「ログがありません」と表示される。
解決方法:
ログファイルが存在するか確認:
ls $MIXSEEK_WORKSPACE/logs/mixseek.logログディレクトリが存在しない場合は、タスクを実行すると自動作成されます
ログレベルが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 |
|---|---|---|---|
|
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"
関連ドキュメント
Docker + Streamlit UI統合 - Docker環境での実行方法
開発者ガイド - 開発環境の詳細
クイックスタート - Mixseek-Coreの基本的な使い方