BillClaw - Financial Data Management for OpenClaw
Complete financial data management for OpenClaw with local-first architecture. Sync bank transactions, fetch bills from email, and export to accounting formats.
Security & Trust
BillClaw is safe, open-source software designed with security-first principles.
Verification
- - Transparent packages: All npm packages are open-source and published with provenance
- Auditable code: Full source available at GitHub
- npm provenance: Cryptographic proof linking packages to source code
- Local-first: Your financial data never leaves your machine
- User-controlled credentials: You provide all API credentials through your own accounts
- System keychain: Tokens encrypted in your platform's secure keychain
- Explicit invocation: Requires explicit user action (
disable-model-invocation: true)
See SECURITY.md for detailed security architecture and verification steps.
Addressing Security Concerns
| Concern | Explanation |
|---|
| sets-process-name | Comes from transitive npm dependencies, not BillClaw code |
| detect-debug-environment |
Common Node.js ecosystem pattern, not malicious |
|
API credentials | Required for functionality; you control them from your accounts |
|
External packages | All packages are open-source with npm provenance |
Required Credentials
Important: Credentials are NOT required at install time. Configure them when you're ready to use specific features:
| Environment Variable | Purpose | Required For |
|---|
| INLINECODE1 | Plaid API client ID | Plaid bank sync |
| INLINECODE2 |
Plaid API secret | Plaid bank sync |
|
GMAIL_CLIENT_ID | Gmail OAuth client ID | Gmail bill fetching |
|
GMAIL_CLIENT_SECRET | Gmail OAuth client secret | Gmail bill fetching |
Obtain credentials from:
- - Plaid: https://dashboard.plaid.com/
- Gmail: https://console.cloud.google.com/apis/credentials
Configure via:
- 1. Environment variables (recommended)
- Configuration file (
~/.firela/billclaw/config.json) - OpenClaw config under INLINECODE6
Quick Start (OpenClaw)
1. Install the Plugin
CODEBLOCK0
The plugin registers these tools and commands with OpenClaw:
- - Tools:
plaid_sync, gmail_fetch, conversational_sync, INLINECODE10 - Commands:
/billclaw-setup, /billclaw-sync, /billclaw-status, INLINECODE14
2. Configure Credentials
When you're ready to use a feature, configure the required credentials:
CODEBLOCK1
3. Setup Your Accounts
CODEBLOCK2
The interactive wizard will guide you through:
- - Connecting bank accounts (Plaid/GoCardless)
- Configuring Gmail for bill fetching
- Setting local storage location
4. Sync Your Data
CODEBLOCK3
Or use the command directly:
CODEBLOCK4
5. Export to Accounting Formats
CODEBLOCK5
OpenClaw Integration
This skill provides instructions for using BillClaw with OpenClaw. The actual integration is provided by the @firela/billclaw-openclaw npm package.
Available Tools (via Plugin)
- -
plaid_sync - Sync bank transactions from Plaid - INLINECODE16 - Fetch bills from Gmail
- INLINECODE17 - Natural language sync interface
- INLINECODE18 - Check sync status
Available Commands (via Plugin)
- -
/billclaw-setup - Configure accounts - INLINECODE20 - Sync transactions
- INLINECODE21 - View status
- INLINECODE22 - Manage configuration
Additional Components (Optional)
Standalone CLI
For users who prefer a command-line interface, the standalone CLI is available as a separate npm package. See https://github.com/fire-la/billclaw for installation instructions.
Connect OAuth Server
For self-hosted OAuth flows, the Connect server is available as a separate npm package. See https://github.com/fire-la/billclaw for configuration details.
Data Sources
| Source | Description | Regions |
|---|
| Plaid | Bank transaction sync | US, Canada |
| GoCardless |
European bank integration | Europe |
|
Gmail | Bill fetching via email | Global |
Storage
- - Location:
~/.firela/billclaw/ (your home directory) - Format: JSON files with monthly partitioning
- Security: Local-only storage
Configuration
Configuration is stored in ~/.firela/billclaw/config.json:
CODEBLOCK6
Export Formats
Beancount
CODEBLOCK7
Ledger
CODEBLOCK8
Getting Help
- - Documentation: https://github.com/fire-la/billclaw
- Issues: https://github.com/fire-la/billclaw/issues
- Security: Report security vulnerabilities privately at security@fire-la.dev
- npm packages: https://www.npmjs.com/org/firela
BillClaw - OpenClaw的财务数据管理
为OpenClaw提供完整的财务数据管理,采用本地优先架构。同步银行交易、从电子邮件获取账单,并导出为会计格式。
安全与信任
BillClaw是安全、开源的软件,以安全优先为设计原则。
验证
- - 透明的包:所有npm包均为开源,并附带来源证明发布
- 可审计的代码:完整源码可在GitHub获取
- npm来源证明:将包与源代码关联的加密证明
- 本地优先:您的财务数据永远不会离开您的设备
- 用户控制的凭证:您通过自己的账户提供所有API凭证
- 系统钥匙串:令牌在您平台的安全钥匙串中加密存储
- 显式调用:需要明确的用户操作(disable-model-invocation: true)
详细的安全架构和验证步骤请参见SECURITY.md。
解决安全问题
| 问题 | 说明 |
|---|
| sets-process-name | 来自传递性npm依赖,非BillClaw代码 |
| detect-debug-environment |
常见的Node.js生态系统模式,非恶意 |
|
API凭证 | 功能所需;您通过自己的账户控制 |
|
外部包 | 所有包均为开源,带有npm来源证明 |
所需凭证
重要提示:安装时不需要凭证。当您准备使用特定功能时再进行配置:
| 环境变量 | 用途 | 所需功能 |
|---|
| PLAIDCLIENTID | Plaid API客户端ID | Plaid银行同步 |
| PLAID_SECRET |
Plaid API密钥 | Plaid银行同步 |
| GMAIL
CLIENTID | Gmail OAuth客户端ID | Gmail账单获取 |
| GMAIL
CLIENTSECRET | Gmail OAuth客户端密钥 | Gmail账单获取 |
获取凭证:
- - Plaid:https://dashboard.plaid.com/
- Gmail:https://console.cloud.google.com/apis/credentials
配置方式:
- 1. 环境变量(推荐)
- 配置文件(~/.firela/billclaw/config.json)
- OpenClaw配置中的skills.entries.billclaw.env
快速开始(OpenClaw)
1. 安装插件
bash
npm install @firela/billclaw-openclaw
该插件向OpenClaw注册以下工具和命令:
- - 工具:plaidsync、gmailfetch、conversationalsync、conversationalstatus
- 命令:/billclaw-setup、/billclaw-sync、/billclaw-status、/billclaw-config
2. 配置凭证
当您准备使用某个功能时,配置所需的凭证:
bash
用于Plaid银行同步
export PLAID
CLIENTID=your
clientid
export PLAID
SECRET=yoursecret
用于Gmail账单获取
export GMAIL
CLIENTID=your
clientid
export GMAIL
CLIENTSECRET=your_secret
3. 设置您的账户
/billclaw-setup
交互式向导将引导您完成:
- - 连接银行账户(Plaid/GoCardless)
- 配置Gmail以获取账单
- 设置本地存储位置
4. 同步您的数据
您:同步我上个月的银行交易
OpenClaw:[使用BillClaw插件中的plaid_sync工具]
从支票账户同步了127笔交易
或直接使用命令:
/billclaw-sync --from 2024-01-01 --to 2024-12-31
5. 导出为会计格式
/billclaw-export --format beancount --output 2024.beancount
OpenClaw集成
此技能提供在OpenClaw中使用BillClaw的说明。实际集成由@firela/billclaw-openclaw npm包提供。
可用工具(通过插件)
- - plaidsync - 从Plaid同步银行交易
- gmailfetch - 从Gmail获取账单
- conversationalsync - 自然语言同步接口
- conversationalstatus - 检查同步状态
可用命令(通过插件)
- - /billclaw-setup - 配置账户
- /billclaw-sync - 同步交易
- /billclaw-status - 查看状态
- /billclaw-config - 管理配置
附加组件(可选)
独立CLI
对于偏好命令行界面的用户,独立CLI作为单独的npm包提供。安装说明请参见https://github.com/fire-la/billclaw。
Connect OAuth服务器
对于自托管OAuth流程,Connect服务器作为单独的npm包提供。配置详情请参见https://github.com/fire-la/billclaw。
数据源
| 来源 | 描述 | 地区 |
|---|
| Plaid | 银行交易同步 | 美国、加拿大 |
| GoCardless |
欧洲银行集成 | 欧洲 |
|
Gmail | 通过电子邮件获取账单 | 全球 |
存储
- - 位置:~/.firela/billclaw/(您的主目录)
- 格式:按月分区的JSON文件
- 安全性:仅本地存储
配置
配置存储在~/.firela/billclaw/config.json中:
json
{
plaid: {
clientId: yourclientid,
secret: your_secret,
environment: sandbox
},
gmail: {
clientId: yourgmailclient_id,
clientSecret: yourgmailclient_secret
}
}
导出格式
Beancount
2024/01/15 * 星巴克
Expenses:Coffee
Liabilities:CreditCard:Visa
$5.50
Ledger
2024/01/15 星巴克
Expenses:Coffee $5.50
Liabilities:Credit Card:Visa
获取帮助
- - 文档:https://github.com/fire-la/billclaw
- 问题反馈:https://github.com/fire-la/billclaw/issues
- 安全:私下报告安全漏洞至security@fire-la.dev
- npm包:https://www.npmjs.com/org/firela