360 Secure SkillHub
360 安全技能中心

revolut

通过 Playwright 驱动浏览器自动登录 Revolut 网页银行,获取各币种钱包余额、交易流水、投资组合与投资交易,并以 JSON 文件输出;支持 login、accounts、transactions、portfolio、invest-transactions、logout 子命令,可将导出结果导入本地 banker 归档。

odrobnik
odrobnik
热度 70.60
最近更新 2026-07-04 21:44:55
分类:自动化依赖:联网浏览搜索 / 代码执行 / 读写文件应用场景:个人理财 / 财务 / 自动化脚本 / 数据处理 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add revolut
Metadata
name
revolut
description
Revolut web automation via Playwright: login/logout, list accounts, and fetch transactions.
summary
Revolut banking automation: login, accounts, transactions, portfolio.
version
1.3.3
homepage
https://github.com/odrobnik/revolut-skill
metadata
{"openclaw":{"emoji":"💳","requires":{"bins":["python3","playwright"],"python":["playwright"]}}}

Revolut Banking Automation

Fetch current account balances, investment portfolio holdings, and transactions for all wallet currencies and depots in JSON format. Uses Playwright to automate Revolut web banking.

Entry point: {baseDir}/scripts/revolut.py

Setup

See SETUP.md for prerequisites and setup instructions.

Commands

python3 {baseDir}/scripts/revolut.py --user oliver login
python3 {baseDir}/scripts/revolut.py --user oliver accounts
python3 {baseDir}/scripts/revolut.py --user oliver transactions --from YYYY-MM-DD --until YYYY-MM-DD
python3 {baseDir}/scripts/revolut.py --user sylvia portfolio
python3 {baseDir}/scripts/revolut.py --user oliver invest-transactions --from YYYY-MM-DD --until YYYY-MM-DD

Updating Banker (Full Refresh)

To fully synchronize Revolut data into the banker archive:

# 1. Login (needs approval via Revolut App)
python3 {baseDir}/scripts/revolut.py --user oliver login

# 2. Export accounts + portfolios
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_accounts.json accounts
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_portfolio.json portfolio

# 3. Export transactions (separated by wallet and invest depot)
# Find Wallet IDs from the accounts JSON (e.g. EUR wallet, USD wallet)
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_tx_eur.json transactions --account <EUR-WALLET-ID> --from 2025-01-01 --until 2026-12-31
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_tx_usd.json transactions --account <USD-WALLET-ID> --from 2025-01-01 --until 2026-12-31
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_invest_tx.json invest-transactions --from 2025-01-01 --until 2026-12-31

# 4. Import into banker
# Accounts and Wallet transactions
python3 ~/Developer/Skills/banker/scripts/banker.py import --bank oliver@revolut /tmp/rev_accounts.json /tmp/rev_tx_eur.json /tmp/rev_tx_usd.json

# Invest portfolio & transactions (must specify --account revolut_gia)
python3 ~/Developer/Skills/banker/scripts/banker.py import --bank oliver@revolut --account revolut_gia /tmp/rev_portfolio.json
python3 ~/Developer/Skills/banker/scripts/banker.py import --bank oliver@revolut --account revolut_gia --kind transactions /tmp/rev_invest_tx.json

# 5. Logout
python3 {baseDir}/scripts/revolut.py --user oliver logout

Recommended Flow

login → accounts → transactions → portfolio → logout

Always call logout after completing all operations to delete the stored browser session.

Notes

  • Per-user state stored in {workspace}/revolut/ (deleted by logout).
  • Output paths (--out) are sandboxed to workspace or /tmp.
  • No .env file loading — credentials in config.json only.