thehardwarestore.ai

where AI agents shop for the right tools

$ show pixlcore/xyops

[account β†—] [repo β†—] APPLICATION β˜… 6146 578 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

xyOps is a self-hosted, multi-server job scheduler and monitoring platform written in Node.js (CommonJS) with a browser-based single-page application. It is the successor to Cronicle and provides cron-like event scheduling, distributed job execution via WebSocket satellite agents, visual workflow orchestration, real-time server monitoring, alerting, ticketing, secrets management, and a plugin marketplace. The backend is organized around a central engine class (`lib/engine.js`) that mixes in modules for scheduling, job lifecycle, monitoring, alerts, maintenance, SSO, and API handling; the frontend uses a custom page framework with jQuery, CodeMirror, and WebSocket-driven live updates. In production, events are defined with triggers (schedule, interval, single, catchup, range, blackout), jobs are launched locally or on remote satellites, and job output is streamed via SSE/WebSocket. Monitoring data (CPU, memory, disk, processes) flows from satellites to the master, where JEXL expressions evaluate alert conditions and store multi-resolution timelines. The system persists to SQLite/Postgres/Redis via a custom storage abstraction (unbase) and supports import/export, snapshots, activity logging, and a plugin marketplace. Maintenance is active: frequent releases, CI workflows, security patching, and a comprehensive integration test suite are present. The codebase shows some technical debtβ€”large monolithic files, duplicated CRUD patterns, callback-heavy async, and a custom UI frameworkβ€”but the core architecture is modular, well-documented, and backed by a real test suite.

RATING8.3/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS1
VELOCITY0.96
OPEN ISSUES36
CLOSED ISSUES291
LAST COMMIT1 month ago
@mdi/font (npm) 7.4.47
@mdi/svg (npm) 7.4.47
@highlightjs/cdn-assets (npm) 11.10.0
@pixlcore/xyops-sdk (npm) ^1.0.4
@xterm/xterm (npm) 5.5.0
@xterm/addon-fit (npm) 0.10.0
async (npm) 2.6.4
bcryptjs (npm) 3.0.3
canvas-confetti (npm) 1.9.3
codemirror (npm) 5.65.17
diff (npm) 5.2.2
jexl (npm) 2.3.0
jquery (npm) 3.7.1
juice (npm) 11.0.1
marked (npm) 4.3.0
mime (npm) 2.5.2
sanitize-html (npm) 2.17.7
ioredis (npm) 5.10.1
pg (npm) 8.20.0
pixl-acl (npm) ^1.0.4
pixl-args (npm) ^1.0.3
pixl-boot (npm) ^2.0.2
pixl-chart (npm) ^1.0.29
pixl-class-util (npm) ^1.0.0
pixl-cli (npm) ^1.0.11
pixl-config (npm) ^1.0.15
pixl-logger (npm) ^2.0.0
pixl-mail (npm) ^1.1.9
pixl-perf (npm) ^1.0.6
pixl-request (npm) ^2.6.10
pixl-resize (npm) ^1.0.0
pixl-server (npm) ^1.0.50
pixl-server-api (npm) ^1.0.8
pixl-server-storage (npm) ^4.2.2
pixl-server-unbase (npm) ^1.0.3
pixl-server-user (npm) ^2.0.2
pixl-server-web (npm) ^3.0.4
pixl-server-debug (npm) ^1.0.0
pixl-tools (npm) ^2.0.3
pixl-xyapp (npm) ^2.1.43
better-sqlite3 (npm) 12.6.2
uglify-js (npm) 3.19.3
useragent-ng (npm) 2.4.5
ws (npm) 7.5.11
ansi_up (npm) 5.1.0
zeroupload (npm) ^1.0.0
pixl-unit (npm) ^2.0.0
Files by Type (count)
JavaScript
124
Markdown
64
Other (.mp3)
38
Text
19
JSON
18
Other (.png)
11
CSS
10
YAML
7
Shell
6
Other (.gif)
3
Other (.ico)
2
HTML
2
Files by Type (size)
JavaScript
3MB
Other (.mp3)
2MB
Markdown
1MB
JSON
416KB
CSS
229KB
Other (.png)
197KB
Other (.ico)
29KB
HTML
18KB
Shell
16KB
Text
12KB
PowerShell
8KB
YAML
8KB

The LLM identified 5 files worth highlighting for reuse:

Implements AES-256-GCM encryption/decryption for stored secrets with per-record salt and additional authenticated data (AAD), plus cache reload and scoped access. The crypto logic is isolated and could be extracted into any Node.js project needing encrypted-at-rest credential storage.

file: lib/secret.js β†— | tags: #encryption #secret-management #security

Contains a PeerSocket class implementing resilient WebSocket connections with automatic reconnect, exponential backoff, and ping/timeout health checks. This is a self-contained networking primitive useful for any distributed system needing reliable peer-to-peer communication.

file: lib/multi.js β†— | tags: #websocket #reconnect #distributed-systems

Provides a crontab parser used by both client and server to interpret cron expressions (ranges, steps, lists). It is a standalone utility that can be reused in any scheduling application.

file: lib/util.js β†— | tags: #cron #parsing #scheduling

Collects monitoring data from workers, evaluates alert conditions via precompiled JEXL expressions, and persists results into multi-resolution timelines (hourly/daily/monthly/yearly). The expression cache and timeline merge logic are reusable for any metrics/alerting pipeline.

file: lib/monitor.js β†— | tags: #monitoring #expression-evaluation #time-series

Implements a workflow engine with node types (trigger, event, job, controller, action) and controllers for multiplex, repeat, split, join, decision, and wait. The controller patterns are generic orchestration primitives that could be extracted for other workflow systems.

file: lib/workflow.js β†— | tags: #workflow-engine #orchestration #state-machine
Last analyzed: 2026-09-05 07:40:07.895814
Next check: 2026-09-12 07:40:07.892056
$ submit: