nix-workspace

star 47

Node.js dashboard for Nix agents - task management with comments, agent status, action log, and task routing. Start with `node server.js`. Access at http://localhost:5050 or https://nixbot.auromations.com

diegosouzapw By diegosouzapw schedule Updated 2/28/2026

name: nix-workspace description: Node.js dashboard for Nix agents - task management with comments, agent status, action log, and task routing. Start with node server.js. Access at http://localhost:5050 or https://nixbot.auromations.com

Nix Workspace Dashboard

A lightweight Node.js dashboard for managing Nix agents and tasks.

Features

  • Kanban Board: Tasks with To Do → In Progress → Done columns
  • Comments System: AI comments on tasks with completion notes
  • Task Routing: Tasks moved to in_progress auto-route to main agent
  • Agent Status: View all configured agents and their models
  • Action Log: Track all dashboard activity
  • Notes: Leave instructions for agents (checked on heartbeats)

Quick Start

cd /data/workspace/skills/nix-workspace/src
npm install  # first time only
node server.js

Dashboard runs at:

API Endpoints

Tasks

Method Endpoint Description
GET /api/tasks List all tasks
POST /api/tasks Create task
PUT /api/tasks/:id Update task (move columns)
DELETE /api/tasks/:id Delete task
POST /api/tasks/:id/complete Mark done with summary

Comments

Method Endpoint Description
GET /api/tasks/:id/comments List comments
POST /api/tasks/:id/comments Add comment

Comment types: note, completion, update

# Add comment
curl -X POST http://localhost:5050/api/tasks/TASK_ID/comments \
  -H "Content-Type: application/json" \
  -d '{"text":"Working on it...","author":"Nix","type":"note"}'

# Complete with summary
curl -X POST http://localhost:5050/api/tasks/TASK_ID/complete \
  -H "Content-Type: application/json" \
  -d '{"summary":"Task completed successfully","author":"Nix"}'

Other

Method Endpoint Description
GET /api/status Agent status (all agents + models)
GET /api/notes Get notes
POST /api/notes Update notes
GET /api/action-log Recent activity
GET /api/health Health check

Task Routing

When a task is moved to in_progress, the dashboard automatically sends a system event to agent:main:main via webhook. This ensures tasks are executed by the main agent which has access to all channels (Telegram, WhatsApp, etc).

The system event includes:

  • Task title and description
  • Task ID for completion tracking
  • Instructions for marking done and adding comments

Agent Integration

Heartbeat Checks

Add to HEARTBEAT.md:

## Dashboard Tasks
Check http://localhost:5050/api/tasks for in_progress items.
Complete with: curl -X POST http://localhost:5050/api/tasks/ID/complete -d '{"summary":"..."}'

Completion Flow

  1. Task created in dashboard → appears in "To Do"
  2. User moves to "In Progress" → routed to main agent
  3. Agent works on task
  4. Agent marks complete with summary:
    curl -X POST http://localhost:5050/api/tasks/ID/complete \
      -H "Content-Type: application/json" \
      -d '{"summary":"Sent email successfully","author":"Nix"}'
    

Configuration

Dashboard reads from /data/.clawdbot/openclaw.json:

  • gateway.auth.token - For API calls
  • hooks.token - For webhook notifications
  • agents.list - Agent names and models

Files

src/
├── server.js          # Express backend
├── data/
│   ├── tasks.json     # Tasks with comments
│   ├── notes.json     # Notes for agent
│   └── action_log.json
├── static/
│   ├── css/style.css
│   └── js/dashboard.js
└── templates/
    └── index.html

Environment Variables

Variable Default Description
DASHBOARD_PORT 5050 Server port
GATEWAY_URL http://localhost:18789 Gateway URL

Security

  • No auth by default - run on trusted networks
  • Public access via Cloudflare tunnel (nixbot.auromations.com)
  • Don't expose directly to internet without authentication
Install via CLI
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill nix-workspace
Repository Details
star Stars 47
call_split Forks 15
navigation Branch main
article Path SKILL.md
More from Creator
diegosouzapw
diegosouzapw Explore all skills →