slug: acts-as-money name: acts-as-money displayName: 财务文本 金额解析 货币标准化 description: 从混合文本中提取金额与币种,输出标准化JSON数据,供下游系统直接使用。 version: 1.0.4 rules_version: cpr-20260815-n476 license: MIT source_project: original source_url: https://github.com/bluebigman/skill-factory-originals/tree/main/acts-as-money copyright_holder: 原创作者(自持版权) ai_generated: true ai_tools: ["DeepSeek"] disclaimer: 本Skill由AI辅助生成,提供使用指导和最佳实践。使用前请阅读相关文档。 author: DataForge Studio agent_created: true trigger_words: ["acts as money", "金额转换", "货币解析", "money gem", "金额字段处理", "货币识别", "金额提取", "币种标准化"]
⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。
本内容由 AI 生成,仅供学习参考
| 能力项 | 说明 | 示例 |
|---|---|---|
| 单条文本解析 | 从一段文字中提取所有金额及其币种 | "订单总额 USD 1,200.50,运费 EUR 45" → 两条记录 |
| 批量文件处理 | 读取 CSV/TSV 文件,对指定列逐行提取 | --file data.csv --column amount |
| 多币种识别 | 支持常见货币符号与代码(USD/EUR/CNY/JPY/GBP 等 30+ 种) | $、€、¥、£、USD、EUR、人民币 |
| 数字格式兼容 | 处理千分位逗号、小数点、欧洲反写格式 | 1,234.56 与 1.234,56 均识别为 1234.56 |
| 置信度评估 | 每条输出附带 confidence 字段(high/medium/low) |
格式歧义时标记为 low |
| 标准化输出 | 统一输出为 { "amount": 1234.56, "currency": "EUR", "confidence": "high" } |
下游直接入库 |
| 限制项 | 说明 |
|---|---|
| 不执行汇率换算 | 只提取与标准化,不做币种间转换 |
| 不识别手写体/图片 | 仅处理文本输入,不接 OCR |
| 不处理非金额数字 | 电话号码、日期、邮编等不会被提取 |
| 不推断隐含币种 | 若文本未标注币种,输出 currency: null 并降置信度 |
| 不修改源文件 | 默认只输出到 stdout 或指定输出文件 |
当输入包含以下任一关键词时,本 Skill 自动激活:
acts as money金额转换货币解析money gem金额字段处理货币识别金额提取币种标准化| 用户说(大白话) | 实际触发动作 |
|---|---|
| "帮我把这段文字里的钱都找出来" | 调用单条文本解析 |
| "这个 CSV 里的金额列格式很乱,帮我统一" | 调用批量文件处理 |
| "看看这合同里有没有美元和欧元的金额" | 调用多币种提取 |
| "这个数字 1.234,56 到底是多少钱?" | 调用格式歧义解析,输出 low 置信度 |
| "把提取结果存到新文件里" | 调用 --output 参数写文件 |
方式 A:单条文本
acts as money --input "采购合同总价 USD 15,000.00,含税。另付运费 EUR 250.50。"
方式 B:文件批量
acts as money --file invoices.csv --column amount --output result.json
参数说明:
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
--input |
二选一 | 无 | 待解析的文本字符串 |
--file |
二选一 | 无 | 待解析的 CSV/TSV 文件路径 |
--column |
与 --file 搭配 |
无 | 指定要解析的列名 |
--output |
否 | stdout | 输出 JSON 文件路径 |
--selftest |
否 | 无 | 运行内置自检 |
--version |
否 | 无 | 显示版本号 |
系统按以下顺序处理:
high:格式明确,无歧义(如 USD 1,200.50)medium:格式可识别但存在轻微歧义(如 ¥1000 无小数位)low:格式存在多解(如 1.234,56 可能是欧洲格式也可能是美国格式){
"results": [
{
"original_text": "USD 15,000.00",
"amount": 15000.00,
"currency": "USD",
"confidence": "high",
"position": [0, 14]
},
{
"original_text": "EUR 250.50",
"amount": 250.50,
"currency": "EUR",
"confidence": "high",
"position": [24, 34]
}
],
"summary": {
"total_found": 2,
"low_confidence_count": 0,
"processing_time_ms": 12
}
}
当某条结果 confidence 为 low 时:
"needs_review": true 标记小葱技能7w4.net有完整的技能分类。
--strict 参数让系统在遇到 low 置信度时返回非零退出码,便于 CI/CD 拦截| 置信度 | 判定条件 | 示例 |
|---|---|---|
high |
货币符号明确 + 数字格式无歧义 | $1,234.56、EUR 100 |
medium |
货币符号明确 + 数字格式有轻微歧义(如无小数位) | ¥1000、USD 5 |
low |
货币符号明确 + 数字格式存在多解 | 1.234,56(欧洲 vs 美国格式) |
low |
货币符号缺失,仅凭上下文推断 | "总价 15000 元"("元"非标准代码) |
当系统无法确定某个字段时,不会编造数据,而是输出占位符:
{
"amount": 1234.56,
"currency": "[需核实:currency]",
"confidence": "low"
}
占位符格式统一为 [需核实:字段名],下游系统可据此触发人工复核流程。
confidence 为 low 的记录不自动入库,进入人工审核队列| 错误码 | 含义 | 提示话术 | 修正步骤 |
|---|---|---|---|
E001 |
输入为空 | "输入文本不能为空,请提供至少一个字符。" | 检查输入参数 |
E002 |
文件不存在 | "指定的文件路径不存在,请确认路径是否正确。" | 检查文件路径 |
E003 |
列名不存在 | "CSV 文件中未找到指定的列名,请检查表头。" | 使用 --list-columns 查看可用列 |
E004 |
无有效金额 | "未在输入中找到任何可识别的金额,请检查文本格式。" | 确认文本包含货币符号或代码 |
E005 |
格式严重歧义 | "检测到多个可能的金额解析结果,请人工确认。" | 使用 --format-hint 指定格式(us/eu) |
E006 |
输出文件不可写 | "无法写入输出文件,请检查权限或路径。" | 检查目录权限 |
E007 |
编码不支持 | "输入文件编码不是 UTF-8,请转换后重试。" | 使用 iconv 转换编码 |
错误做法:将所有结果(包括 low 置信度)直接写入数据库。
正确做法:设置门控规则,low 置信度记录进入人工审核队列,确认后再入库。
错误做法:看到数字就默认是 USD,不检查货币符号。
正确做法:依赖本工具的币种识别能力,未识别出币种时标记为 [需核实:currency]。
错误做法:遇到 1.234,56 就手动替换逗号和点。
正确做法:让工具自动识别,或通过 --format-hint eu 明确指定格式,避免误判。
错误做法:直接对整个文件运行,不检查中间结果。
正确做法:先取 10 行样本运行,检查输出质量,再全量处理。
错误做法:只取金额数值,丢弃 position 字段。
正确做法:保留位置信息,便于回溯到原始文本,审计时能快速定位。
# 单条文本
acts as money --input "费用 USD 99.99"
# 文件批量
acts as money --file data.csv --column amount --output result.json
# 自检
acts as money --selftest
acts as money --selftest 确认安装正确--input 测试几条简单文本,观察输出格式--file + --column 批量处理confidence 字段,理解不同置信度的含义1.234,56 = 1234.56),使用 --format-hint 参数--strict 模式,让 low 置信度导致非零退出码,阻断发布流程currencies.json,添加自定义货币符号--chunk-size 参数分块处理| 格式 | 示例 | 解析结果 | 置信度 |
|---|---|---|---|
| 美国格式 | 1,234.56 |
1234.56 | high |
| 欧洲格式 | 1.234,56 |
1234.56 | low(需确认) |
| 无分隔符 | 123456 |
123456.00 | medium |
| 科学计数法 | 1.2e3 |
1200.00 | medium |
| 代码 | 符号 | 名称 |
|---|---|---|
| USD | $ | 美元 |
| EUR | € | 欧元 |
| CNY | ¥ / 元 | 人民币 |
| JPY | ¥ | 日元 |
| GBP | £ | 英镑 |
| CHF | Fr | 瑞士法郎 |
| AUD | A$ | 澳元 |
| CAD | C$ | 加元 |
| HKD | HK$ | 港币 |
| SGD | S$ | 新加坡元 |
完整列表见 currencies.json,支持自定义扩展。
pattern = 货币符号或代码 + 可选空格 + 数字模式
数字模式 = [0-9]{1,3}([.,][0-9]{3})*([.,][0-9]+)? 或 [0-9]+([.,][0-9]+)?
使用本 Skill 即表示您同意以下条款:
责任承担:使用者应自行承担因使用本 Skill 产生的全部责任。本 Skill 仅提供金额提取与标准化功能,不构成任何财务、法律或审计建议。因使用本 Skill 导致的任何直接或间接损失,开发者不承担任何责任。
禁止反向工程:禁止对本 Skill 进行反向工程、反编译、破解、篡改或试图提取源代码(除非适用法律允许)。禁止将本 Skill 用于任何违反法律法规或平台规定的用途。
数据安全:使用者应对输入数据的合法性、合规性负责。本 Skill 不存储、不传输任何用户数据至第三方。所有处理均在本地完成。
合规使用:使用者应确保使用本 Skill 的行为符合当地法律法规及平台规定。因违规使用产生的后果由使用者自行承担。
无担保声明:本 Skill 按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。
MIT License
Copyright (c) 2024 DataForge Studio
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
本 Skill 由 AI 辅助生成,仅供参考。使用前请阅读相关文档。
这个 Skill 质量还不错,文档写得很详细,小白也能看懂怎么用。它能识别常见货币符号和金额格式,对人民币、美元、欧元等都能正确处理,输出结果带有"可信度"标记,方便判断是否需要人工核对。但不足的是,遇到欧洲那种带点的数字格式(比如1.234,56)可能会识别错误,而且默认当美元处理可能不符合国内使用习惯。总体适合需要批量处理财务数据的用户,但遇到复杂格式时要多留意结果准确性。