|
|
||
|---|---|---|
| scripts | ||
| src | ||
| templates-docs | ||
| .env.example | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Caddyfile | ||
| Dockerfile | ||
| README.md | ||
| docker-compose.yml | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| tailwind.config.js | ||
| tsconfig.json | ||
README.md
IT 设备资产管理系统
基于 Next.js + SQLite 的 IT 设备资产管理系统(CMDB),域名为 assets.tlyq.ai,管理 GPU 服务器、存储服务器等 120+ 台设备的硬件信息,通过 REST API 对外提供服务。
技术栈
| 分类 | 技术 |
|---|---|
| 框架 | Next.js 15 + TypeScript |
| UI | React 19 + Tailwind CSS v4 + lucide-react |
| 数据库 | SQLite(better-sqlite3,WAL 模式) |
| 认证 | JWT(cookie 方式)+ 自定义 session + API Key |
功能
- 设备 CRUD(创建、编辑、删除、搜索、筛选)
- 设备状态管理(腾讯使用 / 已回收(退役) / 备件 / 借用 / 故障)
- 设备详情(含硬件信息、历史工单卡片)
- 工单历史联动(调用 issue-ai API 获取同 IP 历史工单)
- API Key 管理(支持服务间调用认证)
- 用户/角色权限管理
- Excel 导出设备清单
设备字段
| 字段 | 说明 |
|---|---|
| node_name | 节点名称 |
| serial_number | 序列号 |
| device_type | 设备类型(GPU服务器 / 存储服务器) |
| business_ip | 业务 IP |
| hdm_ip | HDM 管理 IP |
| manufacturer | 厂商 |
| device_model | 设备型号 |
| status | 设备状态 |
| cabinet | 机柜 |
| asset_number | 资产编号 |
| remark | 备注 |
API 路由
| 方法 | 路径 | 说明 |
|---|---|---|
| GET/POST | /api/assets |
设备列表 / 创建设备 |
| GET/PUT/DELETE | /api/assets/[id] |
单个设备操作 |
| GET/POST | /api/api-keys |
API Key 管理 |
| GET/POST | /api/users |
用户管理 |
| GET | /api/stats |
统计概览 |
……
与 issue.tlyq.ai 联动
assets-ai 向 issue-ai 提供设备信息,issue-ai 在工单管理中根据 IP 自动关联设备并展示详情卡片。同时 assets-ai 设备详情页调用 issue-ai API 展示同 IP 历史工单。
issue-ai ──→ GET /api/assets?search=IP (获取设备信息)
assets-ai ──→ GET /api/tickets/by-asset?ip=X (获取历史工单)
认证方式:双向 API Key(Authorization: Bearer ak_xxx)。