netops-asset-manager

Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a Go + Vue 3 platform with real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, and PM2 process management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux. Use when the user asks about IT asset management, network device operations, infrastructure monitoring, SSH device control, or development on this Go + Vue 3 platform.

7 stars

Best use case

netops-asset-manager is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a modern Go + Vue 3 web platform. Provides real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, PM2 process management, AI-assisted operations (OpenClaw), and LLM model management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux systems. Single binary deployment with embedded SPA frontend.

Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a Go + Vue 3 platform with real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, and PM2 process management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux. Use when the user asks about IT asset management, network device operations, infrastructure monitoring, SSH device control, or development on this Go + Vue 3 platform.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "netops-asset-manager" skill to help with this workflow task. Context: Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a modern Go + Vue 3 web platform. Provides real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, PM2 process management, AI-assisted operations (OpenClaw), and LLM model management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux systems. Single binary deployment with embedded SPA frontend.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

How netops-asset-manager Compares

Feature / Agentnetops-asset-managerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a Go + Vue 3 platform with real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, and PM2 process management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux. Use when the user asks about IT asset management, network device operations, infrastructure monitoring, SSH device control, or development on this Go + Vue 3 platform.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# NetOps Asset Manager

Go + Vue 3 IT infrastructure asset management platform. Single binary deployment with embedded frontend.

## Capabilities

1. **Device Management**: CRUD for network devices with vendor auto-detection (H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, Linux), SSH credential storage, and bulk Excel/CSV import.
2. **Health Monitoring**: Background ICMP ping + TCP:22 probing every 5 minutes; auto-updates device online/offline status.
3. **SSH Operations**: Native Go SSH client for remote reboot and running-config backup with vendor-aware commands.
4. **Network Discovery**: Nmap subnet scanning to find new devices.
5. **AI Assistant**: OpenClaw chat with intent-based asset auto-registration.
6. **Topology Visualization**: Interactive vis-network graph of device connections.
7. **PM2 Management**: Monitor, restart, stop, and deploy PM2 processes across machines.
8. **Model Management**: CRUD for AI model configs synced to OpenClaw.
9. **System Deployment**: One-click Docker, vLLM, and llama.cpp deployment.

## Architecture

```
backend/                          # Go (Gin + Ent ORM)
├── cmd/server/main.go            # Server entry point
├── cmd/migrate/main.go           # Data migration tool
├── ent/schema/                   # Database models
└── internal/
    ├── auth/                     # JWT + bcrypt + RBAC middleware
    ├── handler/                  # API handlers (13 files)
    ├── router/                   # Route registration
    ├── service/health/           # ICMP/TCP prober + scheduler
    ├── service/ssh/              # SSH client, reboot, backup
    ├── service/importer/         # Excel parser
    └── embedded/                 # Frontend embed.FS

frontend/                         # Vue 3.4 + Vite 5 + TailwindCSS
├── src/stores/                   # Pinia state management
├── src/views/                    # 8 view pages
└── vite.config.ts
```

## API Endpoints

| Method | Path | Auth | Description |
|---|---|---|---|
| POST | `/api/users/login` | Public | Login, returns JWT |
| GET | `/api/inventory` | Bearer | List devices |
| POST | `/api/inventory/add` | operator+ | Add device |
| PUT | `/api/inventory/:ip` | operator+ | Update device |
| DELETE | `/api/inventory/:ip` | operator+ | Delete device |
| POST | `/api/inventory/reboot/:ip` | operator+ | SSH reboot |
| POST | `/api/inventory/backup/:ip` | operator+ | SSH config backup |
| POST | `/api/inventory/import` | operator+ | Bulk Excel import |
| GET | `/api/stats` | Bearer | Dashboard statistics |
| POST | `/api/discover` | operator+ | Nmap subnet scan |
| GET/POST/DELETE | `/api/topology/links` | Bearer/operator+ | Topology links |
| GET/POST/PUT/DELETE | `/api/models` | Bearer/root | AI model config |
| GET/POST | `/api/pm2/*` | Bearer/operator+ | PM2 management |
| POST | `/api/chat` | Bearer | AI assistant |
| GET | `/api/system/info` | Bearer | System info |

## Safe Operation Guidelines

### SSH Reboot (`POST /api/inventory/reboot/:ip`)
1. **Verify** the target device IP and confirm intent before calling this endpoint — reboots are immediate and non-reversible.
2. The SSH connection drops on success (expected). A `200` response means the reboot command was sent.
3. **Verify recovery**: wait 2–5 minutes, then check `GET /api/inventory` for the device's health status to confirm it came back online.
4. **If the device stays offline**: check physical connectivity, SSH credentials, and console access. The health prober will update status within one probe interval (default 5 min).

### Config Backup (`POST /api/inventory/backup/:ip`)
1. Confirm the device vendor is correct in the inventory — wrong vendor → wrong command → empty or garbled output.
2. After backup, verify the response contains configuration text (not an error or empty string).
3. Backups are stored in PostgreSQL `backup` table; query `GET /api/inventory` or check the database directly to confirm persistence.

