← 返回 Skills 市场
perrykono-debug

库存监控与补货提醒

作者 perrykono-debug · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
15
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install inventory-monitor
功能描述
库存监控与补货提醒技能。基于真实Excel台账(美兰中心C+服务.xlsx)监控库存水位,计算可用月数,生成补货提醒。触发场景:(1) 实时监听库存变化(出入库操作),(2) 定时任务每日09:00检查库存状态,(3) 手动触发库存检查(@企服助手 库存检查)。
使用说明 (SKILL.md)

库存监控与补货提醒技能 (Inventory Monitor Skill)

功能概述

本技能用于实时监控园区库存物资的水位,基于中集金地美兰中心真实Excel台账,自动计算可用月数,当库存低于安全阈值时生成补货提醒并推送到企微。


数据源配置

数据文件: /Users/mac/美兰中心C+服务.xlsx

工作表映射:

功能模块 工作表名 用途
秩序环境库存 📦库存管理📦秩序环境 主数据源(日常消耗品)
固定资产库存 📦库存管理📦固定资产 补充数据(固定资产)
工程库存 📦库存管理📦工程 补充数据(工程工具)

数据接口(真实Excel字段映射)

秩序环境库存表字段(11个)

关键字段:

Excel列序号 字段名 类型 说明 示例值
1 名称 TEXT 物资名称 香薰液
2 规格/单位 TEXT 规格 桶 / 5片/包
3 总库存 NUMERIC 总量 9
4 可用月数 NUMERIC/TEXT 计算字段 9 或 "计算错误"
5 图片 TEXT 图片链接 (可选)
6 入库 NUMERIC 入库数量 0
7 出库 NUMERIC 出库数量 0
8 部门 TEXT 所属部门 环境 / 安管
9 现库存 NUMERIC 当前库存 9
10 月使用量 NUMERIC 月消耗量 1
11 备注 TEXT 备注 常用物资

固定资产库存表字段(11个)

Excel列序号 字段名 用途
1 名称 物资名称
2 规格/单位 规格
3 总库存 总量
4 图片 图片链接
5 现库存 当前库存
6 入库 入库数量
7 入库日期 入库时间
8 出库 出库数量
9 出库日期 出库时间
10 部门 所属部门
11 备注 备注

核心逻辑

1. 库存水位计算

def calculate_inventory_status():
    """
    计算所有物资的库存水位
    
    Returns:
        dict: 分级库存状态
    """
    wb = openpyxl.load_workbook('/Users/mac/美兰中心C+服务.xlsx')
    
    inventory_status = {
        "缺货": [],     # 可用月数 ≤ 0
        "预警": [],     # 可用月数 ≤ 2
        "关注": [],     # 可用月数 ≤ 3
        "正常": []      # 可用月数 > 3
    }
    
    # 1. 检查秩序环境库存
    ws_env = wb['📦库存管理📦秩序环境']
    
    for row in ws_env.iter_rows(min_row=2, values_only=True):
        name = row[0]           # 名称
        spec = row[1]           # 规格/单位
        current_stock = row[8]  # 现库存
        monthly_usage = row[9]  # 月使用量
        
        # 计算可用月数
        if monthly_usage and monthly_usage > 0:
            available_months = current_stock / monthly_usage
        else:
            available_months = 999  # 无使用量,视为无限
        
        # 分级归档
        item = {
            "名称": name,
            "规格/单位": spec,
            "现库存": current_stock,
            "月使用量": monthly_usage,
            "可用月数": f"{available_months:.1f}",
            "部门": row[7]
        }
        
        if available_months \x3C= 0:
            inventory_status["缺货"].append(item)
        elif available_months \x3C= 2:
            inventory_status["预警"].append(item)
        elif available_months \x3C= 3:
            inventory_status["关注"].append(item)
        else:
            inventory_status["正常"].append(item)
    
    return inventory_status

2. 补货提醒生成

