← 返回 Skills 市场
perrykono-debug

企服客户管理

作者 perrykono-debug · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
16
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install enterprise-customer-management
功能描述
客户管理中心技能。提供客户档案管理、客户画像分析、风险提醒、客户时间线查询。基于中集金地美兰中心真实业务数据(Excel台账)。触发场景:(1) 查询客户信息(@企服助手 查询客户 T1-601),(2) 查看客户画像(@企服助手 客户画像 上海铭尤力),(3) 查询风险客户(@企服助手 查询风险客户),(4)...
使用说明 (SKILL.md)

客户管理中心技能 (Customer Management Center Skill)

功能概述

本技能为企服助手的核心模块,统一管理中集金地美兰中心的客户信息,提供:

  • 📋 客户档案 - 企业基础信息、合同信息、租期信息、联系人管理
  • 📊 客户画像 - 服务记录汇总、报修记录、缴费记录、投诉记录、企业标签
  • ⚠️ 风险提醒 - 欠费风险、流失风险、高频投诉提醒、到期提醒
  • 📅 客户时间线 - 统一查看所有历史记录(服务、沟通、工单、缴费、续租)

数据源配置(基于真实Excel台账)

数据文件

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

工作表映射

功能模块 工作表名 字段数 记录数 说明
客户档案 👨客户管理👨 27 151 企业基础信息、合同、租期
费用收缴 👨💼费用收缴👨💼 14 396 固定租金、物业管理费等
能耗收缴 👨💼能耗收缴👨💼 7 149 水电燃气费用
C+服务记录 C+服务记录 10 22 走访记录、服务成交
报修情况 🛠️报修情况汇总🛠️ 13 4 报修工单记录
退租汇总 退租汇总 13 6 退租企业信息

核心功能详解

1. 客户档案 (Customer Profile)

1.1 数据结构(真实字段映射)

客户管理表字段(27个):

基础信息字段:
  - 项目名称: 美慧城四期T1
  - 单元类型: 办公
  - 名义楼层: 6
  - 实际楼层: 5
  - 单元号: T1-601 (主键,用于关联其他表)

合同信息字段:
  - 合同号: ZJML-2024-12260010 (关联费用收缴表)
  - 租户名: 上海铭尤力食品有限公司
  - 建筑面积: 143.95
  - 馶年合同单价: 1.75
  - 租期: 3年

租期信息字段:
  - 开始日期: 2025年3月1日
  - 截至日期: 2028年2月29日
  - 状态: 签约/退租/毛坯

联系人信息:
  - 租户联系人: 薛臻
  - 电话: (从Excel读取)
  - 注册地址: 上海市宝山区金石路1658弄11号4层410室

企业画像字段:
  - 等级: A/B/C
  - 企业类型: 餐饮配套/制造业/商务配套等
  - 经营范围: (具体业务)
  - 纳税人资质: 一般纳税人/小规模纳税人
  - 天眼评分: (天眼查评分)
  - 招商: (招商人员)

1.2 查询接口设计

def query_customer_profile(unit_no=None, tenant_name=None, contract_no=None):
    """
    查询客户档案
    
    Args:
        unit_no: 单元号(如 T1-601)
        tenant_name: 租户名(支持模糊匹配)
        contract_no: 合同号
    
    Returns:
        dict: 客户完整档案信息
    """
    # 使用 xlsx skill 读取 Excel
    wb = openpyxl.load_workbook('/Users/mac/美兰中心C+服务.xlsx')
    ws = wb['👨客户管理👨']
    
    headers = [cell.value for cell in ws[1]]
    
    for row in ws.iter_rows(min_row=2, values_only=True):
        # 匹配条件
        if unit_no and row[5] == unit_no:  # 单元号
            return build_customer_dict(headers, row)
        if tenant_name and tenant_name in str(row[6]):  # 租户名模糊匹配
            return build_customer_dict(headers, row)
        if contract_no and row[4] == contract_no:  # 合同号
            return build_customer_dict(headers, row)
    
    return None

1.3 使用示例

用户输入: @企服助手 查询客户 T1-601

输出:

