← 返回 Skills 市场
weidd130

BwInvoice

作者 weidd130 · GitHub ↗ · v0.5.12 · MIT-0
cross-platform ⚠ suspicious
337
总下载
1
收藏
0
当前安装
13
版本数
在 OpenClaw 中安装
/install bw-invoice-verification-service
功能描述
Use the local invoice service script to initialize app keys, query quota and packages, verify invoice text or images, batch-verify local folders, and create...
使用说明 (SKILL.md)

说明:本技能固定使用 http://asset-check-innovate-service-http.default.yf-bw-test-2.test.51baiwang.com 作为 API base URL,config set --api-base-url 不可用。

Invoice Verification Service

Use this skill when the user wants to:

  • Query remaining invoice verification quota
  • Show recharge packages
  • Verify invoice text
  • Verify a local invoice image
  • Batch-verify invoice images in a local folder
  • Create or query a recharge order

Script

Always run:

node "{baseDir}/scripts/invoice_service.js" \x3Caction> ...

First-Time Setup

The skill always uses the built-in API base URL https://test.51yzt.cn/assetInnovate. There is no config set --api-base-url option.

Initialize the app key once:

node "{baseDir}/scripts/invoice_service.js" init-key

Common Commands

Show current config:

node "{baseDir}/scripts/invoice_service.js" config show

Query packages:

node "{baseDir}/scripts/invoice_service.js" packages

Query remaining quota:

node "{baseDir}/scripts/invoice_service.js" quota

Query ledger:

node "{baseDir}/scripts/invoice_service.js" ledger --page 1 --page-size 20

Verify invoice text:

node "{baseDir}/scripts/invoice_service.js" verify --text "\x3Cinvoice text>" --format json

Verify a local image:

node "{baseDir}/scripts/invoice_service.js" verify-image --image-file C:\path\invoice.png --format json

Verify an uploaded image payload (base64/data-url):

node "{baseDir}/scripts/invoice_service.js" verify-image --image "\x3Cdata:image/...;base64,...>" --format json

Batch-verify a local folder:

node "{baseDir}/scripts/invoice_service.js" verify-directory --dir C:\path\invoice-images --format json

Create a recharge order:

node "{baseDir}/scripts/invoice_service.js" create-order --amount 10

Query an order:

node "{baseDir}/scripts/invoice_service.js" query-order --order-no ORDER123456789

Behavior Rules

  • Prefer quota when the user asks for remaining count.
  • Prefer packages when the user asks for available recharge plans.
  • Prefer verify-image when the user provides a local image path.
  • Prefer verify-image when the user provides an uploaded image (base64/data-url) too.
  • Prefer verify-directory when the user provides a local folder path with many invoice images.
  • Prefer create-order when the user explicitly chooses a package amount.
  • For any verify-image call, explicitly tell the user it consumes 2 quota each time.
  • After create-order, report the payment link plus all available QR codes (returned in data.qrCodes). The script now polls settlement by default and returns data.orderPolling + data.paymentSettled; if paymentSettled=true, explicitly tell the user recharge has arrived.
  • Return the script JSON result directly and do not invent fields.
  • When the user says “帮我安装这个技能” or similar install request, reply with the install command clawhub install bw-invoice-verification-service, remind them to restart OpenClaw, and ask them to say “帮我初始化” or send $bw-invoice-verification-service init-key once installation completes—note that “帮我安装” alone only installs the skill and does not run init-key.