def generate_replenishment_alert():
    """
    生成补货提醒清单
    
    Returns:
        list: 需要补货的物资列表
    """
    inventory_status = calculate_inventory_status()
    
    alerts = []
    
    # 1. 缺货物资(紧急)
    for item in inventory_status["缺货"]:
        alerts.append({
            "物资名称": item["名称"],
            "规格": item["规格/单位"],
            "当前库存": item["现库存"],
            "月使用量": item["月使用量"],
            "可用月数": item["可用月数"],
            "紧急程度": "🚨 缺货",
            "建议采购量": f"{item['月使用量'] * 3}(3个月用量)" if item["月使用量"] else "建议采购"
        })
    
    # 2. 预警物资(高优先级)
    for item in inventory_status["预警"]:
        alerts.append({
            "物资名称": item["名称"],
            "规格": item["规格/单位"],
            "当前库存": item["现库存"],
            "月使用量": item["月使用量"],
            "可用月数": item["可用月数"],
            "紧急程度": "⚠️ 预警",
            "建议采购量": f"{item['月使用量'] * 2}(2个月用量)" if item["月使用量"] else "建议采购"
        })
    
    # 3. 关注物资(中优先级)
    for item in inventory_status["关注"]:
        alerts.append({
            "物资名称": item["名称"],
            "规格": item["规格/单位"],
            "当前库存": item["现库存"],
            "月使用量": item["月使用量"],
            "可用月数": item["可用月数"],
            "紧急程度": "📢 关注",
            "建议采购量": f"{item['月使用量'] * 1}(1个月用量)" if item["月使用量"] else "建议采购"
        })
    
    return alerts

3. 出入库记录更新

def update_stock_transaction(item_name, transaction_type, quantity, department):
    """
    更新出入库记录
    
    Args:
        item_name: 物资名称
        transaction_type: 类型(入库/出库)
        quantity: 数量
        department: 部门
    
    Returns:
        bool: 更新是否成功
    """
    wb = openpyxl.load_workbook('/Users/mac/美兰中心C+服务.xlsx')
    ws_env = wb['📦库存管理📦秩序环境']
    
    # 查找物资
    for row_idx in range(2, ws_env.max_row + 1):
        if ws_env.cell(row=row_idx, column=1).value == item_name:
            # 更新库存
            current_stock = ws_env.cell(row=row_idx, column=9).value
            
            if transaction_type == "入库":
                new_stock = current_stock + quantity
                ws_env.cell(row=row_idx, column=9).value = new_stock
                ws_env.cell(row=row_idx, column=6).value = quantity  # 入库
            elif transaction_type == "出库":
                new_stock = current_stock - quantity
                ws_env.cell(row=row_idx, column=9).value = new_stock
                ws_env.cell(row=row_idx, column=7).value = quantity  # 出库
            
            # 更新可用月数
            monthly_usage = ws_env.cell(row=row_idx, column=10).value
            if monthly_usage and monthly_usage > 0:
                available_months = new_stock / monthly_usage
                ws_env.cell(row=row_idx, column=4).value = available_months
            
            # 保存Excel
            wb.save('/Users/mac/美兰中心C+服务.xlsx')
            
            return True
    
    return False

库存监控推送模板

每日库存检查

━━━━━━━━━━━━━━━
【库存监控日报】2026-05-28

━━━ 🚨 缺货物资 ━━━
{缺货清单}

━━━ ⚠️ 预警物资 ━━━
{预警清单}

━━━ 📢 关注物资 ━━━
{关注清单}

━━━ 统计 ━━━
物资总数:XX个
缺货:XX个 | 预警:XX个 | 关注:XX个

⚡ 操作链接:[腾讯文档-库存管理]
━━━━━━━━━━━━━━━

紧急补货提醒

⚠️⚠️⚠️ 【紧急补货提醒】⚠️⚠️⚠️

物资名称:{name}
规格:{spec}
当前库存:{current_stock}
月使用量:{monthly_usage}
可用月数:{available_months}

建议采购量:{purchase_quantity}

@采购人员 请尽快安排采购

━━━━━━━━━━━━━━━

执行流程

Step 1 → 读取Excel库存管理表
         工作表:📦库存管理📦秩序环境
         字段:名称、现库存、月使用量

Step 2 → 计算可用月数
         可用月数 = 现库存 / 月使用量
         特殊情况:月使用量=0 → 视为无限

Step 3 → 分级判断
         ├─ 可用月数 ≤ 0  → 缺货
         ├─ 可用月数 ≤ 2  → 预警
         ├─ 可用月数 ≤ 3  → 关注
         └─ 可用月数 > 3  → 正常

Step 4 → 生成补货提醒
         缺货 → 紧急采购(3个月用量)
         预警 → 高优先级(2个月用量)
         关注 → 中优先级(1个月用量)

Step 5 → 推送企微
         发送给采购人员

定时任务配置

{
  "name": "库存监控检查",
  "schedule": {
    "kind": "cron",
    "expr": "0 9 * * *",
    "tz": "Asia/Shanghai"
  },
  "payload": {
    "kind": "agentTurn",
    "message": "检查所有物资的库存水位,生成补货提醒并推送到企微"
  },
  "sessionTarget": "isolated"
}