━━━━━━━━━━━━━━━
【客户档案】T1-601

🏢 租户名:上海铭尤力食品有限公司
📍 项目:美慧城四期T1 | 单元类型:办公
📏 建筑面积:143.95㎡ | 楼层:名义6层/实际5层

━━━ 合同信息 ━━━
合同号:ZJML-2024-12260010
租期:3年(2025-03-01 ~ 2028-02-29)
状态:签约 ✅
首年单价:¥1.75/㎡/月

━━━ 联系人 ━━━
联系人:薛臻
电话:[查询Excel获取]
注册地址:上海市宝山区金石路1658弄11号4层410室

━━━ 企业画像 ━━━
等级:[查询Excel获取]
企业类型:[查询Excel获取]
经营范围:食品生产销售
纳税人资质:[查询Excel获取]
天眼评分:[查询Excel获取]

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

2. 客户画像 (Customer Portrait)

2.1 画像数据聚合逻辑

客户画像需要聚合多个工作表的数据

def build_customer_portrait(unit_no):
    """
    构建客户画像 - 聚合多个数据源
    
    Args:
        unit_no: 单元号(主键)
    
    Returns:
        dict: 客户画像(包含服务、费用、报修等汇总)
    """
    wb = openpyxl.load_workbook('/Users/mac/美兰中心C+服务.xlsx')
    
    portrait = {
        "基础信息": query_customer_profile(unit_no),
        "服务记录": [],
        "费用记录": [],
        "能耗记录": [],
        "报修记录": [],
        "风险标记": []
    }
    
    # 1. 查询C+服务记录(关联字段:租户名)
    ws_service = wb['C+服务记录']
    tenant_name = portrait["基础信息"]["租户名"]
    
    for row in ws_service.iter_rows(min_row=2, values_only=True):
        if row[0] == tenant_name:  # 关联客户字段
            portrait["服务记录"].append({
                "走访时间": row[1],
                "走访管家": row[2],
                "客户情绪": row[3],
                "成交情况": row[4],
                "服务类别": row[5],
                "成交金额": row[6],
                "详情记录": row[7]
            })
    
    # 2. 查询费用收缴记录(关联字段:单元号)
    ws_fee = wb['👨💼费用收缴👨💼']
    
    for row in ws_fee.iter_rows(min_row=2, values_only=True):
        if row[1] == unit_no:  # 单元号
            portrait["费用记录"].append({
                "合同编号": row[0],
                "费项项目": row[3],
                "应收金额": row[4],
                "已收金额": row[6],
                "欠收金额": row[8],
                "是否支付": row[9],
                "月份": row[13]
            })
    
    # 3. 查询能耗收缴记录(关联字段:单元号)
    ws_energy = wb['👨💼能耗收缴👨💼']
    
    for row in ws_energy.iter_rows(min_row=2, values_only=True):
        if row[0] == unit_no:  # 单元号
            portrait["能耗记录"].append({
                "租户名": row[1],
                "应收金额": row[2],
                "已收金额": row[3],
                "欠费金额": row[4],
                "是否支付": row[5],
                "月份": row[6]
            })
    
    # 4. 查询报修记录(关联字段:楼层/单元)
    ws_repair = wb['🛠️报修情况汇总🛠️']
    
    for row in ws_repair.iter_rows(min_row=2, values_only=True):
        if unit_no in str(row[0]):  # 楼层/单元匹配
            portrait["报修记录"].append({
                "楼层/单元": row[0],
                "紧急程度": row[1],
                "报修细节描述": row[2],
                "报修人员": row[4],
                "报修时间": row[5],
                "维修人员": row[6],
                "维修跟进状态": row[7]
            })
    
    # 5. 计算风险标记
    portrait["风险标记"] = calculate_risk_tags(portrait)
    
    return portrait

2.2 风险标记计算逻辑

