
如何在 AI Agent 中使用 Midday CLI 的 --agent 模式获取结构化财务数据【免费下载链接】middayInvoicing, Time tracking, File reconciliation, Storage, Financial Overview your own Assistant made for Freelancers项目地址: https://gitcode.com/GitHub_Trending/mi/middayMidday CLInpm 包名midday-ai/cli官方定位就是 designed for humans and AI agents alike。当你的 AI Agent、自动化脚本或 CI 任务需要读取 Midday 中的交易、发票和报表数据时问题在于默认的表格输出带颜色和进度动画无法被程序解析。CLI 提供了一个全局标志--agentAgent mode: JSON, no prompts, no spinners配合 API Key 认证可以拿到纯 JSON 输出并彻底避免交互式提示。本文完成一条完整路径安装 CLI → 用 API Key 完成无头认证 → 用--agent拉取结构化财务数据 → 按 JSON 信封结构解析并判断成败。一、安装 Midday CLIREADME 给出两种安装方式# 一次性运行不全局安装 npx midday-ai/clilatest # 或全局安装之后直接调用 midday 命令 npm install -g midday-ai/cli在 Agent 环境中更常用全局安装因为后续会多次调用midday子命令。二、认证Agent 环境下优先用 API KeyCLI 提供两条认证路径Agent 场景要选对交互式 OAuth适合人工首次登录midday auth login # 打开浏览器完成 OAuth midday auth login --no-browser # 只打印授权 URL手动在浏览器打开API Key无头环境的主路径没有浏览器的 Agent 运行环境服务器、容器应使用 API KeyREADME 给出两种方式# 方式一通过 stdin 传入写入本地凭据存储 echo $MIDDAY_API_KEY | midday auth login --token-stdin # 方式二直接设置环境变量跳过 auth login MIDDAY_API_KEYxxx midday transactions list环境变量MIDDAY_API_KEY的文档说明是 API key (skipauth login)即设置后无需再执行登录命令。认证完成后用以下命令验证当前会话midday auth status若未登录auth status会提示未登录状态而后续任何数据命令都会抛出认证错误见第五节的排查部分。三、--agent 模式的输出规则--agent是在根命令上注册的全局标志见 CLI 入口README 的 Global Flags 表中的说明是--agent→ Agent mode: JSON, no prompts, no spinners。它带来的行为变化均可在源码中核对输出格式强制为 JSON。输出格式解析逻辑 中只要flags.agent || flags.json为真就返回json不再受终端是否为 TTY 影响。不显示进度动画和交互提示。--agent与--quiet、--json一样会关闭 UI 输出见 shouldShowUI。成功输出的 JSON 信封单对象命令如transactions get、reports revenue输出结构为{ data: ... }列表命令如transactions list、invoices list额外附带分页信息结构来自 printJson / printJsonList{ data: [], pagination: { has_more: false, cursor: null, page_size: 25 } }以上是字段结构说明字段名来自源码data内是实际业务数据数值会随你的账户内容变化。错误输出JSON 模式下错误写入stderrstdout 保持干净可直接被管道消费结构为{ error: { code, message }, data: null }进程以退出码 1 结束见 错误处理。这对 Agent 很重要可以同时检查退出码和 stderr 的 JSON 错误体来分支处理。四、拉取结构化财务数据以下命令均按 README 的 Agent MCP Integration 示例采用--agent放在子命令之前的写法。按日期范围列出交易midday --agent transactions list --from 2026-01-01 --to 2026-03-31transactions list支持完整的过滤参数见 commands/transactions参数用途--search query按名称或描述搜索--category slug按分类 slug 过滤--account id按银行账户 ID 过滤--status status按状态过滤--page-size n每页条数默认 25--cursor cursor分页游标分页第一页返回的pagination.cursor配合has_more: true表示还有下一页Agent 应循环执行midday --agent transactions list --cursor 上一页返回的 cursor直到has_more为false。发票数据midday --agent invoices list --status unpaidREADME 中还给出与jq组合的提取示例--json与--agent都会产生 JSON 输出midday invoices list --json | jq .data[].invoiceNumber报表数据报表命令支持--from、--toYYYY-MM-DD和--currency参数见 commands/reportsmidday --agent reports revenue --from 2026-01-01 --to 2026-03-31 midday --agent reports runway --currency USD midday --agent reports spending可选的报表子命令包括revenue、profit、burn-rate、runway、expenses、spending。通过 stdin 传入数据Agent 生成的 JSON 也可以通过--stdin写回README 示例cat invoice.json | midday invoices create --stdin其中invoice.json是你自行准备的请求体文件。五、验证与常见问题判断调用是否成功看退出码——成功为 0失败为 1且 stderr 是{ error: { code, message }, data: null }结构的 JSON。Agent 侧可据此解析error.code做分支。认证失败未登录时错误消息为Not logged in. Run midday auth login to authenticate.见 AuthRequiredError。处理方式回到第二节重新执行midday auth login --token-stdin或确认MIDDAY_API_KEY环境变量已导出。请求排查--debug全局标志会把详细的 HTTP 日志输出到 stderrstdout 的 JSON 不受污染适合 Agent 排障时附加使用。端点覆盖默认 API 地址为https://api.midday.ai见 getApiUrl。如需指向自部署或测试环境可用环境变量MIDDAY_API_URL或全局标志--api-url url覆盖OAuth 回调地址则可用MIDDAY_DASHBOARD_URL覆盖。其他环境变量README Environment Variables 表NO_COLOR可禁用彩色输出MIDDAY_API_URL、MIDDAY_DASHBOARD_URL如上。边界说明--agent只改变输出形态强制 JSON、关闭提示与动画不改变任何请求的语义它与--json在输出格式上等效区别在于--agent是面向 Agent 的完整模式。认证凭据保存在本地凭据存储中midday auth logout可清除在多用户 Agent 环境里建议优先走MIDDAY_API_KEY环境变量避免在机器上长期留存交互式登录的凭据。【免费下载链接】middayInvoicing, Time tracking, File reconciliation, Storage, Financial Overview your own Assistant made for Freelancers项目地址: https://gitcode.com/GitHub_Trending/mi/midday创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考