← 返回
数据分析 中文

Copilot Money Mac

Query and analyze personal finance data from the Copilot Money Mac app. Use when the user asks about their spending, transactions, account balances, budgets,...
查询并分析 Copilot Money Mac 应用的个人财务数据。适用于用户询问支出、交易、账户余额、预算等场景。
chardigio
数据分析 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 1,023
下载
💾 12
安装
1
版本
#latest

概述

Copilot Money

Query local data from the Copilot Money Mac app to analyze transactions, spending patterns, account balances, investments, and budgets. Data is stored in both SQLite (transactions, balances) and Firestore LevelDB cache (recurring names, budgets, investments).

Database Location

~/Library/Group Containers/group.com.copilot.production/database/CopilotDB.sqlite

Schema

Transactions Table

Primary table for all financial transactions.

ColumnTypeDescription
---------------------------
idTEXTPrimary key
dateDATETransaction date
nameTEXTMerchant/transaction name
original_nameTEXTRaw name from bank
amountDOUBLETransaction amount (positive = expense)
iso_currency_codeTEXTCurrency (e.g., "USD")
account_idTEXTLinked account reference
category_idTEXTCategory reference
pendingBOOLEANWhether transaction is pending
recurringBOOLEANWhether transaction is recurring
recurring_idTEXTLinks to recurring definition (see Firestore)
user_noteTEXTUser-added notes
user_deletedBOOLEANSoft-deleted by user

accountDailyBalance Table

Daily balance snapshots per account.

ColumnTypeDescription
---------------------------
dateTEXTSnapshot date
account_idTEXTAccount reference
current_balanceDOUBLEBalance on that date
available_balanceDOUBLEAvailable balance

Firestore Cache (LevelDB)

Additional data is stored in Firestore's local LevelDB cache, not in the SQLite database.

Location:

~/Library/Containers/com.copilot.production/Data/Library/Application Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb

Collections

CollectionDescription
-------------------------
itemsLinked bank accounts/institutions
investment_pricesHistorical security prices
investment_performanceTWR (time-weighted return) per holding
investment_splitsStock split history
securitiesStock/fund metadata
users/.../budgetsBudget definitions (amount, category_id)
users/.../recurringsRecurring transaction definitions
amazonAmazon order matching data

Recurring Definitions

FieldDescription
--------------------
nameDisplay name (e.g., "Water / Sewer", "Rent")
match_stringTransaction name to match (e.g., "CHECK PAID")
plaid_category_idCategory ID for the recurring
state"active" or "inactive"

Data Not in SQLite

  • Recurring names - human-readable names like "Rent", "Netflix"
  • Budget amounts - monthly budget per category
  • Investment data - holdings, prices, performance, splits
  • Account/institution names - Chase, Fidelity, etc.
  • Category names - Restaurants, Travel, Groceries, etc.

Extracting Data from LevelDB

List all recurring names:

for f in ~/Library/Containers/com.copilot.production/Data/Library/Application\ Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb; do
  strings "$f" 2>/dev/null | grep -B10 "^state$" | grep -A1 "^name$" | grep -v "^name$" | grep -v "^--$"
done | sort -u | grep -v "^$"

List all collections:

for f in ~/Library/Containers/com.copilot.production/Data/Library/Application\ Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb; do
  strings "$f" 2>/dev/null
done | grep -oE "documents/[a-z_]+/" | sort | uniq -c | sort -rn

Find category names:

for f in ~/Library/Containers/com.copilot.production/Data/Library/Application\ Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb; do
  strings "$f" 2>/dev/null
done | grep -iE "^(groceries|restaurants|shopping|entertainment|travel|transportation|utilities)$" | sort -u

Common Queries

Recent Transactions

SELECT date, name, amount, category_id
FROM Transactions
WHERE user_deleted = 0
ORDER BY date DESC
LIMIT 20;

Monthly Spending Summary

SELECT strftime('%Y-%m', date) as month, SUM(amount) as total
FROM Transactions
WHERE amount > 0 AND user_deleted = 0
GROUP BY month
ORDER BY month DESC;

Spending by Category

SELECT category_id, SUM(amount) as total, COUNT(*) as count
FROM Transactions
WHERE amount > 0 AND user_deleted = 0 AND date >= date('now', '-30 days')
GROUP BY category_id
ORDER BY total DESC;

Search Transactions

SELECT date, name, amount
FROM Transactions
WHERE name LIKE '%SEARCH_TERM%' AND user_deleted = 0
ORDER BY date DESC;

List Recurring Transactions

SELECT DISTINCT name, recurring_id
FROM Transactions
WHERE recurring = 1 AND user_deleted = 0
ORDER BY name;

Usage

Use sqlite3 to query the database:

sqlite3 ~/Library/Group\ Containers/group.com.copilot.production/database/CopilotDB.sqlite "YOUR_QUERY"

For formatted output:

sqlite3 -header -column ~/Library/Group\ Containers/group.com.copilot.production/database/CopilotDB.sqlite "YOUR_QUERY"

Notes

  • Category IDs are opaque strings - group by them for analysis (names are in Firestore cache)
  • Amounts are positive for expenses, negative for income
  • Filter user_deleted = 0 to exclude deleted transactions
  • Both databases are actively used by the app; read-only access is safe
  • SQLite has recurring_id linking to Firestore recurring definitions
  • Use strings on LevelDB files to extract human-readable data from Firestore cache

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-29 08:25 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 366 📥 139,959
data-analysis

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 269 📥 56,890
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 198 📥 64,855