# skills-smartbadge-ops 智能工牌录音管道(归档 → 清洗 → 讯飞转录 → DeepSeek 报告)的全功能 AI 运维技能(Claude Code Skill)。 一个技能覆盖:巡检、故障自诊断、补跑/重试、OSS 同步、列表排查、报告解读、**月报/年报按需聚合分析**、线上部署核验。 ## 快速开始(在线安装) ```bash # 1. 克隆技能仓库到本地 git clone https://git.fmode.cn/lami/skills-smartbadge-ops.git cd skills-smartbadge-ops # 2. 配置凭据(仅登录密码必需;OSS 四项见下方密钥清单) cp .env.example .env # Windows: copy .env.example .env # 编辑 .env,填写 SMARTBADGE_PASSWORD # 3. 登录并一键核查 node scripts/api.mjs login <密码> node scripts/check-online.mjs ``` 之后 Claude 中直接提问即可(如「昨天管道有问题吗」「帮我出 8 月月报」),技能通过「确认门」交互流程逐步完成。 ### 安装为 Claude/通用 AI 技能(任选其一) - **Claude Code(Windows)**: `cmd /c mklink /D "%USERPROFILE%\.claude\skills\smartbadge-ops" "<本仓库绝对路径>"` - **Claude Code(macOS/Linux)**: `ln -s "<本仓库绝对路径>" ~/.claude/skills/smartbadge-ops` - **其他 AI**: 把仓库目录当作技能目录配置(含 `SKILL.md` 的目录即可)。 ## 环境要求 | 项 | 要求 | |---|---| | Node | >= 18(内建 fetch,零 npm 依赖) | | Python | 仅 `verify-online.py` 需要,含 playwright | | 网络 | 可达 `recording.sh-lami.com`(或本地后端) | | 凭据 | 登录密码;OSS 凭据自动发现自项目 `server/.env` | ## 脚本一览 | 脚本 | 用途 | |---|---| | `scripts/api.mjs` | 任意接口调用(login/get/post/env、--raw、--base) | | `scripts/check-online.mjs` | 线上 12 项断言一键核查(登录/health/错误/归档/列表/实时分流/心跳/设备/互斥) | | `scripts/verify-online.py` | 浏览器 5 页走查,0 pageerror 断言 | | `scripts/oss.mjs` | OSS 直连列举(顶层统计/前缀明细/--json/--find-env) | | `scripts/report-aggregate.mjs` | 区间聚合:窗口内报告 + 逐日对账 → 缺失清单与补跑建议(月报/年报原料) | | `scripts/fetch-report-text.mjs` | 报告正文拉取(HTML→纯文本,供 AI 深度分析) | | `scripts/lib.mjs` | 共享库(凭据回退链/token/httpJson/htmlToText;内部使用) | | `templates/monthly-report.md` | 月报/年报八段分析结构模板 | | `templates/report-html.html` | 可选 HTML 产物模板 | ## 凭据与安全 - 本仓库**不含任何密钥**。登录 token 缓存 `.token`;OSS 凭据从服务端项目 `server/.env` 自动发现,或技能仓库根 `.env`,或进程环境变量。 - 凭据定位回退链:`--env` 参数 > 环境变量 `SMARTBADGE_ENV_FILE` > 技能仓库根 `.env`(cp `.env.example` 填值)> 自动发现(本仓库同级/兄弟目录中名称含 `device|smartbadge` 且带 `server/.env` 的项目)> 已导出的 `OSS_*` 环境变量。 - 排查凭据定位:`node scripts/oss.mjs --find-env`。 - OSS 客户端两态:同机有服务端项目(`server/services/oss-client.js`)时复用其模块;否则自动回退内置零依赖实现(`scripts/oss-client-mini.mjs`,与 ali-oss 签名行为一致)。 ## 给 AI 的完整配置提示(安装时粘贴) **步骤 1**:克隆技能仓库(名称 `smartbadge-ops`)并按上方方式链接到 AI 技能目录。 **步骤 2**:密钥清单。**只需 `SMARTBADGE_PASSWORD` 登录密码**(脚本自动发现同机服务端项目的 `server/.env` 读取 OSS 凭据);无服务端项目的环境才需要 OSS 四项(填入技能仓库 `.env` 或系统环境变量): | 环境变量 | 必填 | 取值来源 | 说明 | |---|---|---|---| | `SMARTBADGE_API_BASE` | 否 | 线上 `https://recording.sh-lami.com` | 或本机后端 `http://localhost:3002` | | `SMARTBADGE_USERNAME` | 否 | 登录用户名 | 脚本默认 `lami123456` | | `SMARTBADGE_PASSWORD` | **是** | API 登录密码(与系统一致) | 唯一必需项 | | `OSS_ACCESS_KEY_ID` | 条件 | 自动发现服务端项目 `server/.env`;无则填入技能仓库 `.env` | 需 OSS 对账时才需要 | | `OSS_ACCESS_KEY_SECRET` | 条件 | 同上 | 需 OSS 对账时才需要 | | `OSS_REGION` | 条件 | 同上(如 `oss-cn-shanghai`) | 同上 | | `OSS_BUCKET` | 条件 | 同上 | 同上 | **步骤 3**:给 AI 的完整提示词模板(复制粘贴,替换 `<...>` 占位): ```markdown # 技能已安装: smartbadge-ops(智能工牌录音管道全功能运维) ## 环境配置(SMARTBADGE_* 变量) SMARTBADGE_API_BASE=https://recording.sh-lami.com SMARTBADGE_USERNAME=lami123456 SMARTBADGE_PASSWORD=<填 API 登录密码> # 有服务端项目同机: OSS 四项免配,技能自动发现项目 server/.env # 无服务端项目: 在技能仓库 .env 填 OSS_ACCESS_KEY_ID/OSS_ACCESS_KEY_SECRET/OSS_REGION/OSS_BUCKET ## 使用规范 按 SKILL.md §1 确认门协议执行: 先复述我的问题与方案,回问「是这个意思吗?」; 只读操作(巡检/列表/对账/聚合)可一句备案继续;写操作(补跑/重试/补传/改配置)必须先罗列将修改的数据面并等我确认。 ## 上线自检 先运行 node scripts/check-online.mjs 确认 12 项 PASS,再进入我的提问。 ``` **步骤 4**:验证——让 AI 说「做一次每日巡检」,应输出三行简报(PASS 项/警告项/留痕)。 ## 与项目内旧技能的关系 本项目内旧的 `.claude/skills/smartbadge-pipeline-ops` 已被本独立仓库取代(内容迁移并扩展至月报/年报与确认门交互)。安装本技能后,直接以 `smartbadge-ops` 使用即可。 ## 版本 v1.0.1 — 2026-09-04,新增「给 AI 的完整配置提示」章节