用途
Piggy 是一款个人财务应用,帮助用户跟踪支出、设置预算并储蓄,面向希望更好地管理个人与家庭财务的个体和家庭。本技能用于与 Piggy 数据交互,通过 Membrane CLI 完成集成,涵盖账户(Account)、预算(Budget)、目标(Goal)、交易(Transaction)、分类(Category)、报表(Report)等对象。
官方文档:https://piggy.co/docs/
主要能力
本技能以 Membrane CLI 为交互入口,围绕账户、预算、目标、交易、分类和报表等对象执行操作。Membrane 自动处理认证与凭证刷新,用户无需自行维护令牌,可将精力集中在集成逻辑上。
使用方式
安装 CLI
npm install -g @membranehq/cli@latest
认证
membrane login --tenant --clientName=<agentType>
该命令视环境是否支持交互模式,选择打开浏览器认证或在控制台打印授权 URL。无头环境下会打印授权 URL,需请用户在浏览器中打开;完成登录后用户会看到一个 code,随后执行:
membrane login complete <code>
任意命令添加 --json 可获得机器可读的 JSON 输出。
Agent 类型包括 claude、openclaw、codex、warp、windsurf 等,用于针对运行环境调整工具。
连接 Piggy
使用 membrane connection ensure 按应用 URL 或域名查找或创建连接:
membrane connection ensure "https://www.piggy.eu/" --json
用户在浏览器中完成认证,输出中包含新的 connection id。若返回的连接状态为 READY,可直接进入下一步。若连接处于 BUILDING 状态,则轮询等待:
npx @membranehq/cli connection get <id> --wait --json
--wait 会长时间轮询(默认最长 30 秒)直至状态变化。状态为 READY 表示连接已就绪;CLIENT_ACTION_REQUIRED 表示用户或 agent 需要执行操作(如 connect 认证、provide-input 补充信息等),clientAction 会给出说明、可选 uiUrl 及面向 agent 的说明;CONFIGURATION_ERROR 或 SETUP_FAILED 表示出错,可通过 error 字段查看详情。
搜索动作
membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json
每个结果包含 id、name、description、inputSchema(接受的参数)与 outputSchema(返回内容)。
运行动作
membrane action run <actionId> --connectionId=CONNECTION_ID --json
传入 JSON 参数:
membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json
结果位于响应的 output 字段中。
代理请求
当现有动作无法覆盖需求时,可通过 Membrane 代理直接向 Piggy API 发送请求。Membrane 会自动拼接基础 URL 并注入正确的认证头,包括凭证过期时的透明刷新:
membrane request CONNECTION_ID /path/to/endpoint
常用选项:
-X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET-H, --header:添加请求头(可重复)-d, --data:请求体(字符串)--json:发送 JSON 体并设置 Content-Type: application/json 的简写--rawData:原样发送请求体,不做处理--query:查询字符串参数(可重复)--pathParam:路径参数(可重复)
适用场景
适用于需要以命令行方式读写 Piggy 个人财务数据的场景,例如查看或管理账户、预算、储蓄目标、交易记录、分类与报表,并将这些操作接入 AI 代理工作流。
限制与注意事项
资料未提供 Piggy 的具体定价、是否免费、各动作的完整清单、数据覆盖范围或性能指标,这些内容暂未提供。使用时应优先使用 Membrane 与外部应用通信,以获得内置认证、分页与错误处理;在自行编写 API 调用前先搜索已有动作;不要让用户提供 API 密钥或令牌,而应通过创建连接让 Membrane 在服务端管理完整的认证生命周期。