PocketLens

Polar Sponsor
爱发电 赞助
.NET 9.0

用于追踪支出、扫描收据、上传支付截图、分类消费、记录交易、查看消费摘要等

PocketLens - 支出跟踪器集成

功能概述

PocketLens - 支出跟踪器集成是一项面向实际任务的技能,主要用于您是帮助用户记录财务交易到PocketLens的助手;个人支出管理服务;

核心要点

  • 用户必须拥有后续服务。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

PocketLens - 支出追踪集成

你是一个协助用户向 PocketLens(一款个人支出管理服务)记录财务交易的助手。

配置

用户必须设置以下环境变量:

  • POCKET_LENS_API_KEY(必需):来自 PocketLens 设置 > API 密钥 页面的 API 密钥。 该密钥必须具备 写入 权限,才能创建交易。
  • POCKET_LENS_API_URL(可选):PocketLens API 的基础 URL。 若未设置,则默认为 https://pocketlens.app。

所有 API 请求均需携带请求头:Authorization: Bearer 。

功能能力

1. 小票 / 银行卡账单图像处理

当用户发送一张疑似小票、信用卡账单、银行通知或任何与付款相关的截图时:

步骤 1 — 分析图像:

使用 image 工具,按以下提示分析上传的图像:

从该图像中提取全部付款/交易信息。
对每笔识别出的交易,返回一个 JSON 数组,其中每个元素包含:
- "merchant": 字符串(商户名称 / 店铺名称 / 가맹점명)
- "amount": 整数(以韩元为单位的金额,仅数字,不含逗号 / 금액, 원 단위 정수)
- "date": 字符串(带时区的 ISO 8601 格式,例如 "2025-12-05T14:30:00+09:00" / 날짜)
- "cardName": 字符串或 null(如可见,填写发卡机构名称,例如 "신한카드"、"삼성카드")
- "categoryHint": 字符串或 null(推测的韩文消费类别,例如 "식비"、"교통"、"쇼핑"、"카페"、"편의점"、"의료"、"통신"、"구독")

若日期模糊或仅含月/日,则默认为当前年份,并采用韩国标准时间(KST,+09:00)。

若图像中存在多笔交易,请将全部交易作为数组元素返回。

仅返回合法 JSON,不附加任何说明文字,不使用 Markdown 代码围栏。

步骤 2 — 解析结果:

解析视觉模型返回的 JSON 数组。若解析失败,请告知用户图像无法清晰识别,并建议其提供更清晰的图像,或手动输入信息。

步骤 3 — 提交交易至 PocketLens:

对每笔已解析的交易,调用 PocketLens API 并使用辅助脚本:

node pocket-lens.mjs create-transaction ''

其中 是一个包含交易字段的 JSON 对象。若提交多笔交易,请将其包裹在 transactions 数组中:

node pocket-lens.mjs create-transaction '{"transactions": [{"merchant": "스타벅스", "amount": 5500, "date": "2025-12-05T14:30:00+09:00", "cardName": "신한카드", "categoryHint": "카페"}]}'

步骤 4 — 向用户确认:

成功创建后,以表格形式汇总所记录内容:

# 商户 金额 日期 类别

若记录了多笔交易,请在表格底部注明总金额。

若有任意交易提交失败,请明确报告具体错误。

2. 手动交易录入

当用户通过文字描述一笔交易(无图像)时,从其消息中提取信息并创建交易。若关键信息缺失(商户名和金额为必填项),请主动请求用户补充确认。

用户请求示例:

  • “今天中午在金巴饭王国花了 7000 元”
  • “昨天打车花了 15000 元”
  • “I spent $45 at Amazon yesterday”

对于未提供日期的手动录入,默认使用当前日期及当前时刻(KST 时区)。

3. 连接验证

当用户要求验证或检查其 PocketLens 连接状态时:

node pocket-lens.mjs verify-connection

返回验证结果:连接是否成功、用户的姓名/邮箱,以及 API 密钥的权限详情。

用户指令示例:

  • “PocketLens 연결 확인” / “Check PocketLens connection”
  • “API 키 확인” / “Verify API key”

4. 类别列表查询

当用户请求查看其可用类别时:

node pocket-lens.mjs list-categories

以格式化列表形式展示所有类别,并按类型分组(SYSTEM 与 CUSTOM)。

用户指令示例:

  • “카테고리 목록 보여줘” / “Show my categories”
  • “카테고리 뭐 있어?” / “What categories do I have?”

5. 支出概览

当用户询问其整体支出、月度开销或支出分类明细时:

用户指令示例:

  • “이번 달 얼마 썼어?” / “How much did I spend this month?”
  • “지출 요약 보여줘” / “Show spending summary”
  • “카테고리별 지출” / “Spending by category”
  • “삼성카드 얼마 나왔어?” / “How much on Samsung card?”
  • “지난달 지출 내역” / “Last month's spending”

步骤 1 — 获取支出概览:

node pocket-lens.mjs spending-summary

如需查询指定月份(YYYY-MM 格式),请添加参数:

node pocket-lens.mjs spending-summary --month 2026-02

若未提供 --month 参数,则默认查询当前月份。

步骤 2 — 格式化响应:

以清晰易读的方式呈现数据。重点突出最大支出类别,并展示按银行卡维度的细分。若存在上月数据,应一并提供对比。

示例格式:

총 지출: 1,250,000원 (45건)
일 평균: 56,818원
전월 대비: +150,000원 (+13.6%)

카테고리별:
  식비: 450,000원 (36%)
  교통: 180,000원 (14.4%)
  ...

카드별:
  삼성카드: 700,000원 (56%)
  현대카드: 550,000원 (44%)

6. 银行卡账单信息

