Manage YNAB budgets, accounts, categories, and transactions.

💰 终端掌控每一笔预算

YNAB CLI 允许开发者通过命令行直接管理预算、账户、分类和交易,适合自动化财务工作流与脚本集成。

收藏
11.2k
安装
2.5k
版本
1.0.0
CLS 安全性认证2026-05-16
点击查看完整报告 >

使用说明

核心用法

YNAB CLI 是基于 Node.js 的命令行工具,封装了 YNAB(You Need A Budget)的官方 API,提供完整的预算管理功能。用户通过 npm i -g @stephendolan/ynab-cli 安装后,需配置 YNAB_API_KEY 环境变量或执行 ynab auth login 完成认证。

工具采用层级命令结构:

  • 预算层ynab budgets list/view/set-default 管理多预算切换
  • 账户层ynab accounts list/view/transactions 查看账户余额与流水
  • 分类层ynab categories list/budget 支持按月份调整预算金额
  • 交易层:完整的 CRUD 操作,含高级筛选(--approved=false--min-amount)、搜索(memo/payee)及拆分交易功能
  • 原始 APIynab api GET/POST 提供底层访问能力

数据输出默认为格式化 JSON,可用 --compact 获取精简格式。

显著优点

1. 零 GUI 开销:纯 CLI 设计,服务器/CI 环境友好
2. 交易自动化:支持程序化创建、拆分、批量更新交易,适合报销处理、定期记账脚本

3. 灵活筛选:多维度查询(账户、日期范围、金额阈值、审批状态、备注关键词)

4. 直接预算调整:可命令行修改分类月度预算,便于快速重新分配资金

5. 标准 API 兜底ynab api 子命令弥补封装未覆盖的端点

潜在缺点与局限性

  • 只读限制:无法通过 API 创建新分类、分类组或收款人,需先在 YNAB Web/App 中手动创建
  • 速率限制:200 请求/小时,高频自动化场景需自行实现限流与重试
  • 货币处理风险:工具以"预算货币单位"直接操作,而非 YNAB 内部使用的 milliunits,虽提升可读性,但大额计算需注意浮点精度
  • 无内置缓存:重复查询相同数据将消耗 API 配额
  • Node 依赖:需维护 Node.js 运行时环境

适合人群

  • 习惯终端操作的 YNAB 重度用户
  • 需将财务数据同步到其他系统的开发者(如自建报表、Excel 自动化)
  • 希望编写报销脚本、定期转账记录的自动化爱好者
  • 在 headless 服务器上运行财务巡检的运维人员

常规风险

1. API 密钥泄露YNAB_API_KEY 需妥善保管,误提交到代码仓库将暴露完整预算读写权限
2. 误操作交易deleteupdate 无二次确认,脚本错误可能导致数据丢失

3. 速率超限:自动化脚本未限速将触发 429 错误,中断服务

4. 预算数据同步延迟:API 数据与官方 App 可能存在短暂不一致,高频对账场景需注意

安全解读

核心用法

YNAB CLI Skill 是一款面向 YNAB(You Need A Budget)用户的命令行工具封装,通过 ynab 命令实现完整的预算管理功能。安装依赖 Node.js 环境,通过 npm i -g @stephendolan/ynab-cli 全局安装后,需配置 YNAB_API_KEY 环境变量或执行 ynab auth login 完成 OAuth 授权。

功能矩阵

  • 预算层:列出/查看预算、设置默认预算
  • 账户层:账户列表、详情查看、交易流水查询
  • 分类层:分类管理、按月预算调整、历史交易追踪
  • 交易层:完整的 CRUD 操作(创建/读取/更新/删除)、拆分交易、条件筛选(按金额、状态、日期、备注、收款人)
  • 原始 API:支持直接调用 YNAB REST API,满足高级自定义需求

技术特性:金额使用预算货币单位(非毫单位),支持 --compact 精简输出,API 速率限制 200 次/小时。

显著优点

1. 开发者友好:纯 CLI 界面,输出格式为 JSON,便于与脚本、自动化工作流(如 GitHub Actions、cron 任务)集成
2. 功能完整:覆盖 YNAB 官方 API 的绝大部分能力,包括少见的拆分交易(split transaction)支持

3. 查询灵活:交易检索支持多维度过滤(账户、日期范围、审批状态、金额区间、关键词搜索)

4. 无 vendor lock-in:MIT 开源协议,依赖包由个人开发者维护但社区可见

潜在局限

1. 功能边界:无法通过 API 创建分类(category)、分类组(category groups)或收款人(payees),需先在 YNAB Web/App 端手动配置
2. 速率瓶颈:200 req/hour 的限制对批量导入历史数据场景可能构成约束

3. 依赖管理:运行时依赖外部 npm 包,版本更新可能带来 breaking changes

4. 无图形界面:纯文本输出,非技术用户上手门槛较高

适合人群

  • 开发者/工程师:希望将预算数据同步到个人财务仪表盘、Notion 数据库或自建 BI 系统
  • 自动化爱好者:搭建自动记账流水线(如结合银行 API 自动导入交易)
  • YNAB 重度用户:需要批量操作、历史数据分析或跨平台数据迁移
  • 隐私敏感者:倾向本地 CLI 工具而非第三方 SaaS 集成

常规风险

  • API 密钥泄露YNAB_API_KEY 具有完整预算读写权限,若硬编码在脚本或 shell history 中可能造成资金数据暴露
  • 误操作不可逆deleteupdate 等命令直接作用于真实预算数据,无二次确认机制
  • 速率超限触发:高频脚本未做节流处理可能导致 IP 临时封禁
  • npm 供应链风险:尽管当前依赖包来源可信(T2),建议锁定版本并监控 npm audit 报告

Manage YNAB budgets, accounts, categories, and transactions. 内容

手动下载zip · 1.1 kB
SKILL.mdtext/markdown
请选择文件