def calculate_risk_tags(portrait):
    """
    计算客户风险标记
    
    Returns:
        list: 风险标记列表(如 ["欠费风险", "流失风险"])
    """
    risks = []
    
    # 1. 欠费风险判断
    欠费总额 = 0
    for fee in portrait["费用记录"]:
        if fee["是否支付"] == "否":
            欠费金额 = float(fee["欠收金额"]) if fee["欠收金额"] else 0
            欠费总额 += 欠费金额
    
    if 欠费总额 > 50000:
        risks.append("🚨 高欠费风险(欠费¥{欠费总额:.2f})")
    elif 欠费总额 > 10000:
        risks.append("⚠️ 中度欠费风险(欠费¥{欠费总额:.2f})")
    elif 欠费总额 > 0:
        risks.append("📢 轻度欠费提醒(欠费¥{欠费总额:.2f})")
    
    # 2. 流失风险判断(续租预警)
    基础信息 = portrait["基础信息"]
    if 基础信息:
        截至日期 = parse_date(基础信息["截至日期"])
        剩余天数 = (截至日期 - datetime.now()).days
        
        if 剩余天数 \x3C= 30:
            risks.append(f"🚨 流失风险(合同剩余{剩余天数}天)")
        elif 剩余天数 \x3C= 90:
            risks.append(f"⚠️ 续租预警(合同剩余{剩余天数}天)")
    
    # 3. 投诉/报修频率判断
    报修次数 = len(portrait["报修记录"])
    if 报修次数 >= 3:  # 最近报修次数>=3
        risks.append(f"⚠️ 高频报修({报修次数}次)")
    
    # 4. 服务满意度判断
    满意记录 = [s for s in portrait["服务记录"] if s["客户情绪"] == "满意"]
    总记录 = len(portrait["服务记录"])
    
    if 总记录 > 0 and len(满意记录) / 总记录 \x3C 0.5:
        risks.append(f"⚠️ 低满意度(满意率{len(满意记录)/总记录*100:.1f}%)")
    
    return risks

2.3 使用示例

用户输入: @企服助手 客户画像 上海铭尤力

输出:

━━━━━━━━━━━━━━━
【客户画像】上海铭尤力食品有限公司

📍 单元:T1-601 | 状态:签约 ✅

━━━ 企业标签 ━━━
等级:[查询Excel]
企业类型:食品制造业
纳税人资质:[查询Excel]
天眼评分:[查询Excel]

━━━ 服务记录({服务次数}次)━━━
最近走访:2026-02-02
管家:戚亮先、刘瑞
客户情绪:满意 ✅
成交情况:否
服务类别:室内保洁

━━━ 费用记录 ━━━
应收总额:¥{应收总额:.2f}
已收总额:¥{已收总额:.2f}
欠费金额:¥{欠费总额:.2f}
支付状态:{欠费情况}

━━━ 能耗记录 ━━━
应收总额:¥{能耗应收:.2f}
已收总额:¥{能耗已收:.2f}
欠费金额:¥{能耗欠费:.2f}

━━━ 报修记录 ━━━
报修次数:{报修次数}次
最近报修:[如果有]
报修状态:[状态]

