Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6998fb3bd7 | ||
|
|
2ad0a3ed94 |
@@ -3,6 +3,13 @@
|
||||
本文件对应技能市场 **「更新日志」** Tab。
|
||||
发布 CI 会按当前 tag 版本提取匹配的 `##` 小节,写入该版本的 `changelog`。
|
||||
|
||||
## 1.0.3
|
||||
|
||||
- 修复SKILL.md中RPA功能声明与实际实现不一致的问题
|
||||
- 更新actions.json,添加RPA相关的action配置
|
||||
- 更新用户意图路由表,添加RPA功能相关的用户意图
|
||||
- 更新硬规则,添加RPA功能相关的安全规则
|
||||
|
||||
## 1.0.2
|
||||
|
||||
- 新增RPA(机器人流程自动化)功能,支持从网站自动提取发票信息
|
||||
|
||||
18
SKILL.md
18
SKILL.md
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: 票据合规预审助手
|
||||
description: "高校报销场景的发票合规性秒级预审:核对字段完整性、购买方税号白名单、开票日期与出差行程逻辑、住宿交通经费标准,对连号、同商家集中开票、节假日开票等风险点红黄灯预警,生成《初审意见单》。"
|
||||
version: 1.0.2
|
||||
version: 1.0.3
|
||||
author: 深圳匠厂科技有限公司
|
||||
metadata:
|
||||
openclaw:
|
||||
@@ -27,7 +27,7 @@ allowed-tools:
|
||||
- **Agent 是入口与编排者**:理解用户意图、收集发票字段与报销上下文、选择 Action,并用业务语言解读红黄绿灯结论。
|
||||
- 发票照片 → 结构化字段的提取由 Agent 多模态能力(或用户粘贴/手工录入)完成;本技能接收**结构化 JSON** 并做确定性规则审核,不做 OCR、不连接外部系统。
|
||||
- 遇到字段大面积缺失(照片模糊/折叠)时,提示用户重拍或补录,不要编造字段值。
|
||||
- 本技能无 RPA、无浏览器自动化;不修改任何外部系统数据。
|
||||
- **RPA功能**:本技能支持从指定网站(sandbox.jc2009.com)自动提取发票信息,需要用户提供登录凭证和浏览器配置目录。RPA功能用于自动化数据采集,不修改外部系统数据。
|
||||
|
||||
## 能力类型与触发
|
||||
|
||||
@@ -39,11 +39,16 @@ allowed-tools:
|
||||
| 回填人工查验结果 | `run_skill_action` → `mark-verified`(`input.reportId/result/note`) | 否 |
|
||||
| 重建《初审意见单》HTML | `run_skill_action` → `render-html` | 否 |
|
||||
| 维护税号白名单 / 经费标准 | 数据管理表上操作,或短 CLI:`add-whitelist` / `remove-whitelist` / `set-standard` | 否 |
|
||||
| 从网站提取发票信息 | `run_skill_action` → `extract-invoices`(`input.username/password/profileDir`) | 否 |
|
||||
| 测试RPA连接 | `run_skill_action` → `test-rpa-connection` | 否 |
|
||||
| 查询RPA提取记录 | `run_skill_action` → `list-rpa-invoices` | 否 |
|
||||
| 查看RPA提取详情 | `run_skill_action` → `show-rpa-invoice` | 否 |
|
||||
| RPA提取统计 | `run_skill_action` → `rpa-invoice-stats` | 否 |
|
||||
| 用户只问用法 / 能做什么 | 读根目录 `README.md`;逐步操作再读 `TUTORIAL.md` | — |
|
||||
|
||||
进不进任务中心**只**看该 Action 的 `executionProfile`(sync 当场返回 / async 进任务中心),与数据管理、对话等触发入口**无关**;每个 Action 都已显式声明 `executionProfile`。
|
||||
|
||||
本技能为"即时审核"型能力:提交即审、当场出结论,不存在「先准备本地数据、再对外产生副作用」的两段式,因此无需拆分准备与执行;若后续接入需要外部副作用的扩展(如对接报销系统提交),须按「准备 vs 执行」拆分并可由 Agent 分别触发。本技能无网页 RPA,不涉及账号管理;宿主账号/Profile/租约规范见 `development/ACCOUNT_MANAGER.md`。
|
||||
本技能为"即时审核"型能力:提交即审、当场出结论,不存在「先准备本地数据、再对外产生副作用」的两段式,因此无需拆分准备与执行;若后续接入需要外部副作用的扩展(如对接报销系统提交),须按「准备 vs 执行」拆分并可由 Agent 分别触发。本技能支持网页RPA功能,用于从指定网站自动提取发票信息,需要账号管理;宿主账号/Profile/租约规范见 `development/ACCOUNT_MANAGER.md`。
|
||||
|
||||
## 用户意图路由表
|
||||
|
||||
@@ -57,6 +62,11 @@ allowed-tools:
|
||||
| "住宿标准是多少 / 一线城市的上限" | 短 CLI:`view-standards [--category 住宿费]` | 否 |
|
||||
| "预审成功率怎么样" | 短 CLI:`stats` | 否 |
|
||||
| "把 XX 税号加进白名单 / 改一下住宿标准" | 数据管理表上操作;或短 CLI:`add-whitelist` / `set-standard` | 否 |
|
||||
| "从网站提取发票信息" | `run_skill_action` → `extract-invoices`,需要提供用户名、密码和浏览器配置目录 | 否 |
|
||||
| "测试RPA连接" | `run_skill_action` → `test-rpa-connection`,需要提供用户名、密码和浏览器配置目录 | 否 |
|
||||
| "查看RPA提取记录" | `run_skill_action` → `list-rpa-invoices`,可按批次ID、用户名、状态筛选 | 否 |
|
||||
| "查看RPA提取详情" | `run_skill_action` → `show-rpa-invoice`,需要提供记录ID | 否 |
|
||||
| "RPA提取统计" | `run_skill_action` → `rpa-invoice-stats` | 否 |
|
||||
|
||||
**硬规则:**
|
||||
|
||||
@@ -65,6 +75,8 @@ allowed-tools:
|
||||
3. 预审结论必须向用户说明"不构成最终报销结论";驳回项要读出规则引用。
|
||||
4. 发票真伪只提示查验指引;除非用户明确说已在官方平台查验,不得代替用户勾选"已查验"。
|
||||
5. 一个业务能力一个 Action,用多个 placements 挂入口;底层同一 `scripts/main.py` CLI。
|
||||
6. RPA功能需要用户提供登录凭证和浏览器配置目录;禁止存储用户密码到日志或代码中。
|
||||
7. RPA提取的发票数据存储在本地数据库,不自动同步到外部系统。
|
||||
|
||||
Agent 执行契约细节:`references/CLI.md`、`references/ACTIONS.md`、`references/SCHEMA.md`。
|
||||
|
||||
|
||||
@@ -411,6 +411,183 @@
|
||||
"command": "config-path",
|
||||
"args": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "extract-invoices",
|
||||
"label": "提取发票信息",
|
||||
"description": "从网站自动提取发票信息,需要提供登录凭证和浏览器配置目录。",
|
||||
"placements": ["agent"],
|
||||
"executionProfile": "sync",
|
||||
"interaction": "form",
|
||||
"entrypoint": {
|
||||
"type": "cli",
|
||||
"command": "extract-invoices",
|
||||
"args": [
|
||||
"--username", "{{username}}",
|
||||
"--password", "{{password}}",
|
||||
"--profile-dir", "{{profileDir}}",
|
||||
"--headless", "{{headless}}",
|
||||
"--detail-mode", "{{detailMode}}"
|
||||
]
|
||||
},
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"title": "用户名",
|
||||
"description": "网站登录用户名"
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"title": "密码",
|
||||
"description": "网站登录密码"
|
||||
},
|
||||
"profileDir": {
|
||||
"type": "string",
|
||||
"title": "浏览器配置目录",
|
||||
"description": "通过account-manager获取的浏览器配置目录路径"
|
||||
},
|
||||
"headless": {
|
||||
"type": "boolean",
|
||||
"title": "无头模式",
|
||||
"description": "是否使用无头模式(生产不建议)",
|
||||
"default": false
|
||||
},
|
||||
"detailMode": {
|
||||
"type": "boolean",
|
||||
"title": "详细模式",
|
||||
"description": "是否提取详细信息",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"required": ["username", "password", "profileDir"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "test-rpa-connection",
|
||||
"label": "测试RPA连接",
|
||||
"description": "测试RPA连接和登录功能。",
|
||||
"placements": ["agent", "skill-detail"],
|
||||
"executionProfile": "sync",
|
||||
"interaction": "form",
|
||||
"entrypoint": {
|
||||
"type": "cli",
|
||||
"command": "test-rpa-connection",
|
||||
"args": [
|
||||
"--username", "{{username}}",
|
||||
"--password", "{{password}}",
|
||||
"--profile-dir", "{{profileDir}}"
|
||||
]
|
||||
},
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"title": "用户名",
|
||||
"description": "网站登录用户名"
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"title": "密码",
|
||||
"description": "网站登录密码"
|
||||
},
|
||||
"profileDir": {
|
||||
"type": "string",
|
||||
"title": "浏览器配置目录",
|
||||
"description": "通过account-manager获取的浏览器配置目录路径"
|
||||
}
|
||||
},
|
||||
"required": ["username", "password", "profileDir"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "list-rpa-invoices",
|
||||
"label": "查询RPA提取记录",
|
||||
"description": "查询RPA提取的发票数据记录。",
|
||||
"placements": ["agent", "skill-detail"],
|
||||
"executionProfile": "sync",
|
||||
"entrypoint": {
|
||||
"type": "cli",
|
||||
"command": "list-rpa-invoices",
|
||||
"args": [
|
||||
"--limit", "{{limit}}",
|
||||
"--batch-id", "{{batchId}}",
|
||||
"--username", "{{username}}",
|
||||
"--status", "{{status}}"
|
||||
]
|
||||
},
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"limit": {
|
||||
"type": "number",
|
||||
"title": "条数",
|
||||
"description": "返回条数,默认20",
|
||||
"default": 20
|
||||
},
|
||||
"batchId": {
|
||||
"type": "string",
|
||||
"title": "批次ID",
|
||||
"description": "按批次ID筛选"
|
||||
},
|
||||
"username": {
|
||||
"type": "string",
|
||||
"title": "用户名",
|
||||
"description": "按用户名筛选"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"title": "状态",
|
||||
"description": "按状态筛选",
|
||||
"enum": ["extracted", "processed", "error"]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "show-rpa-invoice",
|
||||
"label": "查看RPA提取详情",
|
||||
"description": "查看RPA提取的发票数据详情。",
|
||||
"placements": ["row"],
|
||||
"executionProfile": "sync",
|
||||
"bind": {
|
||||
"tables": ["rpa_invoices"],
|
||||
"inputMapping": {
|
||||
"recordId": "{{id}}"
|
||||
}
|
||||
},
|
||||
"entrypoint": {
|
||||
"type": "cli",
|
||||
"command": "show-rpa-invoice",
|
||||
"args": [
|
||||
"--record-id", "{{recordId}}"
|
||||
]
|
||||
},
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"recordId": {
|
||||
"type": "number",
|
||||
"title": "记录ID",
|
||||
"description": "RPA提取记录ID"
|
||||
}
|
||||
},
|
||||
"required": ["recordId"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "rpa-invoice-stats",
|
||||
"label": "RPA提取统计",
|
||||
"description": "获取RPA提取的统计信息。",
|
||||
"placements": ["agent", "skill-detail"],
|
||||
"executionProfile": "sync",
|
||||
"entrypoint": {
|
||||
"type": "cli",
|
||||
"command": "rpa-invoice-stats",
|
||||
"args": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""技能标识、版本与平台公共库约束(票据合规预审助手)。"""
|
||||
|
||||
SKILL_SLUG = "verify-invoice-default"
|
||||
SKILL_VERSION = "1.0.2"
|
||||
SKILL_VERSION = "1.0.3"
|
||||
LOG_LOGGER_NAME = "openclaw.skill.verify_invoice_default"
|
||||
PLATFORM_KIT_MIN_VERSION = "1.2.11"
|
||||
|
||||
Reference in New Issue
Block a user