Motivation MoneyMotivation Money
集成

AI 智能体

AI 智能体如何通过 API 操作 Motivation Money。

Motivation Money 支持人类和 AI 智能体共同操作。REST API、CLI、作用域 API 密钥、结构化 JSON 响应和 OpenAPI 规范使 LLM 驱动的智能体能够端到端管理薪资发放——无论通过 HTTP 调用还是 Shell 命令。

为什么适合智能体

  • 结构化 I/O。 每个端点接受并返回具有一致 Schema 的 JSON。无需解析 HTML,无歧义格式。
  • 作用域权限。 为智能体发放具有精确作用域的 API 密钥。只读智能体获取 payroll:read + employees:read。全自动智能体获取 payroll:* + employees:*
  • 显式状态机。 薪资发放批次遵循清晰的生命周期(草稿 > 已确认 > 付款中 > 已完成)。智能体始终知道当前所处状态及可用操作。
  • 幂等写入。 每个创建操作需要幂等键。智能体可安全重试而不会创建重复记录。
  • OpenAPI 规范。 获取 /api/v1/openapi.json 即可为任意 LLM 框架自动生成工具定义。

两种路径:API 或 CLI

智能体可通过 REST API(HTTP 请求)或 CLI(Shell 命令)与 Motivation Money 交互。两者使用相同的 API 密钥认证并返回相同的数据。

方式适用场景
REST API(curl/HTTP)具有原生 HTTP 工具支持的框架中的智能体(OpenAI functions、Anthropic tool use)
CLImp执行 Shell 命令的智能体(Claude Code、Devin、Cursor、自定义智能体)

示例:智能体驱动的薪资发放

每个步骤展示 API 和 CLI 两种方式。

1. 创建批次

API:

curl -X POST https://money.motivationlabs.ai/api/v1/runs \
  -H "Authorization: Bearer mpk_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "period_start": "2026-03-01T00:00:00Z",
    "period_end": "2026-03-31T23:59:59Z",
    "pay_date": "2026-04-05T00:00:00Z",
    "label": "March 2026 Payroll",
    "type": "regular"
  }'

CLI:

mp runs create --period-start 2026-03-01 --period-end 2026-03-31 \
  --pay-date 2026-04-05 --label "March 2026 Payroll" -f json

2. 审查草稿

API:

curl https://money.motivationlabs.ai/api/v1/runs/{id}/payouts \
  -H "Authorization: Bearer mpk_live_..."

CLI:

mp runs payouts <run-id> -f json

智能体可以检查每笔付款金额、验证合计并在继续前标记异常。

3. 检查余额

API:

curl -X POST https://money.motivationlabs.ai/api/v1/runs/{id}/balance-check \
  -H "Authorization: Bearer mpk_live_..."

CLI:

mp runs balance-check <run-id>

如果 sufficient 为 false,智能体可通知人工从 Safe 转账。

4. 确认并执行

API:

curl -X POST https://money.motivationlabs.ai/api/v1/runs/{id}/confirm \
  -H "Authorization: Bearer mpk_live_..."

curl -X POST https://money.motivationlabs.ai/api/v1/runs/{id}/execute \
  -H "Authorization: Bearer mpk_live_..."

CLI:

mp runs confirm <run-id>
mp runs execute <run-id> --wait    # 阻塞直至所有付款完成

--wait 标志对智能体特别有用——它会自动轮询并在所有付款到达终态后返回。

5. 轮询完成状态(仅 API)

curl -X POST https://money.motivationlabs.ai/api/v1/runs/{id}/sync \
  -H "Authorization: Bearer mpk_live_..."

如果使用 CLI 的 --wait,此步骤自动处理。否则,智能体轮询 /sync 直至所有付款到达终态。

6. 报告结果

API:

curl https://money.motivationlabs.ai/api/v1/runs/{id} \
  -H "Authorization: Bearer mpk_live_..."

CLI:

mp runs get <run-id> -f json

智能体读取最终批次状态并生成摘要:已支付多少员工、总金额、是否有失败。

生成工具定义

对于使用工具/函数调用的框架(OpenAI、Anthropic、LangChain 等),可从 OpenAPI 规范生成工具 Schema:

curl https://money.motivationlabs.ai/api/v1/openapi.json

将每个端点转换为工具定义。例如,"创建批次"端点变为:

{
  "name": "create_payroll_run",
  "description": "Create a new payroll run for the given period",
  "parameters": {
    "type": "object",
    "properties": {
      "period_start": { "type": "string", "format": "date-time" },
      "period_end": { "type": "string", "format": "date-time" },
      "pay_date": { "type": "string", "format": "date-time" },
      "label": { "type": "string" },
      "type": { "type": "string", "enum": ["regular", "ad_hoc", "reimbursement"] }
    },
    "required": ["period_start", "period_end"]
  }
}

推荐的智能体作用域

智能体角色作用域
只读监控payroll:reademployees:readtreasury:readaudit:read
薪资发放运营payroll:readpayroll:writepayroll:executeemployees:readtreasury:read
全自动化payroll:*employees:*treasury:readaudit:readwebhooks:manage

用于异步智能体的 Webhooks

智能体可注册 Webhook 接收推送通知,而非轮询:

curl -X POST https://money.motivationlabs.ai/api/v1/webhooks \
  -H "Authorization: Bearer mpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-agent.example.com/webhook",
    "events": ["run.completed", "run.failed", "payout.failed"]
  }'

智能体的 Webhook 处理器接收结构化 JSON 负载并可立即响应——重试失败付款、通知相关方或更新内部账本。

安全注意事项

  • 执行操作需人工审批。 授予智能体 payroll:write 以创建和准备批次,但由人工确认和执行。确保资金转移有人工参与。
  • 使用短期 API 密钥。 为智能体密钥设置过期时间并定期轮换。
  • 监控审计日志。 每个 API 操作都记录了 API 密钥 ID。使用审计日志审查智能体活动。
  • 从测试批次开始。 使用测试批次功能以小额金额验证智能体的工作流,然后再上线。

On this page