chore: auto release commit (2026-09-14 15:11:41)
All checks were successful
技能自动化发布 / release (push) Successful in 9s
All checks were successful
技能自动化发布 / release (push) Successful in 9s
This commit is contained in:
370
PLATFORM_USAGE.md
Normal file
370
PLATFORM_USAGE.md
Normal file
@@ -0,0 +1,370 @@
|
||||
# 平台内使用RPA功能的完整指南
|
||||
|
||||
## 📋 概述
|
||||
|
||||
本指南详细说明如何将带RPA功能的verify-invoice-default技能发布到平台,并在平台内使用RPA功能。
|
||||
|
||||
## 🎯 平台内使用方式
|
||||
|
||||
### 1. **通过CLI命令使用**(推荐)
|
||||
|
||||
在平台内,用户可以通过以下CLI命令使用RPA功能:
|
||||
|
||||
#### **1.1 提取发票信息**
|
||||
```bash
|
||||
# 基本提取
|
||||
python scripts/main.py extract-invoices \
|
||||
--username "用户名" \
|
||||
--password "密码" \
|
||||
--profile-dir "浏览器配置目录"
|
||||
|
||||
# 详细信息提取
|
||||
python scripts/main.py extract-invoices \
|
||||
--username "用户名" \
|
||||
--password "密码" \
|
||||
--profile-dir "浏览器配置目录" \
|
||||
--detail-mode
|
||||
```
|
||||
|
||||
#### **1.2 测试RPA连接**
|
||||
```bash
|
||||
python scripts/main.py test-rpa-connection \
|
||||
--username "用户名" \
|
||||
--password "密码" \
|
||||
--profile-dir "浏览器配置目录"
|
||||
```
|
||||
|
||||
#### **1.3 查询提取的数据**
|
||||
```bash
|
||||
# 查询所有提取记录
|
||||
python scripts/main.py list-rpa-invoices
|
||||
|
||||
# 按批次ID查询
|
||||
python scripts/main.py list-rpa-invoices --batch-id "批次ID"
|
||||
|
||||
# 按状态查询
|
||||
python scripts/main.py list-rpa-invoices --status "extracted"
|
||||
|
||||
# 查看详细记录
|
||||
python scripts/main.py show-rpa-invoice --record-id 1
|
||||
|
||||
# 获取统计信息
|
||||
python scripts/main.py rpa-invoice-stats
|
||||
```
|
||||
|
||||
### 2. **通过Action调用**(平台集成)
|
||||
|
||||
在平台内,可以通过`run_skill_action`调用RPA功能:
|
||||
|
||||
```bash
|
||||
# 提取发票信息(异步)
|
||||
run_skill_action --action extract-invoices \
|
||||
--input '{"username": "用户名", "password": "密码", "profile_dir": "目录"}'
|
||||
|
||||
# 查询提取记录
|
||||
run_skill_action --action list-rpa-invoices \
|
||||
--input '{"limit": 10, "batch_id": "批次ID"}'
|
||||
|
||||
# 获取统计信息
|
||||
run_skill_action --action rpa-invoice-stats
|
||||
```
|
||||
|
||||
### 3. **通过对话交互**(LLM集成)
|
||||
|
||||
用户可以通过自然语言与LLM交互来使用RPA功能:
|
||||
|
||||
**示例对话:**
|
||||
```
|
||||
用户:帮我从网站提取发票信息
|
||||
LLM:好的,我需要一些信息来执行RPA操作:
|
||||
1. 网站用户名
|
||||
2. 网站密码
|
||||
3. 浏览器配置目录(需要先通过account-manager获取)
|
||||
|
||||
请提供这些信息,我将为您提取发票信息。
|
||||
```
|
||||
|
||||
## 🔧 平台内配置步骤
|
||||
|
||||
### 步骤1:获取浏览器配置目录
|
||||
|
||||
在平台内,用户需要先通过account-manager获取浏览器配置目录:
|
||||
|
||||
```bash
|
||||
# 登录account-manager
|
||||
python account-manager/scripts/main.py ensure-web --platform sandbox-jc2009
|
||||
|
||||
# 或者使用简化的命令
|
||||
python account-manager/scripts/main.py pick-web --platform sandbox-jc2009 --ensure
|
||||
```
|
||||
|
||||
### 步骤2:配置环境变量
|
||||
|
||||
创建`.env`文件配置必要的环境变量:
|
||||
|
||||
```env
|
||||
# RPA配置
|
||||
OPENCLAW_BROWSER_HEADLESS=0
|
||||
OPENCLAW_RECORD_VIDEO=1
|
||||
HUMAN_WAIT_TIMEOUT=120
|
||||
|
||||
# 日志配置
|
||||
LOG_LEVEL=INFO
|
||||
```
|
||||
|
||||
### 步骤3:初始化数据库
|
||||
|
||||
```bash
|
||||
python scripts/main.py init-db
|
||||
```
|
||||
|
||||
## 📊 数据流架构
|
||||
|
||||
### 平台内数据流
|
||||
|
||||
```
|
||||
用户请求 → LLM/CLI → RPA模块 → 浏览器自动化 → 网站数据提取
|
||||
↓
|
||||
数据存储 → SQLite数据库
|
||||
↓
|
||||
查询接口 → 数据管理界面
|
||||
```
|
||||
|
||||
### 数据存储位置
|
||||
|
||||
1. **SQLite数据库**:`{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/verify-invoice-default/data.db`
|
||||
- `rpa_invoices`表:存储RPA提取的原始数据
|
||||
- `invoice_records`表:存储预审后的发票记录
|
||||
- `prereview_reports`表:存储预审报告
|
||||
|
||||
2. **录屏文件**:`{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/verify-invoice-default/videos/`
|
||||
|
||||
3. **日志文件**:`{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/verify-invoice-default/logs/`
|
||||
|
||||
## 🎮 平台内使用场景
|
||||
|
||||
### 场景1:批量发票提取
|
||||
|
||||
**用户需求**:从网站批量提取100张发票信息
|
||||
|
||||
**操作步骤**:
|
||||
1. 用户通过CLI或对话发起请求
|
||||
2. RPA模块自动登录网站
|
||||
3. 提取发票列表信息
|
||||
4. 保存到数据库
|
||||
5. 返回提取结果
|
||||
|
||||
**命令示例**:
|
||||
```bash
|
||||
python scripts/main.py extract-invoices \
|
||||
--username "15527406659" \
|
||||
--password "qwer1234" \
|
||||
--profile-dir "/path/to/profile"
|
||||
```
|
||||
|
||||
### 场景2:发票信息查询
|
||||
|
||||
**用户需求**:查看之前提取的发票信息
|
||||
|
||||
**操作步骤**:
|
||||
1. 用户查询提取记录
|
||||
2. 系统从数据库读取数据
|
||||
3. 返回结构化结果
|
||||
|
||||
**命令示例**:
|
||||
```bash
|
||||
# 查询最近10条记录
|
||||
python scripts/main.py list-rpa-invoices --limit 10
|
||||
|
||||
# 查看特定记录详情
|
||||
python scripts/main.py show-rpa-invoice --record-id 5
|
||||
```
|
||||
|
||||
### 场景3:统计分析
|
||||
|
||||
**用户需求**:查看RPA提取的统计信息
|
||||
|
||||
**操作步骤**:
|
||||
1. 用户请求统计信息
|
||||
2. 系统查询数据库统计
|
||||
3. 返回统计结果
|
||||
|
||||
**命令示例**:
|
||||
```bash
|
||||
python scripts/main.py rpa-invoice-stats
|
||||
```
|
||||
|
||||
## 🔐 安全考虑
|
||||
|
||||
### 1. 账号安全
|
||||
|
||||
- **密码加密**:建议在`.env`中配置密码,不要硬编码
|
||||
- **权限控制**:通过account-manager管理账号权限
|
||||
- **会话管理**:浏览器配置目录隔离不同用户
|
||||
|
||||
### 2. 数据安全
|
||||
|
||||
- **数据脱敏**:日志中自动脱敏敏感信息
|
||||
- **访问控制**:通过平台权限系统控制数据访问
|
||||
- **审计日志**:记录所有RPA操作
|
||||
|
||||
### 3. 操作安全
|
||||
|
||||
- **频率控制**:避免频繁请求,防止被网站限制
|
||||
- **人工兜底**:验证码、人脸等必须等待人工完成
|
||||
- **错误处理**:完善的异常捕获和错误报告
|
||||
|
||||
## 📈 平台集成优势
|
||||
|
||||
### 1. 统一管理
|
||||
|
||||
- **账号管理**:通过account-manager统一管理浏览器配置
|
||||
- **权限控制**:平台级权限管理
|
||||
- **日志聚合**:统一日志查看和分析
|
||||
|
||||
### 2. 数据共享
|
||||
|
||||
- **数据存储**:统一数据存储和备份
|
||||
- **数据查询**:通过数据管理界面查询
|
||||
- **数据导出**:支持多种格式导出
|
||||
|
||||
### 3. 监控运维
|
||||
|
||||
- **健康检查**:平台级健康检查
|
||||
- **性能监控**:RPA操作性能监控
|
||||
- **告警通知**:异常情况自动告警
|
||||
|
||||
## 🚀 发布到平台的步骤
|
||||
|
||||
### 步骤1:准备发布文件
|
||||
|
||||
确保以下文件已准备就绪:
|
||||
|
||||
```
|
||||
verify-invoice-default/
|
||||
├── SKILL.md # 技能说明
|
||||
├── README.md # 用户说明
|
||||
├── TUTORIAL.md # 使用教程
|
||||
├── CHANGELOG.md # 更新日志
|
||||
├── scripts/ # 脚本目录
|
||||
│ ├── main.py # CLI入口
|
||||
│ └── service/ # 服务模块
|
||||
├── development/ # 开发文档
|
||||
└── examples/ # 示例文件
|
||||
```
|
||||
|
||||
### 步骤2:验证功能
|
||||
|
||||
```bash
|
||||
# 测试CLI命令
|
||||
python scripts/main.py health
|
||||
python scripts/main.py version
|
||||
|
||||
# 测试RPA功能
|
||||
python scripts/main.py test-rpa-connection \
|
||||
--username "测试用户" \
|
||||
--password "测试密码" \
|
||||
--profile-dir "测试目录"
|
||||
```
|
||||
|
||||
### 步骤3:打包发布
|
||||
|
||||
```bash
|
||||
# 使用release脚本
|
||||
python tools/release.ps1
|
||||
|
||||
# 或者手动打包
|
||||
tar -czf verify-invoice-default.tar.gz verify-invoice-default/
|
||||
```
|
||||
|
||||
### 步骤4:上传到平台
|
||||
|
||||
1. 登录平台管理后台
|
||||
2. 上传技能包
|
||||
3. 配置技能元数据
|
||||
4. 发布技能
|
||||
|
||||
## 📝 平台内使用示例
|
||||
|
||||
### 示例1:通过CLI提取发票
|
||||
|
||||
```bash
|
||||
# 1. 获取浏览器配置
|
||||
python account-manager/scripts/main.py ensure-web --platform sandbox-jc2009
|
||||
|
||||
# 2. 提取发票信息
|
||||
python scripts/main.py extract-invoices \
|
||||
--username "15527406659" \
|
||||
--password "qwer1234" \
|
||||
--profile-dir "/path/to/profile"
|
||||
|
||||
# 3. 查看提取结果
|
||||
python scripts/main.py list-rpa-invoices --limit 5
|
||||
```
|
||||
|
||||
### 示例2:通过对话交互
|
||||
|
||||
```
|
||||
用户:我想提取网站上的发票信息
|
||||
LLM:好的,我来帮您提取发票信息。请提供:
|
||||
1. 网站用户名:15527406659
|
||||
2. 网站密码:qwer1234
|
||||
3. 浏览器配置目录:/path/to/profile
|
||||
|
||||
LLM:正在执行RPA提取...
|
||||
LLM:成功提取了10张发票信息,已保存到数据库。
|
||||
|
||||
用户:查看提取的发票详情
|
||||
LLM:为您查询到最近5条提取记录:
|
||||
1. 批次ID: abc123, 提取时间: 2026-09-14 10:30:00, 状态: 已提取
|
||||
2. 批次ID: def456, 提取时间: 2026-09-14 11:00:00, 状态: 已提取
|
||||
...
|
||||
```
|
||||
|
||||
## 🔍 故障排除
|
||||
|
||||
### 问题1:浏览器启动失败
|
||||
|
||||
**错误**:`ERROR:MISSING_BROWSER 浏览器启动失败`
|
||||
|
||||
**解决方案**:
|
||||
1. 检查是否已安装Chrome或Edge浏览器
|
||||
2. 确认`profile_dir`是否有效
|
||||
3. 检查是否有其他浏览器进程占用配置目录
|
||||
|
||||
### 问题2:登录失败
|
||||
|
||||
**错误**:`ERROR:LOGIN_TIMEOUT 登录失败或超时`
|
||||
|
||||
**解决方案**:
|
||||
1. 检查用户名和密码是否正确
|
||||
2. 确认网络连接是否正常
|
||||
3. 检查是否有验证码需要人工处理
|
||||
|
||||
### 问题3:数据保存失败
|
||||
|
||||
**错误**:数据库写入失败
|
||||
|
||||
**解决方案**:
|
||||
1. 检查数据库文件权限
|
||||
2. 确认数据库表是否已创建
|
||||
3. 检查磁盘空间是否充足
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **如何获取浏览器配置目录?**
|
||||
- 使用`account-manager`工具:`python account-manager/scripts/main.py ensure-web --platform sandbox-jc2009`
|
||||
|
||||
2. **如何查看提取的发票数据?**
|
||||
- 使用命令:`python scripts/main.py list-rpa-invoices`
|
||||
|
||||
3. **如何导出提取的数据?**
|
||||
- 使用命令:`python scripts/main.py show-rpa-invoice --record-id 1`,然后复制JSON输出
|
||||
|
||||
### 联系方式
|
||||
|
||||
- 技术支持:support@jiangchang.com
|
||||
- 文档地址:https://docs.jiangchang.com/verify-invoice-default
|
||||
- 问题反馈:https://github.com/jiangchang/verify-invoice-default/issues
|
||||
Reference in New Issue
Block a user