mission-control
Interact with Mission Control — AI agent orchestration dashboard. Use when registering agents, managing tasks, syncing skills, or querying agent/task status via MC APIs.
含まれるファイル(200)
- SKILL.md8.2 KB
- .dockerignore231 B
- .env.example11.1 KB
- .env.test191 B
- .github/CODEOWNERS76 B
- .github/dependabot.yml1.4 KB
- .github/FUNDING.yml31 B
- .github/ISSUE_TEMPLATE/bug_report.yml1.9 KB
- .github/ISSUE_TEMPLATE/config.yml261 B
- .github/ISSUE_TEMPLATE/feature_request.yml2.3 KB
- .github/pull_request_template.md825 B
- .github/workflows/codeql.yml951 B
- .github/workflows/config-integrity.yml2.5 KB
- .github/workflows/docker-publish.yml2.4 KB
- .github/workflows/osv-scanner.yml557 B
- .github/workflows/quality-gate.yml1.8 KB
- .github/workflows/scorecard.yml1.2 KB
- .github/workflows/screenshot-drift.yml3.9 KB
- .github/workflows/star-chart.yml1.1 KB
- .gitignore695 B
- .node-version3 B
- .npmrc48 B
- .nvmrc3 B
- CHANGELOG.md20.3 KB
- CLAUDE.md3.3 KB
- CODE_OF_CONDUCT.md5.4 KB
- CONTRIBUTING.md2.1 KB
- docker-compose.hardened.yml486 B
- docker-compose.yml3.0 KB
- docker-entrypoint.sh1.3 KB
- Dockerfile4.6 KB
- docs/agent-setup.md9.9 KB
- docs/cli-agent-control.md4.2 KB
- docs/cli-integration.md3.3 KB
- docs/deployment.md23.7 KB
- docs/mission-control-activity.png45.6 KB
- docs/mission-control-agents.png59.6 KB
- docs/mission-control-cron.png62.3 KB
- docs/mission-control-memory.png37.5 KB
- docs/mission-control-overview.png44.8 KB
- docs/mission-control-tasks.png85.9 KB
- docs/openclaw-config-compatibility.md1.4 KB
- docs/operator-field-notes.webp74.5 KB
- docs/orchestration.md10.5 KB
- docs/plans/2026-03-10-onboarding-walkthrough-hardening.md1.1 KB
- docs/plans/2026-03-20-mission-control-platform-cli-tui-prd.md8.4 KB
- docs/quickstart.md7.6 KB
- docs/releases/2.0.0.md10.0 KB
- docs/releases/2.0.1.md4.6 KB
- docs/releases/2.2.0.md2.5 KB
- docs/releases/2.3.0.md2.8 KB
- docs/SCREENSHOT-GUIDE.md2.9 KB
- docs/SECURITY-HARDENING.md12.7 KB
- docs/star-history-dark.svg5.5 KB
- docs/star-history-light.svg5.5 KB
- eslint.config.mjs1.4 KB
- examples/MULTI-PROVIDER-DEMO.md38.4 KB
- install.ps116.1 KB
- install.sh15.7 KB
- LICENSE1.0 KB
- messages/ar.json108.2 KB
- messages/de.json91.6 KB
- messages/en.json83.2 KB
- messages/es.json92.2 KB
- messages/fr.json94.8 KB
- messages/ja.json102.0 KB
- messages/ko.json92.7 KB
- messages/pt.json91.7 KB
- messages/ru.json122.0 KB
- messages/zh-tw.json82.3 KB
- messages/zh.json82.0 KB
- next.config.js2.4 KB
- openapi.json330.6 KB
- openclaw_hardening_guide.md6.9 KB
- ops/mc-provisioner-daemon.js11.6 KB
- ops/provisioner-limits.cjs907 B
- ops/templates/openclaw-gateway@.service567 B
- package.json4.2 KB
- playwright.config.ts1.3 KB
- playwright.openclaw.gateway.config.ts627 B
- playwright.openclaw.local.config.ts625 B
- pnpm-lock.yaml328.7 KB
- pnpm-workspace.yaml743 B
- postcss.config.js71 B
- public/brand/claude-logo.png61.4 KB
- public/brand/codex-logo.png2.8 KB
- public/brand/hermes-logo.png24.8 KB
- public/brand/mc-logo-128.png16.7 KB
- public/brand/mc-logo-256.png63.0 KB
- public/brand/mc-logo-512.png279.3 KB
- public/brand/openclaw-logo.png25.1 KB
- public/llms.txt1.3 KB
- public/mc-logo.png1.8 MB
- public/mc.png2.3 MB
- public/office-sprites/cc0-hero/ATTRIBUTION-CC0-HERO.txt210 B
- public/office-sprites/cc0-hero/player_full_animation.png49.4 KB
- public/office-sprites/cc0-hero/player.png13.6 KB
- public/office-sprites/desk.svg665 B
- public/office-sprites/floor-tile.svg436 B
- public/office-sprites/kenney/ATTRIBUTION-KENNEY.txt575 B
- public/office-sprites/kenney/chairDesk.png997 B
- public/office-sprites/kenney/computerScreen.png353 B
- public/office-sprites/kenney/desk.png560 B
- public/office-sprites/kenney/floorFull.png795 B
- public/office-sprites/kenney/plantSmall1.png257 B
- public/office-sprites/kenney/plantSmall2.png248 B
- public/office-sprites/kenney/rugRectangle.png418 B
- public/office-sprites/kenney/tableCross.png512 B
- public/office-sprites/lounge-rug.svg358 B
- public/office-sprites/plant.svg487 B
- public/office-sprites/worker-base.svg603 B
- public/office-sprites/worker-idle-a.svg603 B
- public/office-sprites/worker-idle-b.svg603 B
- public/office-sprites/worker-type-a.svg601 B
- public/office-sprites/worker-type-b.svg601 B
- public/office-sprites/worker-walk-a.svg603 B
- public/office-sprites/worker-walk-b.svg603 B
- public/robots.txt198 B
- README.md11.9 KB
- RELEASE.md1.6 KB
- scripts/agent-heartbeat.sh7.1 KB
- scripts/api-contract-parity.ignore670 B
- scripts/check-api-contract-parity.mjs5.1 KB
- scripts/check-node-version.mjs681 B
- scripts/check-standalone-artifact.mjs2.4 KB
- scripts/check-workflow-action-pins.py1.3 KB
- scripts/deploy-standalone.sh6.2 KB
- scripts/e2e-openclaw/bin/clawdbot353 B
- scripts/e2e-openclaw/bin/openclaw353 B
- scripts/e2e-openclaw/bin/opencode699 B
- scripts/e2e-openclaw/mock-gateway.mjs1.5 KB
- scripts/e2e-openclaw/start-e2e-server.mjs8.4 KB
- scripts/gen-star-history.py5.8 KB
- scripts/generate-env.sh2.4 KB
- scripts/load-env.sh2.1 KB
- scripts/load-env.test.sh1.9 KB
- scripts/mc-base-url.cjs1.0 KB
- scripts/mc-cli.cjs25.4 KB
- scripts/mc-mcp-server.cjs30.1 KB
- scripts/mc-server.cjs2.8 KB
- scripts/mc-tui.cjs45.9 KB
- scripts/notification-daemon.sh10.1 KB
- scripts/prepare-standalone-artifact.mjs1.8 KB
- scripts/security-audit.sh6.5 KB
- scripts/security-audit.test.sh1.4 KB
- scripts/smoke-staging.mjs5.3 KB
- scripts/start-standalone.sh1.5 KB
- scripts/station-doctor.sh6.7 KB
- scripts/take-screenshots.ts3.2 KB
- SECURITY.md2.5 KB
- skills/mission-control-installer/README.md1.7 KB
- skills/mission-control-installer/skill.json786 B
- skills/mission-control-manage/README.md2.6 KB
- skills/mission-control-manage/skill.json605 B
- src/app/[[...panel]]/page.tsx26.8 KB
- src/app/api/activities/route.ts7.7 KB
- src/app/api/adapters/route.ts4.3 KB
- src/app/api/agent-runtimes/route.ts3.9 KB
- src/app/api/agents/[id]/attribution/route.ts12.1 KB
- src/app/api/agents/[id]/diagnostics/route.ts14.2 KB
- src/app/api/agents/[id]/files/route.ts6.3 KB
- src/app/api/agents/[id]/heartbeat/route.ts8.9 KB
- src/app/api/agents/[id]/hide/route.ts2.6 KB
- src/app/api/agents/[id]/keys/route.ts7.1 KB
- src/app/api/agents/[id]/memory/route.ts11.2 KB
- src/app/api/agents/[id]/route.ts11.0 KB
- src/app/api/agents/[id]/soul/route.ts11.0 KB
- src/app/api/agents/[id]/wake/route.ts2.1 KB
- src/app/api/agents/comms/route.ts5.8 KB
- src/app/api/agents/evals/route.ts5.7 KB
- src/app/api/agents/message/route.ts3.3 KB
- src/app/api/agents/optimize/route.ts3.6 KB
- src/app/api/agents/register/route.ts4.7 KB
- src/app/api/agents/route.ts17.0 KB
- src/app/api/agents/sync/route.ts2.3 KB
- src/app/api/alerts/route.ts12.9 KB
- src/app/api/audit/route.ts1.9 KB
- src/app/api/auth/access-requests/route.ts5.4 KB
- src/app/api/auth/google/disconnect/route.ts1.4 KB
- src/app/api/auth/google/route.ts4.4 KB
- src/app/api/auth/login/route.ts2.6 KB
- src/app/api/auth/logout/route.test.ts2.0 KB
- src/app/api/auth/logout/route.ts1.3 KB
- src/app/api/auth/me/route.ts5.1 KB
- src/app/api/auth/users/route.ts7.1 KB
- src/app/api/backup/route.ts6.4 KB
- src/app/api/channels/route.ts9.9 KB
- src/app/api/chat/conversations/route.ts3.6 KB
- src/app/api/chat/messages/[id]/route.ts2.6 KB
- src/app/api/chat/messages/route.ts26.9 KB
- src/app/api/chat/session-prefs/route.ts4.0 KB
- src/app/api/claude-tasks/route.ts907 B
- src/app/api/claude/sessions/route.ts3.8 KB
- src/app/api/cleanup/route.ts7.2 KB
- src/app/api/connect/route.ts6.1 KB
- src/app/api/cron/route.ts14.6 KB
- src/app/api/debug/route.ts5.8 KB
- src/app/api/diagnostics/route.ts6.7 KB
- src/app/api/docs/content/route.ts1.4 KB
- src/app/api/docs/route.ts464 B
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Mission Control Agent Skill
Mission Control (MC) is an AI agent orchestration dashboard with real-time SSE/WebSocket, a skill registry, framework adapters, and RBAC. This skill teaches agents how to interact with MC APIs programmatically.
Quick Start
Base URL: http://localhost:3000 (default Next.js dev) or your deployed host.
Auth header: x-api-key: <your-api-key>
Register + heartbeat in two calls:
# 1. Register
curl -X POST http://localhost:3000/api/adapters \
-H "Content-Type: application/json" \
-H "x-api-key: $MC_API_KEY" \
-d '{
"framework": "generic",
"action": "register",
"payload": { "agentId": "my-agent-01", "name": "My Agent" }
}'
# 2. Heartbeat (repeat every 5 minutes)
curl -X POST http://localhost:3000/api/adapters \
-H "Content-Type: application/json" \
-H "x-api-key: $MC_API_KEY" \
-d '{
"framework": "generic",
"action": "heartbeat",
"payload": { "agentId": "my-agent-01", "status": "online" }
}'
Authentication
MC supports two auth methods:
| Method | Header | Use Case |
|---|---|---|
| API Key | x-api-key: <key> or Authorization: Bearer <key> | Agents, scripts, CI/CD |
| Session cookie | Cookie: __Host-mc-session=<token> (HTTPS) or mc-session=<token> (HTTP) | Browser UI |
Roles (hierarchical): viewer < operator < admin
- viewer — Read-only access (GET endpoints)
- operator — Create/update agents, tasks, skills, use adapters
- admin — Full access including user management
API key auth grants admin role by default. The key is set via API_KEY env var or the security.api_key DB setting.
Agents can identify themselves with the optional X-Agent-Name header for attribution in audit logs.
Agent Lifecycle
register → heartbeat (5m interval) → fetch assignments → report task status → disconnect
All lifecycle actions go through the adapter protocol (POST /api/adapters).
1. Register
{
"framework": "generic",
"action": "register",
"payload": {
"agentId": "my-agent-01",
"name": "My Agent",
"metadata": { "version": "1.0", "capabilities": ["code", "review"] }
}
}
2. Heartbeat
Send every ~5 minutes to stay marked as online.
{
"framework": "generic",
"action": "heartbeat",
"payload": {
"agentId": "my-agent-01",
"status": "online",
"metrics": { "tasks_completed": 5, "uptime_seconds": 3600 }
}
}
3. Fetch Assignments
Returns up to 5 pending tasks sorted by priority (critical → low), then due date.
{
"framework": "generic",
"action": "assignments",
"payload": { "agentId": "my-agent-01" }
}
Response:
{
"assignments": [
{ "taskId": "42", "description": "Fix login bug\nUsers cannot log in with SSO", "priority": 1 }
],
"framework": "generic"
}
4. Report Task Progress
{
"framework": "generic",
"action": "report",
"payload": {
"taskId": "42",
"agentId": "my-agent-01",
"progress": 75,
"status": "in_progress",
"output": "Fixed SSO handler, running tests..."
}
}
status values: in_progress, done, failed, blocked
5. Disconnect
{
"framework": "generic",
"action": "disconnect",
"payload": { "agentId": "my-agent-01" }
}
Core API Reference
Agents — /api/agents
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List agents. Query: ?status=online&role=dev&limit=50&offset=0 |
| POST | operator | Create agent. Body: { name, role, status?, config?, template?, session_key?, soul_content? } |
| PUT | operator | Update agent. Body: { name, status?, role?, config?, session_key?, soul_content?, last_activity? } |
GET response shape:
{
"agents": [{
"id": 1, "name": "scout", "role": "researcher", "status": "online",
"config": {}, "taskStats": { "total": 10, "assigned": 2, "in_progress": 1, "completed": 7 }
}],
"total": 1, "page": 1, "limit": 50
}
Tasks — /api/tasks
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List tasks. Query: ?status=in_progress&assigned_to=scout&priority=high&project_id=1&limit=50&offset=0 |
| POST | operator | Create task. Body: { title, description?, status?, priority?, assigned_to?, project_id?, tags?, metadata?, due_date?, estimated_hours? } |
| PUT | operator | Bulk status update. Body: { tasks: [{ id, status }] } |
Priority values: critical, high, medium, low
Status values: inbox, assigned, in_progress, review, done, failed, blocked, cancelled
Note: Moving a task to done via PUT requires an Aegis quality review approval.
POST response:
{
"task": {
"id": 42, "title": "Fix login bug", "status": "assigned",
"priority": "high", "assigned_to": "scout", "ticket_ref": "GEN-001",
"tags": ["bug"], "metadata": {}
}
}
Skills — /api/skills
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List all skills across roots |
GET ?mode=content&source=...&name=... | viewer | Read a skill's SKILL.md content |
GET ?mode=check&source=...&name=... | viewer | Run security check on a skill |
| POST | operator | Create/upsert skill. Body: { source, name, content } |
| PUT | operator | Update skill content. Body: { source, name, content } |
DELETE ?source=...&name=... | operator | Delete a skill |
Skill sources: user-agents, user-codex, project-agents, project-codex, openclaw
Status — /api/status
| Action | Min Role | Description |
|---|---|---|
GET ?action=overview | viewer | System status (uptime, memory, disk, sessions) |
GET ?action=dashboard | viewer | Aggregated dashboard data with DB stats |
GET ?action=gateway | viewer | Gateway process status and port check |
GET ?action=models | viewer | Available AI models (catalog + local Ollama) |
GET ?action=health | viewer | Health checks (gateway, disk, memory) |
GET ?action=capabilities | viewer | Feature flags: gateway reachable, Claude home, subscriptions |
Adapters — /api/adapters
| Method | Min Role | Description |
|---|---|---|
| GET | viewer | List available framework adapter names |
| POST | operator | Execute adapter action (see Agent Lifecycle above) |
Framework Adapter Protocol
All agent lifecycle operations use a single endpoint:
POST /api/adapters
Content-Type: application/json
x-api-key: <key>
{
"framework": "<adapter-name>",
"action": "<action>",
"payload": { ... }
}
Available frameworks: generic, openclaw, crewai, langgraph, autogen, claude-sdk
Available actions: register, heartbeat, report, assignments, disconnect
All adapters implement the same FrameworkAdapter interface — choose the one matching your agent framework, or use generic as a universal fallback.
Payload shapes by action:
| Action | Required Fields | Optional Fields |
|---|---|---|
register | agentId, name | metadata |
heartbeat | agentId | status, metrics |
report | taskId, agentId | progress, status, output |
assignments | agentId | — |
disconnect | agentId | — |
Environment Variables
| Variable | Default | Description |
|---|---|---|
API_KEY | — | API key for agent/script authentication |
OPENCLAW_GATEWAY_HOST | 127.0.0.1 | Gateway host address |
OPENCLAW_GATEWAY_PORT | 18789 | Gateway port |
OPENCLAW_STATE_DIR | ~/.openclaw | OpenClaw state directory |
OPENCLAW_CONFIG_PATH | <state-dir>/openclaw.json | Gateway config file path |
MC_CLAUDE_HOME | ~/.claude | Claude home directory |
Real-Time Events
MC broadcasts events via SSE (/api/events) and WebSocket. Key event types:
agent.created,agent.updated,agent.status_changedtask.created,task.updated,task.status_changed
Subscribe to SSE for live dashboard updates when building integrations.
レビュー
まだレビューはありません。使ってみた感想をお寄せください。