返回顶部
m

mocklab模拟实验室

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.1
安全检测
已通过
95
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

mocklab

MockLab

核心流程

用户说启动 MockLab并提供接口文档后,执行以下步骤:

  1. 1. 获取文档内容
- 本地文件路径 → Read 工具读取 - URL 链接 → web_fetch 抓取 - 直接粘贴内容 → 直接使用
  1. 2. 模型自主解析文档
- 提取所有接口:路径、方法、请求/响应字段 - 推断每个字段的 Mock 生成规则 - 整理 inner_schemas(嵌套子结构) - 整理 partner 信息(渠道号、签名格式等) - 判断跨接口状态关联(ref 字段)
  1. 3. 保存 Schema 到 schema_store/
- 文件名:schemastore/{projectname}.json - project_name 由模型根据文档内容生成(如平安银行、微信支付)
  1. 4. 启动 Mock Server
python {skillpath}/mockserver.py --port 18080 --project {project_name}
  1. 5. 自动打开浏览器
http://localhost:18080
  1. 6. 告知用户服务已启动,介绍如何使用

Schema 生成规则

模型根据字段语义自动推断 rule,写入 Schema:

字段特征rule生成结果
渠道/合作方 IDfixed:{值}固定值
随机数
random:6 | 6位随机数字 |
| 时间戳 | timestamp:ms | 毫秒时间戳 |
| 手机号 | phone | 11位真实号段手机号 |
| 身份证 | idcard | 18位合法身份证 |
| 姓名 | name | 中文姓名 |
| 车牌号 | plate | 合规车牌号 |
| 金额 | amount:lo-hi | 指定范围金额 |
| 利率 | rate:lo-hi | 指定范围利率 |
| Token | token:32 | 32位随机字符串 |
| 枚举 | enum:a,b,c 或 enum:k=v,k=v | 枚举值 |
| 自增序列 | sequence:{key} | 自增序列号 |
| 国标码 | province:code | 省市国标码+名称 |
| 日期 | date:format | 格式化日期 |
| 嵌套对象 | nested:{schemaname} | 引用 innerschemas |
| 对象数组 | array:{schemaname} | 数组,元素引用 innerschemas |
| 子对象 | object:{schemaname} | 引用 innerschemas |
| 跳过 | skip | 不生成(sign 等) |
| 请求镜像 | mirror | 取请求 body 中同名字段的值,原样返回 |
| 动态取 body | body:data.order_id | 取请求 body 中嵌套字段 |
| 动态取路径 | path:order_id | 取 URL 路径参数 |
| 动态取参数 | query:page | 取 URL query string 参数 |
| 动态取头 | header:Authorization | 取请求头 |
| 动态取状态 | state:token | 取跨次调用状态(ref 字段) |
| 条件包含 | when:{field:status,eq:1} | 满足条件时才返回该字段 |

字段语义智能判断

模型根据字段名和中文含义自主判断,无需用户指定:

  • - 含 phone、mobile、手机 → phone
  • 含 idcard、身份证、证件号 → idcard
  • 含 name、姓名、custname → name
  • 含 plate、license、车牌 → plate
  • 含 amount、amt、金额、loan → amount
  • 含 rate、利率 → rate
  • 含 province、省份 → province:code
  • 含 city、城市 → city:provincecode
  • 含 sign、签名 → skip
  • 含 ciphertext、加密 → skip(标注加密占位)
  • 含 seq、no、编号、订单 → sequence:{field_name}

reqData / data 加密字段处理

  • - 模型从文档提取加密明文结构
  • 写入 rule: nested:{schemaname} 引用 innerschemas
  • UI 上点击可展开看到完整明文
  • 响应中字段值显示 [SM4加密占位]

ref 跨接口状态关联

  • - 响应字段标记 ref: true → 自动存入状态表
  • 后续接口请求中引用该字段时,自动填充上一次的值
  • 状态持久化到 state_store.json,服务重启不丢失
  • UI 上显示引用自 X.X标识

① 延迟模拟(interface.delay)

推荐在 UI 上直接配置(http://localhost:18080 选中接口后顶部设置栏)。

勾选延迟 → 输入最小值和最大值(ms)。也可以在 Schema JSON 里写:

json
{ delay: 200-500 }

写法效果
delay: 300固定 300ms
delay: 200-500
随机 200~500ms | | delay: 1000-3000 | 大压力测试 1~3s |

② 错误注入(interface.error)

推荐在 UI 上直接配置,清晰分隔每个参数。

勾选错误 → 选择错误类型 → 填概率/错误码/消息。也可以在 Schema JSON 里写:

json
{ error: 500@0.05:ERR001:自定义错误消息 }

格式:错误类型[@概率[:错误码[:消息]]]

字段说明
错误类型HTTP状态码(500/400/401/403/404/429)或 timeout / networkerror / ratelimit
概率
0.0~1.0,1.0 = 100% 触发 |
| 错误码 | 自定义业务错误码(如 ERR001) |
| 消息 | 自定义错误消息内容 |

③ 请求镜像(mirror / body:xxx)

把请求参数原样反射回响应,让接口更逼真:

json
{
name: 下单,
path: /order/create,
req_fields: [
{ name: order_id, type: string },
{ name: amount, type: number }
],
resp_fields: [
{ name: order_id, rule: mirror },
{ name: amount, rule: mirror },
{ name: status, rule: fixed:PAID }
]
}

请求 {orderid: A123, amount: 100} → 响应 {orderid: A123, amount: 100, status: PAID}

④ 动态响应(path:xxx / query:xxx / header:xxx / state:xxx / when)

根据请求内容动态生成响应,不只是返回假数据:

路径参数

json { name: orderid, rule: path:orderid }

GET /order/{orderid} → 响应中 orderid 引用 URL 里实际的值

查询参数

json { name: page, rule: query:page }

GET /list?page=2 → 响应中 page 取 query 参数值

嵌套 body 字段

json { name: user_phone, rule: body:user.phone }

请求 {user: {phone: 13800138000}} → 响应 {user_phone: 13800138000}

跨次状态引用

json { name: token, rule: state:access_token }

取上一次登录接口存入的 access_token 状态

条件字段(when)

json { name: vipdiscount, rule: amount:0-0.5, when: {field: body.isvip, op: eq, value: true} } { name: discount, rule: fixed:0, when: {field: body.is_vip, op: exists} }

只有满足条件时才返回该字段,支持 eq / ne / gt

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 mocklab-1775877682 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 mocklab-1775877682 技能

通过命令行安装

skillhub install mocklab-1775877682

下载

⬇ 下载 mocklab v1.1.1(免费)

文件大小: 27.63 KB | 发布时间: 2026-4-12 10:37

v1.1.1 最新 2026-4-12 10:37
mocklab 1.1.0

- No file changes detected in this version.
- SKILL.md structure and content remain unchanged.
- No new features, bug fixes, or updates introduced.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部