Self-hosted control plane for AI agents, automations, approvals, and failure triage.
AgentDock is an operator cockpit for developers who run multiple AI agents, cron jobs, MCP tools, and personal/team automations. It answers the daily operational questions that generic dashboards do not:
- Which agents/jobs ran recently?
- What failed, and what should I check next?
- Which risky actions are waiting for approval?
- Which connectors are degraded or stale?
- What should the operator review today?
AI agents are becoming part of everyday development workflows, but their operational state is usually scattered across logs, GitHub, cron, chat threads, observability tools, and local scripts. AgentDock focuses on the missing control-plane layer: visibility, triage, approvals, connector health, and auditability.
This is not a generic personal dashboard. AgentDock is built around agent operations:
| Surface | Purpose |
|---|---|
| Today Cockpit | Prioritized operator queue for blocked actions, approvals, failures, and events |
| Agent Registry | Agent/job status, risk level, last run, and last output |
| Pending Approval | Risky actions that must not run without operator review |
| Failure Triage | Probable cause and suggested next check for failed automations |
| Connectors | Read-only health view of cron/GitHub/calendar/log connectors |
| Activity Timeline | Recent agent and automation events |
AgentDock v0.1 is intentionally read-only. It demonstrates the control-plane shape without requiring production credentials, OAuth, or external write actions.
- Dependency-free Node.js server.
- Static dashboard UI.
- JSON-backed sample read model.
- Redacted public state and summary APIs.
- Fail-closed action boundary: every
POST /api/*returns405withread_only: true. - Contract tests for summary, redaction, fail-closed POSTs, and UI surfaces.
- GitHub Actions CI workflow.
Requirements:
- Node.js 22+
git clone https://github.com/j-yoon08/agentdock.git
cd agentdock
npm run check
npm test
npm startOpen:
http://127.0.0.1:4177
| Endpoint | Method | Description |
|---|---|---|
/api/health |
GET | Liveness and product mode |
/api/summary |
GET | KPIs, overall health, today queue, risk counts |
/api/state |
GET | Redacted public read model |
/api/* |
POST | Blocked in v0.1, returns 405 and read_only: true |
Example:
curl -sS http://127.0.0.1:4177/api/summaryAgentDock starts from a conservative boundary:
- Read-only connectors first.
- Approval queue before any external write.
- Fail-closed POST/action routes.
- Redacted event and failure summaries.
- Local/self-hosted by default.
Future action execution should require a durable approval request, exact action fingerprint, operator receipt, policy revalidation, append-only audit log, and replay protection.
data/sample-state.json sample agent/approval/failure/event/connector state
src/control-plane.js normalize, redact, summarize read model
src/server.js GET-only API and static file server
public/ dashboard UI
test/ node:test contract tests
docs/ architecture, roadmap, product brief, submission materials
- v0.2: read-only connector interface, cron connector, GitHub connector, local log connector.
- v0.3: SQLite persistence, append-only event ledger, approval request/receipt schema.
- v0.4: approval detail page, acknowledge/snooze/edit receipt flow, GitHub PR/report integration.
- v1.0: self-hosted agent operations console with approval-gated action bridges.
See docs/roadmap.md for details.
MIT — see LICENSE.
