# 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`)。