安全使用建议
Do not install blindly. Before installing or running the skill: (1) ask the publisher to reconcile the conflicting endpoint claims (which exact base URL will be used and whether it can be overridden); (2) request a clear statement of what device identifiers the script sends to the backend and why; (3) consider running the script in a sandboxed environment and inspect outbound requests (init-key) to confirm the destination and payload; (4) if you must use it, prefer providing a dedicated non-sensitive environment (or network isolation) and review ~/.openclaw/invoice-skill/config.json and identity.json after init; (5) if you cannot verify the endpoint and data flows, avoid installing — the main risks are undeclared data collection (MACs, hostname, username, derived fingerprints) and unclear external endpoints.
功能分析
Type: OpenClaw Skill Name: bw-invoice-verification-service Version: 0.5.12 The skill performs invoice verification but includes aggressive device fingerprinting logic in `scripts/invoice_service.js`. The script collects sensitive system metadata, including MAC addresses, hostnames, and local usernames, to generate a stable device identifier sent to external endpoints (e.g., `test.51yzt.cn`). While this behavior is likely intended for quota management and licensing, the collection of hardware-specific identifiers without explicit disclosure is a privacy risk. Additionally, there is a discrepancy between the API base URL mentioned in `SKILL.md` and the default URL hardcoded in the script.
能力评估
Purpose & Capability
The skill claims to be a local invoice verification helper (node script) which is reasonable, but the package contains multiple, conflicting base-URL claims: SKILL.md header fixes a test internal host (http://asset-check-innovate-service-http.default.yf-bw-test-2.test.51baiwang.com), later SKILL.md/README declare https://test.51yzt.cn/assetInnovate or examples like http://192.168.154.76:18888, while the script's DEFAULT_API_BASE_URL is https://test.51yzt.cn/assetInnovate. SKILL.md also at one place says `config set --api-base-url` is not available but README and the script indicate base URL can be configured — these contradictions are unexpected and inconsistent with the stated purpose.
Instruction Scope
Runtime instructions tell the agent to run the bundled node script (expected), but the script does more than described in SKILL.md: it collects local system identifiers (hostname, username, MAC addresses) and derives stable device/client IDs, reads legacy plugin config at ~/.openclaw/invoice-plugin/config.json, and persists identity/config under ~/.openclaw/invoice-skill. SKILL.md does not explicitly disclose the collection of MACs/hostnames/device fingerprinting, which is privacy-sensitive and relevant because these identifiers will be included in API calls (e.g., init-key).
Install Mechanism
There is no installer that downloads external code — the skill is instruction-only plus a bundled script. No install spec or remote download URLs were provided, which lowers supply-chain risk. The agent will simply run the shipped node script.
Credentials
The declared requirements list no environment variables, but the script reads process.env.INVOICE_API_BASE_URL and also accepts OPENCLAW_DEVICE_FINGERPRINT and OPENCLAW_CLIENT_INSTANCE_ID. Those env vars are not declared in the metadata. Additionally, the script gathers local hardware identifiers (MACs, hostname, username) which are not disclosed in SKILL.md — sending these identifiers to the external API is disproportionate to a simple invoice verifier unless the user explicitly expects device-binding behavior.
Persistence & Privilege
The script persists config and identity files under the skill's own directory (~/.openclaw/invoice-skill) and reads a legacy config. It does not request always:true or system-wide configuration changes. Persisting an appKey and device fingerprint is plausible for this service, but combined with the undeclared identifier collection it increases privacy impact.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bw-invoice-verification-service
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bw-invoice-verification-service 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.5.12
- Updated polling and settlement handling after recharge order creation to return new fields: data.orderPolling and data.paymentSettled. - Instructions clarified: if data.paymentSettled=true, explicitly inform the user that recharge has arrived. - No changes to command usage or API endpoints. - Documentation refined to align behavior with updated script output.
v0.5.11
bw-invoice-verification-service 0.5.11 - Updated scripts/invoice_service.js (details not specified). - No changes to usage, commands, or behavior rules in SKILL.md. - No new features or breaking changes documented.
v0.5.10
- Added support for verifying uploaded invoice images (base64/data-url) via the verify-image command. - Updated documentation to clarify usage of verify-image with both file paths and base64/data-url inputs. - Clarified that each verify-image call (file or upload) consumes 2 quota. - Improved behavior rules to handle both local and uploaded images.
v0.5.9
- Added order settlement polling: after creating a recharge order, the script now returns `data.orderPolling` and `data.paymentSettled`; if payment is settled, inform the user recharge has arrived. - Updated behavior notes to reflect order polling and settlement notification. - Removed the unused `scripts/publish_clawhub.sh` file. - Documentation and behavior clarifications in SKILL.md.
v0.5.8
bw-invoice-verification-service v0.5.8 - Improved instructions after creating a recharge order: Now reminds users to query their quota explicitly after payment. - Clarified documentation to indicate that order polling is no longer supported. - Added a new script: scripts/publish_clawhub.sh. - Minor updates to behavior rules and user guidance.
v0.5.7
No changes detected in this version. - Version 0.5.7 contains no file or documentation changes over the previous release.
v0.5.6
- Added support for returning details.suggestedActions after create-order, enabling OpenClaw to render follow-up buttons like 查询订单 and 查询额度. - Updated guidance: do not ask users to manually type follow-up phrases after creating an order; rely on suggestedActions instead. - Clarified that orderPolling is no longer expected or required after order creation.
v0.5.5
Version 0.5.5 - After creating a recharge order, now report both the payment link and all available QR codes (from data.qrCodes). - Clarified user reminder: after payment, user should explicitly query their quota; no order polling is performed. - Documentation updated in SKILL.md to reflect these changes.
v0.5.4
bw-invoice-verification-service v0.5.4 - Stopped polling for order status after recharge order creation; user must now check quota explicitly after payment. - Updated behavior guidance to remind users to query quota after payment instead of relying on automatic polling. - Removed `--wait-seconds` and `--poll-interval-seconds` from recharge order creation command. - Documentation clarified for post-payment workflow and common commands.
v0.5.3
Version 0.5.3 - Updated the API base URL to `https://test.51yzt.cn/assetInnovate`. - Added guidance: When a user requests installation (e.g., “帮我安装这个技能”), reply with the install command, remind to restart OpenClaw, and instruct to run the initialization step after installation. - Expanded behavior rules in documentation to include installation request handling.
v0.5.2
bw-invoice-verification-service v0.5.2 - No user-facing changes documented; likely internal or refactor updates. - Project description and usage instructions remain unchanged.
v0.5.1
- The skill now always uses a fixed API base URL and no longer supports changing it with `config set --api-base-url`. - Documentation updated to clarify that the API base URL is built-in and cannot be modified. - Minor edits to skill name and metadata for consistency.
v0.5.0
Fix SKILL.md encoding so OpenClaw can discover the skill.
元数据
Slug bw-invoice-verification-service
版本 0.5.12
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 13
常见问题

BwInvoice 是什么?

Use the local invoice service script to initialize app keys, query quota and packages, verify invoice text or images, batch-verify local folders, and create... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 337 次。

如何安装 BwInvoice?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bw-invoice-verification-service」即可一键安装,无需额外配置。

BwInvoice 是免费的吗?

是的,BwInvoice 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

BwInvoice 支持哪些平台?

BwInvoice 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 BwInvoice?

由 weidd130(@weidd130)开发并维护,当前版本 v0.5.12。

💬 留言讨论