━━━ 风险标记 ━━━
{risks  # 显示所有风险标记,如果没有则显示"无风险"}

━━━ 客户时间线 ━━━
⚡ 点击查看完整时间线:[腾讯文档-客户画像]

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

3. 风险提醒 (Risk Alert)

3.1 风险类型定义

风险类型 判断条件 提醒级别 推送渠道
高欠费风险 欠费 > ¥50,000 🚨 紧急 @all
中度欠费风险 欠费 ¥10,000-50,000 ⚠️ 高 @财务
轻度欠费提醒 欠费 \x3C ¥10,000 📢 普通 静默记录
流失风险 合同剩余 ≤ 30天 🚨 紧急 @招商 @all
续租预警 合同剩余 ≤ 90天 ⚠️ 高 @招商
高频报修 最近报修 ≥ 3次 ⚠️ 高 @工程
低满意度 满意率 \x3C 50% ⚠️ 高 @管家

3.2 风险扫描逻辑

def scan_all_risks():
    """
    扫描所有客户风险
    
    Returns:
        dict: 分类风险清单
    """
    wb = openpyxl.load_workbook('/Users/mac/美兰中心C+服务.xlsx')
    ws_customer = wb['👨客户管理👨']
    
    risks_summary = {
        "高欠费风险": [],
        "中度欠费风险": [],
        "轻度欠费提醒": [],
        "流失风险": [],
        "续租预警": [],
        "高频报修": [],
        "低满意度": []
    }
    
    # 遍历所有签约客户
    for row in ws_customer.iter_rows(min_row=2, values_only=True):
        if row[12] == "签约":  # 状态 = 签约
            unit_no = row[5]  # 单元号
            tenant_name = row[6]  # 租户名
            
            # 构建客户画像
            portrait = build_customer_portrait(unit_no)
            risks = portrait["风险标记"]
            
            # 分类归档
            for risk in risks:
                if "高欠费风险" in risk:
                    risks_summary["高欠费风险"].append({
                        "单元号": unit_no,
                        "租户名": tenant_name,
                        "风险详情": risk
                    })
                elif "中度欠费风险" in risk:
                    risks_summary["中度欠费风险"].append({
                        "单元号": unit_no,
                        "租户名": tenant_name,
                        "风险详情": risk
                    })
                # ... 其他风险类型
    
    return risks_summary

3.3 使用示例

用户输入: @企服助手 查询风险客户

输出:

━━━━━━━━━━━━━━━
【风险客户清单】2026-05-28

━━━ 🚨 紧急风险 ━━━
【流失风险】(合同剩余 ≤ 30天)
  • T1-XXX,XXX公司,剩余XX天

【高欠费风险】(欠费 > ¥50,000)
  • T1-XXX,XXX公司,欠费¥XX,XXX

━━━ ⚠️ 高风险 ━━━
【中度欠费风险】(欠费 ¥10,000-50,000)
  • T1-XXX,XXX公司,欠费¥XX,XXX
  • T1-XXX,XXX公司,欠费¥XX,XXX

【续租预警】(合同剩余 ≤ 90天)
  • T1-601,上海铭尤力食品有限公司,剩余XX天

【高频报修】(报修 ≥ 3次)
  • T1-XXX,XXX公司,报修X次

━━━ 📢 普通提醒 ━━━
【轻度欠费提醒】(欠费 \x3C ¥10,000)
  • T1-XXX,XXX公司,欠费¥X,XXX

━━━ 统计 ━━━
风险客户总数:XX个
紧急风险:XX个 | 高风险:XX个 | 普通提醒:XX个

⚡ 操作链接:[腾讯文档-风险清单]
━━━━━━━━━━━━━━━

4. 客户时间线 (Customer Timeline)

4.1 时间线数据整合

def build_customer_timeline(unit_no):
    """
    构建客户时间线 - 按时间排序所有记录
    
    Args:
        unit_no: 单元号
    
    Returns:
        list: 时间线事件列表(按时间倒序)
    """
    portrait = build_customer_portrait(unit_no)
    
    timeline = []
    
    # 1. 合同事件
    基础信息 = portrait["基础信息"]
    if 基础信息:
        timeline.append({
            "时间": 基础信息["开始日期"],
            "事件类型": "合同签约",
            "事件描述": f"签约{基础信息['租期']},单元{unit_no}",
            "详情": 基础信息
        })
    
    # 2. 服务记录事件
    for service in portrait["服务记录"]:
        timeline.append({
            "时间": service["走访时间"],
            "事件类型": "C+服务",
            "事件描述": f"管家{service['走访管家']}走访,情绪{service['客户情绪']}",
            "详情": service
        })
    
    # 3. 费用记录事件
    for fee in portrait["费用记录"]:
        timeline.append({
            "时间": fee["月份"],
            "事件类型": "费用收缴",
            "事件描述": f"{fee['费项项目']},应收¥{fee['应收金额']},已收¥{fee['已收金额']}",
            "详情": fee
        })
    
    # 4. 报修记录事件
    for repair in portrait["报修记录"]:
        timeline.append({
            "时间": repair["报修时间"],
            "事件类型": "报修工单",
            "事件描述": f"{repair['报修细节描述']}, 状态{repair['维修跟进状态']}",
            "详情": repair
        })
    
    # 5. 能耗记录事件
    for energy in portrait["能耗记录"]:
        timeline.append({
            "时间": energy["月份"],
            "事件类型": "能耗收缴",
            "事件描述": f"能耗应收¥{energy['应收金额']},已收¥{energy['已收金额']}",
            "详情": energy
        })
    
    # 按时间排序(倒序,最新在前)
    timeline.sort(key=lambda x: parse_date(x["时间"]), reverse=True)
    
    return timeline

4.2 使用示例

用户输入: @企服助手 客户时间线 T1-601

输出:

━━━━━━━━━━━━━━━
【客户时间线】上海铭尤力食品有限公司(T1-601)

━━━ 时间线(倒序,最新在前)━━━

📅 2026-02-02 【C+服务】
管家戚亮先、刘瑞走访
客户情绪:满意 ✅
服务类别:室内保洁
成交情况:否

📅 2026-01 【能耗收缴】
应收:¥259.31 | 已收:¥259.31
支付状态:是 ✅

📅 2025-03 【合同签约】
签约3年(2025-03-01 ~ 2028-02-29)
单元:T1-601 | 建筑面积:143.95㎡

━━━ 统计 ━━━
总事件数:XX个
服务记录:XX次 | 费用记录:XX条 | 报修记录:XX次

⚡ 完整时间线:[腾讯文档-客户时间线]
━━━━━━━━━━━━━━━

执行流程

Step 1 → 用户输入
          ├─ 查询客户信息(单元号/租户名/合同号)
          ├─ 查看客户画像(租户名)
          ├─ 查询风险客户
          └─ 查看客户时间线(单元号)

Step 2 → 数据读取
          ├─ 使用 xlsx skill 读取 Excel
          ├─ 主表:👨客户管理👨(客户档案)
          ├─ 关联表:费用收缴、能耗收缴、C+服务记录、报修汇总

Step 3 → 数据聚合
          ├─ 关联字段:单元号、租户名、合同号
          ├─ 构建客户画像(聚合所有记录)
          └─ 计算风险标记

Step 4 → 结果输出
          ├─ 格式化输出(Markdown)
          ├─ 推送企微群(可选)
          └─ 生成腾讯文档(可选)

Step 5 → 定时任务(可选)
          ├─ 每天09:00:生成风险提醒日报
          └─ 每天17:00:生成客户异常汇总

定时任务配置

{
  "name": "风险客户提醒日报",
  "schedule": {
    "kind": "cron",
    "expr": "0 9 * * *",
    "tz": "Asia/Shanghai"
  },
  "payload": {
    "kind": "agentTurn",
    "message": "扫描所有客户风险,生成风险提醒日报并推送企微群"
  },
  "sessionTarget": "isolated"
}

手动触发方式

  1. 查询客户档案: @企服助手 查询客户 {单元号}

    • 示例:@企服助手 查询客户 T1-601
  2. 查看客户画像: @企服助手 客户画像 {租户名}

    • 示例:@企服助手 客户画像 上海铭尤力
  3. 查询风险客户: @企服助手 查询风险客户

  4. 客户时间线: @企服助手 客户时间线 {单元号}

    • 示例:@企服助手 客户时间线 T1-601

配置参数

{
  "customer_management": {
    "excel_path": "/Users/mac/美兰中心C+服务.xlsx",
    "sheet_mapping": {
      "客户档案": "👨客户管理👨",
      "费用收缴": "👨💼费用收缴👨💼",
      "能耗收缴": "👨💼能耗收缴👨💼",
      "C+服务记录": "C+服务记录",
      "报修汇总": "🛠️报修情况汇总🛠️",
      "退租汇总": "退租汇总"
    },
    "risk_thresholds": {
      "高欠费风险": 50000,
      "中度欠费风险": 10000,
      "流失风险_days": 30,
      "续租预警_days": 90,
      "高频报修_count": 3,
      "低满意度_rate": 0.5
    },
    "wecom_webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=14fb1170-2119-4f29-b400-67da770e3a3c"
  }
}

关键字段映射表

客户管理表(主表)

字段序号 字段名 用途 示例值
5 合同号 关联费用收缴表 ZJML-2024-12260010
6 单元号 主键,关联所有表 T1-601
7 租户名 关联C+服务记录 上海铭尤力食品有限公司
11 开始日期 合同起始 2025年3月1日
12 截至日期 续租预警计算 2028年2月29日
13 状态 筛选条件 签约/退租/毛坯
15 租户联系人 联系信息 薛臻
16 电话 联系信息 [Excel]
18 等级 企业标签 A/B/C
19 企业类型 企业标签 餐饮配套
22 经营范围 企业标签 食品生产销售

费用收缴表

字段序号 字段名 用途 示例值
1 合同编号 关联客户表 ZJML-2024-12260010
2 单元号 关联客户表 T1-601
3 租户名 企业名称 上海铭尤力食品有限公司
4 费项项目 费用类型 固定租金/物业管理费
5 应收金额 计算欠费 34270.94
7 已收金额 计算欠费 34270.94
9 欠收金额 风险判断 0 或 "34270.94"
10 是否支付 风险判断 是/否

后续扩展接口

  1. 客户搜索优化 - 支持模糊搜索、拼音搜索、企业类型筛选
  2. 客户标签管理 - 自动打标签(如"优质客户"、"风险客户"、"意向客户")
  3. 客户分组统计 - 按等级、企业类型、租期分组统计
  4. 客户导出功能 - 导出客户画像到腾讯文档
  5. 客户对比分析 - 对比同一企业类型的不同客户表现

注意事项

  1. 数据隐私 - Excel包含客户敏感信息,禁止外泄
  2. 关联字段一致性 - 单元号、租户名在各个表中的格式必须一致
  3. 日期格式解析 - Excel日期格式多样(如"2025年3月1日"、"2025-03-01"),需要统一解析
  4. 数据更新 - Excel台账可能定期更新,需要重新读取最新数据

当前状态: 技能框架已完成,数据映射表已定义,可立即运行测试。

数据源: /Users/mac/美兰中心C+服务.xlsx(真实业务数据)

核心价值: 客户管理中心作为企服助手的"大脑",统一管理所有客户信息,为其他6个技能提供客户数据支持。

安全使用建议
Review before installing. Use only in an authorized business environment, remove and rotate the exposed WeCom webhook, keep local-only mode as the default, and require explicit approval plus redaction before sending tenant, contact, payment, or risk data to WeCom or Tencent Docs.
能力评估
Purpose & Capability
The stated purpose matches customer lookup, profiling, payment-risk analysis, and timeline reporting, but the artifact explicitly uses real Excel business data including tenant names, contracts, contacts, payment status, arrears, repair records, and risk labels.
Instruction Scope
Manual queries are scoped, but optional WeCom push, Tencent Docs generation, and a daily risk-report push are not bounded by clear user approval, recipient controls, masking, or local-only defaults.
Install Mechanism
No risky installer or package dependency is declared; the included Python file is only a placeholder helper script and static scan/VirusTotal telemetry are clean.
Credentials
Reading the named local workbook is purpose-aligned, but embedding a concrete external WeCom webhook is disproportionate for shared skill documentation because it creates an unnecessary outbound channel for sensitive customer data.
Persistence & Privilege
The skill describes an optional scheduled daily risk report that pushes to WeCom, and the webhook credential is hardcoded; there is no evidence of privilege escalation or destructive behavior.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install enterprise-customer-management
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /enterprise-customer-management 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
初始发布:客户档案、画像分析、风险提醒(企服助手专用)
元数据
Slug enterprise-customer-management
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

企服客户管理 是什么?

客户管理中心技能。提供客户档案管理、客户画像分析、风险提醒、客户时间线查询。基于中集金地美兰中心真实业务数据(Excel台账)。触发场景:(1) 查询客户信息(@企服助手 查询客户 T1-601),(2) 查看客户画像(@企服助手 客户画像 上海铭尤力),(3) 查询风险客户(@企服助手 查询风险客户),(4)... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 16 次。

如何安装 企服客户管理?

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

企服客户管理 是免费的吗?

是的,企服客户管理 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

企服客户管理 支持哪些平台?

企服客户管理 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 企服客户管理?

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

💬 留言讨论