AI代理的支出追踪与记账工具。支持记录消费、设定预算、生成支出报告及管理多币种财务,数据本地存储。具备Privacy.com卡片导入、自然语言查询及CSV/JSON导出功能。适用于代理进行消费并需要财务审计追踪的场景。
AgentLedger - AAI Agent Expension Tracking.是一项面向实际任务的技能,主要用于Overview.;AgentLedger是一种记录你所做的每笔交易,跟踪多个账户的支出,并提供详细报告的会计技能.。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
AgentLedger 是一项会计能力,用于记录您发起的每一笔交易、跨多个账户追踪支出,并生成详细报表。使用本工具可完整保存您的采购财务记录。
重要提示:请务必在完成采购后立即记录交易。该能力专为 AI Agent 设计,用于追踪其自身费用(如 API 成本、工具订阅费等)。
每次发生采购时,请立即执行记录操作:
// 在 Node.js 环境中,引入 ledger 模块
const AgentLedger = require('./src/ledger.js');
const ledger = new AgentLedger();
// 记录一笔交易
await ledger.logTransaction({
amount: 29.99,
currency: 'USD',
vendor: 'OpenAI',
description: 'GPT-4 API credits',
category: 'API/Services',
account: 'privacy-card-1',
context: 'Needed additional tokens for user project analysis',
receiptUrl: 'https://platform.openai.com/receipts/xyz',
confirmationId: 'sub_1234567890'
});
CLI 使用方式(支持位置参数与命名参数两种风格):
# 位置参数风格
node src/cli.js log 29.99 "OpenAI" "GPT-4 API credits" --category="API/Services"
# 命名参数风格
node src/cli.js log --amount=29.99 --vendor="OpenAI" --description="GPT-4 API credits" --category="API/Services" --context="Monthly API refill"
// 获取支出汇总
const summary = await ledger.getSummary('this-month');
console.log(`Total spent this month: $${summary.total}`);
// 查询特定分类支出
const apiSpending = await ledger.getCategorySpending('API/Services', 'this-month');
// 月度报表
const report = await ledger.generateReport('monthly', { month: '2024-01' });
// 自定义日期范围
const customReport = await ledger.generateReport('custom', {
startDate: '2024-01-01',
endDate: '2024-01-31'
});
// 为 API 服务设置月度预算
await ledger.setBudget('API/Services', 500, 'monthly');
// 检查预算状态
const budgetStatus = await ledger.checkBudget('API/Services');
if (budgetStatus.isNearLimit) {
console.log(`Warning: ${budgetStatus.percentUsed}% of API budget used`);
}
请使用以下预定义分类,以确保支出追踪的一致性:
若存在 Privacy.com 卡片数据,系统将自动识别:
// 若 workspace/privacy/ 目录下存在 Privacy.com JSON 导出文件
await ledger.importPrivacyTransactions('./privacy/card-1.json');
// 注册新的付款方式
await ledger.addAccount({
id: 'stripe-main',
name: 'Main Stripe Account',
type: 'credit_card',
currency: 'USD'
});
支持以下形式的自然语言提问:
CLI 可直接处理此类查询:
node src/cli.js query "API spending this month"
node src/cli.js find "OpenAI" --last-week
支持的自然语言时间范围如下:
today、yesterdaythis-week、last-weekthis-month、last-monththis-quarter、last-quarterthis-year、last-yearlast-30-days、last-90-days// 导出为 CSV 格式
await ledger.exportTransactions('csv', './exports/transactions.csv');
// 导出为 JSON 格式
await ledger.exportTransactions('json', './exports/transactions.json');
# 初始化(仅需运行一次)
node src/cli.js init
# 记录交易(支持两种参数风格)
node src/cli.js log 29.99 "OpenAI" "API credits" --category="API/Services"
node src/cli.js log --amount=29.99 --vendor="OpenAI" --description="API credits" --category="API/Services"
# 查询当前支出
node src/cli.js summary # 本月
node src/cli.js summary --period="today" # 仅今日
node src/cli.js summary --period="this-week" # 本周
# 设置与检查预算
node src/cli.js budget set "API/Services" 500 # 设置月度预算
node src/cli.js budget status # 检查全部预算状态
# 生成详细报表
node src/cli.js report monthly
node src/cli.js report --type=category
node src/cli.js report --type=vendor
# 搜索交易记录
node src/cli.js find "OpenAI" # 按供应商搜索
node src/cli.js find "API" --category="API/Services" # 按分类搜索
node src/cli.js find --min-amount=50 # 查找大额支出
# 导出数据
node src/cli.js export csv # 导出为 CSV
node src/cli.js export --format=json # 导出为 JSON
# 自然语言查询
node src/cli.js query "How much did I spend on APIs this month?"
node src/cli.js query "What was that $25 charge?"
# 从 Privacy.com 导入数据
node src/cli.js import privacy ./privacy-export.json
workspace/ledger/transactions.jsonworkspace/ledger/accounts.jsonworkspace/ledger/budgets.jsonworkspace/ledger/settings.jsonAgentLedger 对常见异常情形具备鲁棒性处理能力:
.backup 文件恢复# 若出现 "Could not load transactions" 提示:
# 系统将自动尝试从备份恢复
# 数据通常可完全自动还原
# 手动检查备份文件是否存在
ls workspace/ledger/*.backup # 查看备份文件列表
workspace/ledger/ 下的 JSON 文件中privacy-card-1 或 company-amex