Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

mail-invoice-archiver-skill邮件发票归档技能

Agent Skill

用于辅助音频、音乐、语音转写、语音合成或声音素材处理。它适合让 Agent 生成配乐说明、整理音频流程、调用语音工具或处理播客和视频配音素材。使用时需要确认输入音频来源、输出格式、时长和模型限制;涉及人声克隆、版权音乐或公开发布时,应先核对授权和合规边界。

总安装

2,375

周安装

97

GitHub Stars

公开资料未说明

下载量

768
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:mail-invoice-archiver-skill(邮件发票归档技能)
来源仓库:https://github.com/amortalsodyssey/mail-invoice-archiver-skill
安装命令:
openclaw skills install mail-invoice-archiver-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install mail-invoice-archiver-skill

简介

自动归档邮件中的发票附件或链接,按月整理并去重。

  • 适合需要定期管理发票、清理收件箱或生成财务摘要的场景。
  • 通过配置邮箱账户,自动识别发票文件并按月存储,避免重复处理。
  • 需支持主流邮箱如 Gmail、126、163;安装前请确认 API 权限与数据合规性。
  • mail-invoice-archiver-skill 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
mail_invoice_archiver
description
Read supported mailbox providers such as 126, 163, and Gmail, identify invoice attachments or invoice download links, archive invoices by month, deduplicate by invoice number and amount, and prepare monthly reports plus delivery bundles. Use when OpenClaw needs to sync invoice mail, investigate failed downloads, package a month's archive, or summarize totals and high-value invoices.
metadata
{"openclaw":{"name":"mail_invoice_archiver","displayName":"Mail Invoice Archiver","requires":["python3"],"requiresNetwork":true}}

Mail Invoice Archiver

Quick Start

  • In the first session after installation, ask the user which credential storage mode they want before doing anything else.
  • Run python3 {baseDir}/scripts/cli.py providers --json when you need to show the currently supported mailbox providers and their setup notes.
  • Run python3 {baseDir}/scripts/cli.py doctor --json first. If it returns setup_required: true, guide the user through setup and wait for confirmation.
  • Use python3 {baseDir}/scripts/cli.py setup for an interactive setup wizard, or pass --mail-provider 126|163|gmail|custom plus --provider system|env|config|prompt for scripted setup.
  • Use python3 {baseDir}/scripts/cli.py sync --month YYYY-MM --json to pull a month into the local archive.
  • Use python3 {baseDir}/scripts/cli.py report --month YYYY-MM --json to inspect totals, duplicates, conflicts, and failures.
  • Use python3 {baseDir}/scripts/cli.py deliver --month YYYY-MM --json to prepare a zip plus summary for the current chat.

Workflow

  1. Run doctor.
  2. If doctor reports setup_required, ask the user which mailbox provider they want first:

126, 163, gmail, or custom.

  1. Ask the user which auth mode they want:

system credential store, environment variables, config file, or prompt-each-session.

  1. Run setup with the chosen mailbox provider and auth mode, then wait for the user to confirm they completed any external steps, such as exporting environment variables.
  2. Run doctor again to confirm the setup works.
  3. Run list --month YYYY-MM --limit 20 --json when you need a quick mailbox preview without downloading files.
  4. Run sync --month YYYY-MM --json to archive candidate invoices into ~/Documents/invoice-archive/YYYY-MM/.
  5. Run report --month YYYY-MM --json after sync and summarize:

total amount, canonical invoice count, high-value invoices, duplicates, conflicts, and failures.

  1. Run deliver --month YYYY-MM --json, then attach the returned zip file in the current chat and paste the summary.

Windows Env Setup

  • If the user chooses env on Windows, offer one of these exact snippets and wait for confirmation before rerunning doctor.
$env:MAIL_INVOICE_ARCHIVER_EMAIL = "your-mail@example.com"
$env:MAIL_INVOICE_ARCHIVER_AUTH_CODE = "your-provider-secret"
python "{baseDir}/scripts/cli.py" doctor --json
set MAIL_INVOICE_ARCHIVER_EMAIL=your-mail@example.com
set MAIL_INVOICE_ARCHIVER_AUTH_CODE=your-provider-secret
python "{baseDir}\scripts\cli.py" doctor --json
  • For Gmail, MAIL_INVOICE_ARCHIVER_AUTH_CODE must be a Gmail app password, not the normal Google account password.

