核心用法
Generate 是一款面向开发测试场景的 CLI 数据生成工具,通过 bash scripts/script.sh <command> 调用 12 类数据生成命令。支持文本(lorem/句子/段落)、数字(整数/浮点/范围)、UUID(v4/短码)、日期(多格式)、姓名、邮箱、地址、JSON 对象、CSV 表格、密码及批量模式。高级特性包括:JSON/CSV 的 Schema 定义(int:min-max、float:0-100 等类型标记)、批量配置文件执行、生成历史自动记录至 ~/.generate/data.jsonl。典型场景如:csv --columns "id:uuid,name:name,age:int:18-65" --rows 1000 秒级生成千条用户模拟数据。
显著优点
纯离线零依赖:仅依赖 Python 3.8+ 标准库与 bash,无第三方包、无网络通信,彻底杜绝供应链攻击与数据外泄风险。Schema 驱动灵活:通过声明式 Schema 快速定义复杂数据结构,支持嵌套对象与批量生成,大幅提升 mock 数据准备效率。可追溯与可复现:所有生成操作记录 JSONL 日志,支持 --seed 参数实现确定性输出,满足测试数据可复现需求。覆盖场景全面:从简单的随机密码到千行级结构化 CSV,单工具覆盖 90% 以上开发测试用数据需求。
潜在缺点与局限性
地域文化局限:姓名、地址生成基于英语语料库,中文、日文等非英语场景数据真实性不足。无数据关联性:字段间无逻辑关联(如邮编与城市不匹配),不适合需要业务规则校验的场景。T3 来源可信度:作者为 GitHub 个人开发者,非企业/基金会背书,代码审查与长期维护依赖社区。文件覆盖风险:CSV 输出使用 "w" 模式直接覆盖,无二次确认机制,存在误操作丢失数据可能。日志无限增长:data.jsonl 无轮转机制,高频使用下可能占用过多磁盘空间。
适合的目标群体
后端/全栈开发者:快速构造 API 测试负载、数据库种子数据。QA 工程师:生成边界值数据、模糊测试输入。数据工程师:原型阶段验证 ETL 管道与表结构。教学/培训场景:为编程练习提供标准化数据集。隐私敏感环境:因纯离线特性,适合无法接入外部服务的内网开发环境。
使用风险
文件操作风险:--output 参数可指定任意路径,覆盖已存在文件,建议在脚本中前置文件存在性检查。日志隐私风险:生成的测试密码、模拟邮箱等会被记录至本地日志,多用户共享主机时需注意 ~/.generate/ 目录权限。资源耗尽风险:未对 --count 等参数设上限,极端大值可能导致长时间阻塞或内存压力。Schema 解析风险:复杂 JSON Schema 的错误提示不够友好,需人工调试语法。来源维护风险:T3 级别项目更新频率不确定,企业用户建议 fork 内部维护或制定迁移预案。