### Bulk Import (`POST /api/inventory/import`)
1. **Validate the Excel/CSV** file structure before uploading: required columns are IP, vendor, and device name.
2. Import is additive — existing devices with the same IP are updated, not duplicated.
3. Review the response for per-row success/failure counts. Fix rejected rows and re-import only those.

### Error Recovery
- **SSH timeout** (`SSH_CONNECT_TIMEOUT` default 10s): increase timeout in `config.yaml` or verify device is reachable via `ping`.
- **Database connection failure**: check `DATABASE_URL` in `config.yaml` and verify PostgreSQL is running (`systemctl status postgresql`).
- **Health prober not updating**: confirm the backend process is running and `PROBE_INTERVAL` is set. Check logs for ICMP permission errors (may need `cap_net_raw`).

## Deployment

### Quick Start
```bash
# Prerequisites: Go 1.26+, Node.js 22+, PostgreSQL 15+
createdb netops

# Option A: Run from source
cd frontend && npm install --legacy-peer-deps && cd ..
make run           # Terminal 1: backend on :8081
make dev-frontend  # Terminal 2: frontend on :5173

# Option B: Single binary
make build
./netops    # → http://localhost:8081  (default: admin / admin)
```

### Docker
```bash
make docker-build
docker run -p 8081:8081 \
  -e JWT_SECRET="secret" \
  -v ~/.openclaw:/root/.openclaw \
  netops-asset-manager:latest
```

### Configuration
`config.yaml` (env var overrides via Viper):

| Key | Default | Description |
|---|---|---|
| `PORT` | 8081 | Listen port |
| `DATABASE_URL` | postgres://... | PostgreSQL connection |
| `JWT_SECRET` | (change me) | JWT signing key |
| `JWT_EXPIRY` | 24h | Token TTL |
| `PROBE_INTERVAL` | 5m | Health probe interval |
| `SSH_CONNECT_TIMEOUT` | 10s | SSH connection timeout |

## Vendor → Driver Mapping

| Vendor | Driver | Config Command |
|---|---|---|
| H3C | hp_comware | `display current-configuration` |
| Huawei | huawei | `display current-configuration` |
| Cisco | cisco_ios | `show running-config` |
| MikroTik | mikrotik_routeros | `/export` |
| Linux | linux | `cat /etc/os-release && ip addr` |

## References
- `references/automation.md` — Automation implementation guide (Go SSH client usage, adding vendors)
- `references/vendors.md` — Vendor command reference (switches, routers, firewalls, GPUs, storage)
- `references/dependencies.md` — System dependency guide (Go, Node, PostgreSQL, OS-specific install)
- `references/snmp.md` — SNMP OID reference for polling fallback

Related Skills

context-manager

31392
from sickn33/antigravity-awesome-skills

Elite AI context engineering specialist mastering dynamic context management, vector databases, knowledge graphs, and intelligent memory systems.

azure-resource-manager-playwright-dotnet

31392
from sickn33/antigravity-awesome-skills

Azure Resource Manager SDK for Microsoft Playwright Testing in .NET.

azure-resource-manager-durabletask-dotnet

31392
from sickn33/antigravity-awesome-skills

Azure Resource Manager SDK for Durable Task Scheduler in .NET.

CRM Manager

3891
from openclaw/skills

Manages a local CSV-based CRM with pipeline tracking

Workflow & Productivity

Procurement Manager

3891
from openclaw/skills

You are a procurement specialist agent. Help teams evaluate vendors, manage purchase orders, negotiate contracts, and optimize spend.

Workflow & Productivity

Employee Offboarding Manager

3891
from openclaw/skills

Generate complete offboarding checklists and transition plans when an employee leaves.

Workflow & Productivity

Software License Manager

3891
from openclaw/skills

Audit, track, and optimize your organization's software licenses. Finds waste, flags compliance risks, and builds a renewal calendar.

IT & Operations Management

Inventory & Supply Chain Manager

3891
from openclaw/skills

Complete inventory management, demand forecasting, supplier evaluation, and supply chain optimization for businesses of any size. From stockroom to strategy.

Business Operations

Environmental Compliance Manager

3891
from openclaw/skills

Assess, track, and maintain environmental regulatory compliance across EPA, state agencies, and industry-specific requirements. Built for manufacturing, construction, energy, logistics, and any business with environmental obligations.

Regulatory Compliance

Engineering Manager OS

3891
from openclaw/skills

Complete engineering management system — team building, 1:1s, performance, hiring, architecture decisions, incident management, and scaling. From IC-to-manager transition through director-level operations.

Workflow & Productivity

AI Agent Manager Playbook

3891
from openclaw/skills

Your company deployed AI agents. Now what? This skill turns you into the person who actually makes them productive — the Agent Manager.

Accounts Receivable Manager

3891
from openclaw/skills

Automate AR workflows: aging analysis, collection prioritization, payment follow-ups, cash application, and bad debt forecasting.

Finance & Operations