技能简介
frappecli 是一款面向 Frappe Framework 与 ERPNext 实例的命令行工具,通过 REST API 实现站点配置、文档增删改查、文件上传下载、报表运行及自定义 RPC 方法调用。
业务背景
运维团队通过单一命令行入口统一管理多套ERPNext环境,无需登录后台即可完成站点切换、数据查询与批量操作。开发测试人员可快速验证业务逻辑,避免在图形界面重复点击;实施顾问则能离线准备配置脚本,到现场一键部署,显著缩短交付周期。
落地案例:某制造企业需将测试环境的客户主数据同步至生产环境。管理员先用frappecli查询测试站点的Customer doctype元数据,确认字段映射无误后,导出CSV格式的客户清单;随后切换至生产站点,执行批量创建指令完成数据迁移。全程无需打开浏览器,且操作日志便于审计回溯。
能做什么
- 管理多站点配置,快速切换生产与测试环境
- 查询 doctype 元数据,按模块筛选业务对象
- 执行文档的列表、单条查询、创建、更新与删除
- 上传私有或公开文件,绑定到指定业务单据
- 运行系统报表,输出 JSON、CSV 或表格格式
- 调用服务端自定义方法,传递参数并获取结果
使用说明
安装方式一:Homebrew(推荐)
brew tap pasogott/tap
brew install frappecli
安装方式二:源码安装
git clone https://github.com/pasogott/frappecli.git
cd frappecli && uv sync && uv pip install -e .
配置站点
创建配置文件 ~/.config/frappecli/config.yaml:
sites:
production:
url: https://erp.company.com
api_key: your_api_key
api_secret: your_api_secret
staging:
url: https://staging.company.com
api_key: your_staging_key
api_secret: your_staging_secret
default_site: production
常用命令示例
查看所有 doctype:frappecli site doctypes
按条件列出客户:frappecli doc list Customer --filters '{"status":"Active"}' --limit 10
创建客户档案:frappecli doc create Customer --data '{"customer_name":"Acme","customer_type":"Company"}'
上传附件:frappecli file upload invoice.pdf --doctype "Sales Invoice" --docname "INV-001"
运行报表并导出 CSV:frappecli report run "Accounts Receivable" --format csv -o report.csv
调用自定义方法:frappecli rpc myapp.api.process_data --args '{"doc_id":"DOC-001"}'
切换默认站点:frappecli config set default_site staging
输入与输出
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 用户自然语言指令;站点标识;doctype 与 docname;过滤条件、字段、分页;文件路径;报表名与格式;RPC 方法与参数 |
| 输出 | doctype 列表/详情;文档记录(table/json/csv);文件路径/下载内容;报表结果;RPC 返回值;操作状态提示 |
| 适用人群 | ERPNext/Frappe 管理员、开发人员、财务运营人员、系统集成团队 |
| 不包含 | 服务端部署、数据库直连、前端定制、权限设计、工作流配置 |
风险提示
- API 密钥与密钥对需妥善保管,避免写入版本控制
- 删除操作不可逆,建议先备份关键数据
- 生产环境执行批量更新前,先在测试站点验证
- 文件上传默认私有,公开文件需显式加 –public 参数
来源信息
原始链接:https://github.com/openclaw/skills/tree/main/skills/pasogott/frappecli/SKILL.md
来源类型:GitHub 仓库
