|
|
3 일 전 | |
|---|---|---|
| scripts | 1 주 전 | |
| templates | 2 주 전 | |
| .env.example | 2 주 전 | |
| .gitignore | 2 주 전 | |
| README.md | 2 주 전 | |
| SKILL.md | 3 일 전 | |
| package.json | 2 주 전 |
智能工牌录音管道(归档 → 清洗 → 讯飞转录 → DeepSeek 报告)的全功能 AI 运维技能(Claude Code Skill)。
一个技能覆盖:巡检、故障自诊断、补跑/重试、OSS 同步、列表排查、报告解读、月报/年报按需聚合分析、线上部署核验。
# 1. 一条命令安装/更新技能(自动放到 ~/.claude/skills/smartbadge-ops)
npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smartbadge-ops
# 2. 配置凭据(按提示复制;Windows: copy .env.example .env)
cd ~/.claude/skills/smartbadge-ops
cp .env.example .env # 编辑 .env,填写 SMARTBADGE_PASSWORD(及需要的 OSS 四项)
# 3. 登录并一键核查(密码亦可取自 .env,无需再传)
node scripts/api.mjs login
node scripts/check-online.mjs
之后 Claude 中直接提问即可(如「昨天管道有问题吗」「帮我出 8 月月报」),技能通过「确认门」交互流程逐步完成。
重跑第 1 步即可(已配置的 .env/登录 token 自动保留,不被覆盖)。
技能安装完成后,~/.claude/skills/smartbadge-ops 是含 SKILL.md 的完整技能目录,在其他 AI 中直接指向该目录即可。
| 项 | 要求 |
|---|---|
| Node | >= 18(内建 fetch,零 npm 依赖;建议 node:20 镜像) |
| Python | 仅 verify-online.py 需要,含 playwright + chromium(浏览器走查;纯 Docker/无浏览器环境跳过,用 check-online.mjs) |
| 网络 | 可达 recording.sh-lami.com(或本地后端) |
| 时区 | 脚本日期口径固定 Asia/Shanghai(容器 UTC 时区无需配置) |
| 凭据 | 登录用户名/密码(无内置默认值,见下);OSS 凭据可从服务端项目 server/.env 自动发现 |
# 1. 拉取安装(或 git clone 后用 node scripts/install.mjs --dest)
npm install -g 或用 npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smartbadge-ops
# 2. 凭据不写入镜像——用环境变量注入(Docker 容器内 ~/.claude/skills 建议挂 volume 持久化 .token)
docker run --rm -it \
-e SMARTBADGE_USERNAME=xxx \
-e SMARTBADGE_PASSWORD=xxx \
-e OSS_ACCESS_KEY_ID=xxx -e OSS_ACCESS_KEY_SECRET=xxx \
-e OSS_BUCKET=xxx -e OSS_REGION=xxx \
-v smartbadge-skill:/root/.claude/skills smartbadge-ops:latest \
node scripts/check-online.mjs
要点:
.env(容器内)或进程环境变量注入;仓库级 .gitignore 排除 .env/.token/out/。verify-online.py 在宿主机或带 chromium 的环境执行。report-aggregate 默认窗口等)显式按 Asia/Shanghai,容器默认 UTC 不会错位。/ 开头的 API 路径参数需 export MSYS_NO_PATHCONV=1(仅 Windows;Linux/Docker 无此问题)。| 脚本 | 用途 |
|---|---|
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;OSS 凭据从服务端项目 server/.env 自动发现,或技能仓库根 .env,或进程环境变量。--env 参数 > 环境变量 SMARTBADGE_ENV_FILE > 技能仓库根 .env(cp .env.example 填值)> 自动发现(本仓库同级/兄弟目录中名称含 device|smartbadge 且带 server/.env 的项目)> 已导出的 OSS_* 环境变量。node scripts/oss.mjs --find-env。server/services/oss-client.js)时复用其模块;否则自动回退内置零依赖实现(scripts/oss-client-mini.mjs,与 ali-oss 签名行为一致)。步骤 1:一条命令安装技能(自动安装到 AI 技能目录,无需克隆、无需记路径):
npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smartbadge-ops
步骤 2:密钥清单。只需 SMARTBADGE_PASSWORD 登录密码(脚本自动发现同机服务端项目的 server/.env 读取 OSS 凭据);无服务端项目的环境才需要 OSS 四项(填入技能仓库 .env 或系统环境变量):
| 环境变量 | 必填 | 取值来源 | 说明 |
|---|---|---|---|
SMARTBADGE_API_BASE |
否 | 线上 https://recording.sh-lami.com |
或本机后端 http://localhost:3002 |
SMARTBADGE_USERNAME |
是 | 登录用户名(无内置默认值) | 缺省即报错提示 |
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 的完整提示词模板(复制粘贴,替换 <...> 占位):
# 技能安装: smartbadge-ops(智能工牌录音管道全功能运维)
## 第一步 安装技能(npx 一条命令,自动装到 AI 技能目录)
npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smartbadge-ops
cd ~/.claude/skills/smartbadge-ops && cp .env.example .env # Windows: copy .env.example .env
## 第二步 配置 env(复制本块到技能仓库 .env,或配系统环境变量)
SMARTBADGE_API_BASE=https://recording.sh-lami.com
SMARTBADGE_USERNAME=<登录用户名>
SMARTBADGE_PASSWORD=<填写 API 登录密码>
OSS_ACCESS_KEY_ID=xxx
OSS_ACCESS_KEY_SECRET=xxx
OSS_BUCKET=lm-recording-files
OSS_REGION=cn-shanghai
OSS_PUBLIC_DOMAIN=lm-recording-files.oss-cn-shanghai.aliyuncs.com
## 第三步 登录核查
node scripts/api.mjs login
node scripts/check-online.mjs
## 使用规范(遵照技能 SKILL.md §1 确认门协议)
先复述我的问题与方案,回问「是这个意思吗?」再执行;
只读操作(巡检/列表/对账/聚合)可一句备案继续;写操作(补跑/重试/补传/改配置)必须先罗列将修改的数据面并等我确认。
## 上线前自检
先运行 node scripts/check-online.mjs 确认 12 项 PASS,再响应我的提问。
步骤 4:验证——让 AI 说「做一次每日巡检」,应输出三行简报(PASS 项/警告项/留痕)。
本项目内旧的 .claude/skills/smartbadge-pipeline-ops 已被本独立仓库取代(内容迁移并扩展至月报/年报与确认门交互)。安装本技能后,直接以 smartbadge-ops 使用即可。
v1.2.0 — 2026-09-06,Docker/Linux 容器适配:① 零密钥原则——移除全部脚本/模板内置默认用户名与密码(登录凭据不再有任何代码内置值),凭据仅经环境变量/.env 注入,缺省脚本报错提示;② 时区固定 Asia/Shanghai(report-aggregate 默认窗在 UTC 容器不再错位一天);③ verify-online.py playwright 缺失时友好提示;④ 新增「Docker/Linux 部署」一节 v1.1.0 — 2026-09-04,npx 一条命令安装(package.json + 安装器,自动落位到 AI 技能目录,升级保留 .env/.token);check-online 密码支持 .env 回退;fetch-report-text 支持列表相对 downloadUrl