手动触发方式

  1. 企微 @提及: @企服助手 库存检查
  2. OpenClaw指令: 检查库存
  3. 出入库操作: 入库 {物资名称} {数量} / 出库 {物资名称} {数量}

配置参数

{
  "inventory_monitor": {
    "excel_path": "/Users/mac/美兰中心C+服务.xlsx",
    "sheets": {
      "秩序环境": "📦库存管理📦秩序环境",
      "固定资产": "📦库存管理📦固定资产",
      "工程": "📦库存管理📦工程"
    },
    "alert_thresholds": {
      "缺货": 0,
      "预警": 2,
      "关注": 3
    },
    "wecom_webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
  }
}

使用示例

示例1:检查库存

用户输入: @企服助手 库存检查

输出:

━━━━━━━━━━━━━━━
【库存监控日报】2026-05-28

━━━ 🚨 缺货物资 ━━━
无

━━━ ⚠️ 预警物资 ━━━
1. 洗手液
   规格:桶 | 现库存:2
   月使用量:1 | 可用月数:2.0
   建议采购量:2(2个月用量)

━━━ 📢 关注物资 ━━━
1. 香片
   规格:5片/包 | 现库存:60
   月使用量:11 | 可用月数:5.5

━━━ 统计 ━━━
物资总数:8个
预警:1个 | 关注:1个 | 正常:6个

⚡ 操作链接:[腾讯文档-库存管理]
━━━━━━━━━━━━━━━

示例2:出入库操作

用户输入: @企服助手 入库 洗手液 5

输出:

━━━━━━━━━━━━━━━
【入库操作成功】

物资名称:洗手液
入库数量:5桶
更新后库存:7桶
可用月数:7.0

⚡ 操作链接:[腾讯文档-库存管理]
━━━━━━━━━━━━━━━

后续扩展接口

  1. 库存预测 - 基于历史消耗数据预测未来需求
  2. 自动采购单 - 当库存低于阈值时自动生成采购单
  3. 供应商管理 - 维护供应商信息,快速下单
  4. 成本分析 - 分析物资消耗成本,优化采购策略

注意事项

  1. 数据准确性 - 出入库记录需要及时更新
  2. 月使用量更新 - 定期更新月使用量数据
  3. 采购周期 - 考虑采购周期,提前安排补货
  4. 保质期管理 - 某些物资有保质期,需要特殊管理

当前状态: 技能已调整,数据源已映射到真实Excel库存管理表(3个工作表)。

核心改进: 从独立的知识库查询 → 改为直接读取Excel库存管理表 + 水位计算逻辑。

安全使用建议
Install only if this agent is allowed to read the named inventory spreadsheet, modify stock counts through 入库/出库 commands, and send stock shortage details to the configured WeCom recipients. Use a restricted webhook, back up the spreadsheet, and consider adding confirmations or audit logs for inventory-changing commands.
能力评估
Purpose & Capability
The stated purpose is inventory monitoring and replenishment reminders, and the Excel reads, stock calculations,入库/出库 updates, and WeCom alert templates all fit that purpose.
Instruction Scope
The skill documents manual triggers, a daily scheduled check, and transaction commands, but users should treat 入库/出库 as real ledger-changing operations.
Install Mechanism
No dependency installation, obfuscated installer, or hidden setup behavior is present; the included script and reference/assets files are placeholders.
Credentials
Access is scoped to a named local Excel file and a WeCom webhook configuration rather than broad filesystem or credential harvesting.
Persistence & Privilege
The daily cron-style check and persistent Excel writes are disclosed and purpose-aligned, though confirmation, audit logging, and role controls are not specified.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install inventory-monitor
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /inventory-monitor 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
初始发布:库存水位监控、分级预警、补货清单
元数据
Slug inventory-monitor
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

库存监控与补货提醒 是什么?

库存监控与补货提醒技能。基于真实Excel台账(美兰中心C+服务.xlsx)监控库存水位,计算可用月数,生成补货提醒。触发场景:(1) 实时监听库存变化(出入库操作),(2) 定时任务每日09:00检查库存状态,(3) 手动触发库存检查(@企服助手 库存检查)。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 15 次。

如何安装 库存监控与补货提醒?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install inventory-monitor」即可一键安装,无需额外配置。

库存监控与补货提醒 是免费的吗?

是的,库存监控与补货提醒 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

库存监控与补货提醒 支持哪些平台?

库存监控与补货提醒 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 库存监控与补货提醒?

由 perrykono-debug(@perrykono-debug)开发并维护,当前版本 v1.0.0。

💬 留言讨论