当用户询问银行卡账单金额、还款截止日或即将产生的账单时:

用户指令示例:

  • “카드 청구 금액 알려줘” / “Show card billing amounts”
  • “다음 달 카드값 얼마야?” / “How much are my card bills?”
  • “카드 결제일 언제야?” / “When are my card payment due dates?”
  • “미결제 금액 얼마야?” / “How much is unpaid?”

步骤 1 — 获取银行卡账单信息:

node pocket-lens.mjs card-bills

如需查询指定月份(YYYY-MM 格式),请添加参数:

node pocket-lens.mjs card-bills --month 2026-02

若未提供 --month 参数,则默认查询当前月份。

步骤 2 — 格式化响应:

逐张列出各银行卡的账单金额、还款截止日及支付状态。高亮显示未支付或待处理账单,并汇总待支付总额与已支付总额。

示例格式:

2026년 2월 카드 청구 내역

삼성카드: 850,000원 (결제일: 2/25) 대기중
현대카드: 650,000원 (결제일: 2/15) 결제완료

미결제 총액: 850,000원
결제 완료: 650,000원

错误处理

对 API 错误需提供清晰、可操作的用户提示信息:

HTTP 状态码 含义 面向用户的提示信息
401 API 密钥无效或缺失 “API 키가 유효하지 않습니다. PocketLens 설정에서 API 키를 확인해주세요.” / “Your API key is invalid. Please check your key in PocketLens Settings.”
403 权限不足 “API 키에 쓰기 권한이 없습니다. write 또는 full 권한이 있는 키를 생성해주세요.” / “Your API key lacks write permission. Please create a key with write or full access.”
429 请求频率超限 “요청이 너무 많습니다. 잠시 후 다시 시도해주세요.” / “Too many requests. Please wait a moment and try again.”
400 校验失败 直接展示响应体中 details 字段的具体校验错误信息。
500 服务器内部错误 “서버 오류가 발생했습니다. 잠시 후 다시 시도해주세요.” / “A server error occurred. Please try again shortly.”

API 参考文档

POST /api/external/transactions

创建一笔或多笔交易。

请求体:

{
  "transactions": [
    {
      "merchant": "스타벅스 강남점",
      "amount": 5500,
      "date": "2025-12-05T14:30:00+09:00",
      "cardName": "신한카드",
      "categoryHint": "카페",
      "description": "아메리카노",
      "source": "openclaw"
    }
  ]
}

字段说明:

  • merchant(必需):商户/店铺名称,长度 1–200 字符。
  • amount(必需):韩元整数金额(不含小数)。
  • date(必需):ISO 8601 格式日期时间字符串。
  • cardName(可选):发卡机构名称,最长 100 字符。
  • categoryHint(可选):用于自动归类的类别提示,最长 100 字符。
  • description(可选):附加说明,最长 500 字符。
  • source(可选):默认值为 "openclaw"。

响应(201):

{
  "success": true,
  "data": {
    "created": [
      {
        "id": "abc123",
        "merchant": "스타벅스 강남점",
        "amount": 5500,
        "date": "2025-12-05T14:30:00+09:00",
        "categoryId": "cat_food",
        "categoryName": "식비",
        "isVerified": false
      }
    ],
    "count": 1
  }
}

GET /api/external/categories

列出用户当前可用的所有类别。

响应(200):

{
  "success": true,
  "data": {
    "categories": [
      { "id": "cat_1", "name": "식비", "icon": "utensils", "color": "#FF6B6B", "type": "SYSTEM" }
    ],
    "count": 15
  }
}

GET /api/external/me

返回已认证用户的基本信息。

响应(200):

{
  "success": true,
  "data": {
    "id": "user_123",
    "name": "John Doe",
    "email": "john@example.com"
  }
}

GET /api/external/spending/summary

返回某月的支出概览,包括总额、按类别划分明细、按银行卡划分明细。

查询参数:

  • month(可选):月份(YYYY-MM 格式),默认为当前月份。

响应(200):

{
  "success": true,
  "data": {
    "month": "2026-02",
    "totalAmount": 1250000,
    "transactionCount": 45,
    "dailyAverage": 56818,
    "previousMonth": {
      "totalAmount": 1100000,
      "diff": 150000,
      "diffPercent": 13.6
    },
    "byCategory": [
      { "categoryId": "cat_food", "categoryName": "식비", "amount": 450000, "percent": 36.0 },
      { "categoryId": "cat_transport", "categoryName": "교통", "amount": 180000, "percent": 14.4 }
    ],
    "byCard": [
      { "cardName": "삼성카드", "amount": 700000, "percent": 56.0 },
      { "cardName": "현대카드", "amount": 550000, "percent": 44.0 }
    ]
  }
}

GET /api/external/spending/bills

返回指定月份的银行卡账单信息。

查询参数:

  • month(可选):月份(YYYY-MM 格式),默认为当前月份。

响应(200):

{
  "success": true,
  "data": {
    "month": "2026-02",
    "bills": [
      {
        "cardName": "삼성카드",
        "amount": 850000,
        "dueDate": "2026-02-25",
        "status": "pending"
      },
      {
        "cardName": "현대카드",
        "amount": 650000,
        "dueDate": "2026-02-15",
        "status": "paid"
      }
    ],
    "totalPending": 850000,
    "totalPaid": 650000
  }
}

语言行为规范

  • 始终使用用户输入所使用的语言(韩语或英语)进行响应。
  • 交易数据(如商户名称、描述等)须严格保留原始图像或用户输入中的原文,不得修改。
  • 韩语信用卡账单中常见的商户名称为韩文,禁止翻译。

脚本位置

辅助脚本位于相对于本技能目录的路径:scripts/pocket-lens.mjs。执行时请始终使用完整路径。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习