概述
frappecli 是一款专为 Frappe Framework 设计的命令行管理工具,通过 REST API 与 Frappe 实例进行交互,为开发者和运维人员提供高效的远程管理能力。
核心用法
工具采用模块化命令结构,主要涵盖六大功能域:
1. 站点管理:查看 Doctype 列表、获取 Doctype 详情
2. 文档 CRUD:完整支持列表查询、单条获取、创建、更新、删除操作,支持过滤条件和字段选择
3. 文件管理:上传(私有/公开)、下载、按文档关联列表
4. 报表执行:支持 JSON/CSV 格式导出
5. RPC 调用:执行自定义 API 方法
6. 多站点配置:通过 YAML 配置文件管理多环境,支持快速切换
显著优点
- 安装便捷:提供 Homebrew 一键安装,也支持从源码 uv 构建
- 多格式输出:内置 table、json、csv 三种输出格式,方便与
jq等工具链集成 - 生产就绪:支持多站点配置、默认站点切换,适合 DevOps 场景
- 功能完整:覆盖 Frappe 日常运维的主要操作,减少 Web 界面切换成本
潜在缺点与局限性
- 依赖 API 凭证:需手动配置 api_key/api_secret,无 OAuth 等现代认证方式
- 无交互式体验:纯 CLI 设计,不熟悉命令结构的用户学习成本较高
- 社区规模未知:GitHub 仓库较新,长期维护、社区贡献活跃度待观察
- 错误处理细节:文档未明确说明网络异常、API 限流等场景的处理机制
适合人群
- Frappe/ERPNext 开发者和系统管理员
- 需要将 Frappe 数据操作集成到 CI/CD 或自动化脚本中的 DevOps 工程师
- 偏好命令行工作流、需要批量处理数据的技术用户
常规风险
- 凭证安全:API key/secret 以明文存储于
~/.config/frappecli/config.yaml,需确保文件权限严格(建议 600) - 传输安全:虽默认 HTTPS,但需确认目标站点证书有效性,避免中间人攻击
- 操作风险:delete 等破坏性命令无二次确认机制,批量脚本需谨慎测试
- 数据隐私:通过 CLI 导出的 CSV/JSON 文件需妥善管理,防止敏感信息泄露