Rules

  • Prefer system auth on macOS and Windows, env on Linux, CI, or headless sessions, and prompt only when the user does not want to persist the secret anywhere.
  • system currently means macOS Keychain on macOS and Windows Credential Manager on Windows.
  • First-phase built-in providers are 126, 163, and gmail.
  • Treat appleimap.126.com as the preferred 126 IMAP host.
  • Send the provider-configured IMAP client ID only when that provider needs it. Today that means 126 and 163; Gmail does not need it.
  • Gmail is implemented today through IMAP app passwords for personal Gmail accounts. Some Google Workspace tenants may still require admin-side IMAP changes or OAuth, which is a future enhancement and not part of the current runtime.
  • Deduplicate in two layers:

storage duplicates by message UID / part / SHA256; business duplicates by invoice number + amount.

  • If invoice number matches but amount differs, keep the file and report it as a conflict instead of auto-merging.
  • Keep invoice amount and OCR results in SQLite metadata, not in file names.
  • If a link download fails and the message still looks like an invoice, report that failure back to the user.
  • When the same invoice appears in multiple attachment formats in one mail, prefer user-friendly formats for the canonical saved file. Default priority should be: image (png/jpg/jpeg) or PDF first, then XML, then OFD, and ZIP last. Do not prefer OFD or ZIP when a readable PDF or image version of the same invoice is available.
  • Treat OFD as a fallback archival format, not the default user-facing format, unless it is the only available canonical representation.
  • For PDF invoice amount extraction, do not blindly take the first ¥ amount. PDF text extraction may reorder the invoice area and expose tax base amount, tax amount, and total amount in the wrong sequence.
  • For PDF invoices, prefer a dedicated total-amount extractor over generic regex fallback. Use the invoice total area first, then fall back only when that area is missing.
  • Buyer and seller names in PDF invoices may collapse into repeated 名称: 名称: layouts after text extraction. Prefer layout-aware extraction over a single regex when distinguishing buyer and seller.
  • Month summaries must be stable even when a current-month row is marked as duplicate against an older canonical row outside the month window. Summaries should aggregate by current-month business keys, not only by status='saved' rows inside the month.
  • If the user specifies a business rule for a specific invoice family, such as using 价税合计 for totals, record and honor that rule consistently in later extraction and reporting.

Resources

Local Secret Config Convention

When this skill needs Feishu app credentials for local delivery helpers or follow-up integrations, do not store real secrets inside the published skill directory.

Use this split instead:

  • committed example inside the skill: config/feishu/config.example.yaml
  • local real config outside the skill: ~/.config/openclaw/mail_invoice_archiver/feishu.config.yaml

Why this rule exists:

  • .gitignore reduces Git commit risk, but should not be treated as the security boundary for skill publishing.
  • Publishing flows may not behave exactly like Git, so real secrets must live outside the skill folder.
  • The skill should only ship examples, docs, and secret-loading logic, never the real credential file.

Recommended loading order for Feishu credentials:

  1. explicit environment variables
  2. local private config at ~/.config/openclaw/mail_invoice_archiver/feishu.config.yaml
  3. prompt the user

Environment variable names:

  • MAIL_INVOICE_ARCHIVER_FEISHU_APP_ID
  • MAIL_INVOICE_ARCHIVER_FEISHU_APP_SECRET
  • MAIL_INVOICE_ARCHIVER_FEISHU_RECEIVE_ID_TYPE
  • optional override path: MAIL_INVOICE_ARCHIVER_FEISHU_CONFIG

Never publish or share the real local config file.

If config/feishu/config.yaml appears inside the skill directory, treat it as an unsafe misconfiguration. The runtime should fail fast and require moving that file out of the skill.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.04%
按下载量换算715

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills