diff --git a/README.md b/README.md index cb6d9e1..bf880dd 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ docs 现状分析、实施方案 - [现状分析与可行性](docs/01-现状分析与可行性.md) - [实施方案(三天)](docs/02-实施方案.md) +- [未接入能力名单](docs/04-未接入名单.md) ## 边界 diff --git a/docs/03-能力接入规划与排期.md b/docs/03-能力接入规划与排期.md index eca1756..b00a0a8 100644 --- a/docs/03-能力接入规划与排期.md +++ b/docs/03-能力接入规划与排期.md @@ -296,6 +296,7 @@ ### [P2] 邮件收件:剩余连接/列表/操作/Exchange(19 个;查找、回复、Outlook 读取 9 个已完成) - Mail_UnmarkSeen | 标为未读 +- Mail_DoReplyMail_v1 | 回复邮件(Outlook) - Mail_RecvConnect | 连接邮箱 - Mail_RecvMailGet | 取第几封邮件 - Mail_ExOperateMail | 操作邮件 @@ -330,6 +331,7 @@ - 本文档为能力接入的唯一规划来源;新增能力须先在此登记阶段 - 2026-11-02 校准:数字以运行时注册表为准(808 个 id,目录可执行 796 / 1016);2026-10-30 校准后原排除/暂缓中已实现的 78 项已移入「已接入 / 已完成」 - 本批次新增依赖:`@cantoo/pdf-lib`(PDF 加密)、`@napi-rs/canvas`(PDF 渲染)、`imapflow`/`mailparser`(IMAP 收件)、`sm-crypto`(SM4 密文变量) +- 当前未接入明细快照:[04-未接入名单](04-未接入名单.md) - 下一步:将第一节清单固化为 resources/excluded.json,组件库显示「不接入」灰标 ## 六、桌面拾取与定位——原厂实现解读与我们的增强项(2026-10-30) diff --git a/docs/04-未接入名单.md b/docs/04-未接入名单.md new file mode 100644 index 0000000..15fffb6 --- /dev/null +++ b/docs/04-未接入名单.md @@ -0,0 +1,269 @@ +# 未接入能力名单 + +> 快照时间:2026-11-02 · 判定来源:`resources/catalog.json` × 运行时注册表 · 以 `src/main/catalog.ts` 规则为准 + +## 汇总 + +| 状态 | 数量 | +|---|---:| +| 目录总数 | 1016 | +| 已接入 / 可执行 | 796 | +| 未接入 | 220 | +| 运行时注册 id | 808 | + +| 分类 | 数量 | 说明 | +|---|---:|---| +| 明确不接入(永久排除) | 116 | 绑定特定门户/厂商云服务、SAP、手机硬件、机械臂/U 盾、厂商模型等,当前不排期。 | +| 待评估(按需排期) | 80 | 技术可行性或业务优先级待评估。 | +| 视觉定位与 OCR 读屏 | 5 | 依赖 AI 屏幕判断或 CV 文本交互链路。 | +| 邮件收件剩余 | 19 | 查找、回复、Outlook 读取已接入;剩余为连接、列表、操作与 Outlook 发送/回复变体。 | +| 待分类 | 0 | 需要人工归类,正常应为 0 项。 | + +## 明确不接入(永久排除)(116 个) + +| ID | 名称 | 模块 | 原厂函数 | +|---|---|---|---| +| `Basic_GetSystemAccount_v2` | 获取平台账号(通用) | app | `Basic.GetSystemAccount_v2` | +| `Basic_GetSystemAccount` | 获取系统账号(门户专用) | app | `Basic.GetSystemAccount` | +| `Basic_GetSystemAccount_v1` | 获取平台账号 | app | `Basic.GetSystemAccount_v1` | +| `DataService_DeleteControllerFiles_v1` | 删除文件 | message | `DataService.DeleteControllerFiles_v1` | +| `DataService_ReportException` | 上报异常信息 | message | `DataService.ReportException` | +| `DataService_ProductionQueue` | 将数据存入队列 | message | `DataService.ProductionQueue` | +| `DataService_UploadControllerFiles_v1` | 上传文件 | message | `DataService.UploadControllerFiles_v1` | +| `DataService_ServiceNew` | 数据服务(松塔) | message | `DataService.ServiceNew` | +| `DataService_DeleteControllerFiles` | 删除控制器文件 | message | `DataService.DeleteControllerFiles` | +| `DataService_Service` | 数据服务 | message | `DataService.Service` | +| `DataService_DownloadControllerFiles` | 下载控制器文件 | message | `DataService.DownloadControllerFiles` | +| `DataService_DownloadControllerFiles_v1` | 下载文件 | message | `DataService.DownloadControllerFiles_v1` | +| `DataService_ConsumptionQueue` | 从队列获取数据 | message | `DataService.ConsumptionQueue` | +| `DataService_UploadControllerFiles` | 上传文件至控制器 | message | `DataService.UploadControllerFiles` | +| `DataService_AiScreenText` | 提取屏幕数据(AI) | message | `DataService.AiScreenText` | +| `DataService_AiScreenDate` | 选择日期时间(AI) | message | `DataService.AiScreenDate` | +| `DataService_AiScreenOperate` | 操作屏幕(AI) | message | `DataService.AiScreenOperate` | +| `Element_DoubleClickSap` | 双击SAP表格单元格 | web | `Element.DoubleClickSap` | +| `Mobile_ConnectPhone` | 连接手机 | mobile | `Mobile.ConnectPhone` | +| `Mobile_MobileElementAarray` | 获取手机相似元素数组 | mobile | `Mobile.MobileElementAarray` | +| `Mobile_Call` | 拨打电话 | mobile | `Mobile.Call` | +| `Mobile_MobileSetText_V1` | 手机键盘输入 | mobile | `Mobile.MobileSetText_V1` | +| `Mobile_ClickButton` | 系统导航键 | mobile | `Mobile.ClickButton` | +| `Mobile_SetInputV1` | 手机输入文本 | mobile | `Mobile.SetInputV1` | +| `Mobile_ConnectPhoneV3` | 连接手机 | mobile | `Mobile.ConnectPhoneV3` | +| `Mobile_GetAttribute` | 手机元素属性拾取 | mobile | `Mobile.GetAttribute` | +| `Mobile_Exists` | 手机元素判断 | mobile | `Mobile.Exists` | +| `Mobile_MobileElementList` | 获取手机相似元素列表 | mobile | `Mobile.MobileElementList` | +| `Mobile_FileTransfer` | 手机文件传输 | mobile | `Mobile.FileTransfer` | +| `Mobile_GetPhoneInfomation` | 获取手机连接详情 | mobile | `Mobile.GetPhoneInfomation` | +| `Mobile_ClickLocation` | 手机屏幕坐标点击 | mobile | `Mobile.ClickLocation` | +| `Mobile_SaveFilePhone` | 保存文件到手机 | mobile | `Mobile.SaveFilePhone` | +| `Mobile_SetInput` | 设置文本|填写输入框 | mobile | `Mobile.SetInput` | +| `Mobile_MobileCvClick` | 手机智能元素点击 | mobile | `Mobile.MobileCvClick` | +| `Mobile_TouchSlideV1` | 触摸滑动 | mobile | `Mobile.TouchSlideV1` | +| `Mobile_GetPhoneFiles` | 从手机中获取文件 | mobile | `Mobile.GetPhoneFiles` | +| `Mobile_OpenMobileApp` | 打开手机APP | mobile | `Mobile.OpenMobileApp` | +| `Mobile_TouchSlide` | 触摸滑动 | mobile | `Mobile.TouchSlide` | +| `Mobile_GetMobileUiTree` | 获取手机UI树 | mobile | `Mobile.GetMobileUiTree` | +| `Mobile_GetScreenOrientation` | 获取手机屏幕方向 | mobile | `Mobile.GetScreenOrientation` | +| `Mobile_GetElement` | 获取手机元素对象 | mobile | `Mobile.GetElement` | +| `Mobile_MobileCvSetText` | 智能设置文本|填写输入框 | mobile | `Mobile.MobileCvSetText` | +| `Mobile_ClosePhone` | 关闭连接手机 | mobile | `Mobile.ClosePhone` | +| `Mobile_SetInputV2` | 手机输入文本 | mobile | `Mobile.SetInputV2` | +| `Mobile_SetScreenOrientation` | 设置手机屏幕方向 | mobile | `Mobile.SetScreenOrientation` | +| `Mobile_ImageClick` | 点击手机图像 | mobile | `Mobile.ImageClick` | +| `Mobile_CloseMobileApp` | 关闭手机APP | mobile | `Mobile.CloseMobileApp` | +| `Mobile_ElementShot` | 手机元素截图 | mobile | `Mobile.ElementShot` | +| `Mobile_ScreenShot` | 手机截屏 | mobile | `Mobile.ScreenShot` | +| `Mobile_GetClipboardText` | 获取手机剪切板文本 | mobile | `Mobile.GetClipboardText` | +| `Mobile_ConnectPhoneV2` | 连接手机 | mobile | `Mobile.ConnectPhoneV2` | +| `Mobile_GetText` | 手机元素文本拾取 | mobile | `Mobile.GetText` | +| `Mobile_MobileSetText` | 手机键盘输入 | mobile | `Mobile.MobileSetText` | +| `Mobile_MobileElementList_V1` | 获取手机相似元素列表 | mobile | `Mobile.MobileElementList_V1` | +| `Mobile_ElementClick` | 手机元素点击 | mobile | `Mobile.ElementClick` | +| `Mobile_GetChildren` | 获取手机子元素 | mobile | `Mobile.GetChildren` | +| `Mobile_SetClipboardText` | 设置手机剪切板文本 | mobile | `Mobile.SetClipboardText` | +| `Mobile_ConnectPhoneV1` | 连接手机 | mobile | `Mobile.ConnectPhoneV1` | +| `OCR_RotateVerificationCodeV1` | 旋转图片验证码 | vision | `OCR.RotateVerificationCodeV1` | +| `OCR_PuzzleVerificationCode_v1` | 推理拼图验证码 | vision | `OCR.PuzzleVerificationCode_v1` | +| `OCR_ClickVerificationCodeV2` | 点选验证码 | vision | `OCR.ClickVerificationCodeV2` | +| `OCR_SourceCommonEnglishNumbersCodeV2` | 普通验证码 | vision | `OCR.SourceCommonEnglishNumbersCodeV2` | +| `OCR_SimpleSliderVerificationCode` | 滑块验证码(滑动条式) | vision | `OCR.SimpleSliderVerificationCode` | +| `OCR_SourceMergeCardOCR` | 识别卡证文字 | vision | `OCR.SourceMergeCardOCR` | +| `OCR_SliderVerificationCodeV5` | 滑动拼图验证码 | vision | `OCR.SliderVerificationCodeV5` | +| `OCR_SliderVerificationCodeV4` | 滑动拼图验证码 | vision | `OCR.SliderVerificationCodeV4` | +| `OCR_SourceMergeOtherOCR` | 识别其他场景文字 | vision | `OCR.SourceMergeOtherOCR` | +| `OCR_SliderCode` | 滑块验证码 | vision | `OCR.SliderCode` | +| `OCR_SourceMergeGeneralOCR` | 通用文字识别 | vision | `OCR.SourceMergeGeneralOCR` | +| `OCR_RotateVerificationCodeV2` | 旋转图片验证码 | vision | `OCR.RotateVerificationCodeV2` | +| `OCR_RotateVerificationCode` | 滑块验证码(旋转式) | vision | `OCR.RotateVerificationCode` | +| `OCR_ClickVerificationCodeV1` | 点选验证码 | vision | `OCR.ClickVerificationCodeV1` | +| `OCR_PuzzleVerificationCode` | 推理拼图验证码 | vision | `OCR.PuzzleVerificationCode` | +| `OCR_SimpleSliderVerificationCodeV2` | 滑动条验证码 | vision | `OCR.SimpleSliderVerificationCodeV2` | +| `OCR_SourceCommonEnglishNumbersCode` | 普通验证码 | vision | `OCR.SourceCommonEnglishNumbersCode` | +| `OCR_SourceMergeCarOCR` | 识别汽车场景文字 | vision | `OCR.SourceMergeCarOCR` | +| `OCR_SliderVerificationCodeV2` | 滑块验证码(拼图样式) | vision | `OCR.SliderVerificationCodeV2` | +| `OCR_SliderVerificationCodeV1` | 滑块验证码(拼图样式) | vision | `OCR.SliderVerificationCodeV1` | +| `OCR_SliderVerificationCode` | 滑块验证码(拼图样式) | vision | `OCR.SliderVerificationCode` | +| `OCR_SourceMergeEducationOCR` | 识别教育场景文字 | vision | `OCR.SourceMergeEducationOCR` | +| `OCR_SliderVerificationCodeV3` | 滑动拼图验证码 | vision | `OCR.SliderVerificationCodeV3` | +| `OCR_ClickVerificationCode` | 点选验证码 | vision | `OCR.ClickVerificationCode` | +| `OCR_SourceCommonEnglishNumbersCodeV1` | 普通验证码 | vision | `OCR.SourceCommonEnglishNumbersCodeV1` | +| `OCR_PuzzleVerificationCode_v2` | 推理拼图验证码 | vision | `OCR.PuzzleVerificationCode_v2` | +| `OCR_SourceMergePaperOCR` | 识别票据文字 | vision | `OCR.SourceMergePaperOCR` | +| `OCR_SimpleSliderVerificationCodeV1` | 滑动条验证码 | vision | `OCR.SimpleSliderVerificationCodeV1` | +| `OCR_SourceMergeGeneralOCR_V1` | 识别通用文字 | vision | `OCR.SourceMergeGeneralOCR_V1` | +| `OCR_SliderVerificationCodePosition` | 获取拼图滑块位置 | vision | `OCR.SliderVerificationCodePosition` | +| `OcrOffline_ClickOcrText_V1` | 鼠标点击OCR文本 | vision | `OcrOffline.ClickOcrText_V1` | +| `OcrOffline_MoveToOcrText` | 鼠标移动到OCR文本上 | vision | `OcrOffline.MoveToOcrText` | +| `OcrOffline_ClickOcrText` | 鼠标点击OCR文本 | vision | `OcrOffline.ClickOcrText` | +| `OcrOffline_MoveToOcrText_V1` | 鼠标移动到OCR文本上 | vision | `OcrOffline.MoveToOcrText_V1` | +| `OCR_BaiDu_CarOCR` | 汽车场景类OCR | vision | `OCR_BaiDu.CarOCR` | +| `OCR_BaiDu_OtherOCR` | 其他场景类OCR | vision | `OCR_BaiDu.OtherOCR` | +| `OCR_BaiDu_EducationOCR` | 教育场景类OCR | vision | `OCR_BaiDu.EducationOCR` | +| `OCR_BaiDu_GeneralOCR` | 通用OCR | vision | `OCR_BaiDu.GeneralOCR` | +| `OCR_BaiDu_CardOCR` | 卡片类OCR | vision | `OCR_BaiDu.CardOCR` | +| `OCR_BaiDu_PaperOCR` | 票据类OCR | vision | `OCR_BaiDu.PaperOCR` | +| `peripherals_UsbCom` | 开/关USB通道 | mobile | `peripherals.UsbCom` | +| `peripherals_CloseNetworkUsbCom` | 关闭NetworkUSB通道 | mobile | `peripherals.CloseNetworkUsbCom` | +| `peripherals_CloseUsbCom` | 关闭USB通道 | mobile | `peripherals.CloseUsbCom` | +| `peripherals_NetworkUsbCom` | 开/关NetworkUSB通道 | mobile | `peripherals.NetworkUsbCom` | +| `peripherals_OpenNetworkUsbCom` | 开启NetworkUSB通道 | mobile | `peripherals.OpenNetworkUsbCom` | +| `peripherals_OpenUsbCom` | 开启USB通道 | mobile | `peripherals.OpenUsbCom` | +| `SafeControlInput_KeyInput` | 安全控件文本输入 | desktop | `SafeControlInput.KeyInput` | +| `Scenario_CreditVerify` | 征信报告解析 | message | `Scenario.CreditVerify` | +| `Scenario_VatInvoice` | 增值税发票验真 | message | `Scenario.VatInvoice` | +| `Scenario_PhysicalExamination` | 体检报告解析 | message | `Scenario.PhysicalExamination` | +| `System_ResetMechanicalArm` | 复位机械臂 | app | `System.ResetMechanicalArm` | +| `System_MechanicalArmClick` | 机械臂点击 | app | `System.MechanicalArmClick` | +| `System_ConnectingUshield` | 连接U盾 | app | `System.ConnectingUshield` | +| `System_ConnectingMechanicalArm` | 连接机械臂 | app | `System.ConnectingMechanicalArm` | +| `System_CloseMechanicalArm` | 断开机械臂 | app | `System.CloseMechanicalArm` | +| `System_CloseUshield` | 断开U盾 | app | `System.CloseUshield` | +| `System_GetMobileMessage` | 获取手机短信 | app | `System.GetMobileMessage` | +| `WebBrowser_DownloadDialog` | 处理下载对话框 | web | `WebBrowser.DownloadDialog` | + +## 待评估(按需排期)(80 个) + +| ID | 名称 | 模块 | 原厂函数 | +|---|---|---|---| +| `child_modules_v1` | 调用子流程 | control | `child_modules_v1` | +| `concurrent_child_process_v1` | 并发调用子流程 | control | `concurrent_child_process_v1` | +| `Element_exception_monitor_v2` | 异常监控 | control | `Element_exception_monitor_v2` | +| `Database_BatchSQLExecute` | 批量执行SQL语句 | data | `Database.BatchSQLExecute` | +| `Database_DBConnect` | 连接数据库 | data | `Database.DBConnect` | +| `Database_SingleSQLQuery` | 执行单SQL查询 | data | `Database.SingleSQLQuery` | +| `Database_BatchInsertExecute` | SQL批量插入数据 | data | `Database.BatchInsertExecute` | +| `Database_AllSQLQuery_V1` | 执行全SQL查询 | data | `Database.AllSQLQuery_V1` | +| `Database_CloseDBConnect` | 关闭连接 | data | `Database.CloseDBConnect` | +| `Database_SQLExecute` | 执行SQL语句 | data | `Database.SQLExecute` | +| `Database_AllSQLQuery` | 执行全SQL查询 | data | `Database.AllSQLQuery` | +| `File_UploadBusinessResults_v1` | 上报办理结果 | file | `File.UploadBusinessResults_v1` | +| `File_StartBusiness` | 上报办理业务 | file | `File.StartBusiness` | +| `File_UploadBusinessResults` | 上报办理结果(门户专用) | file | `File.UploadBusinessResults` | +| `File_Collectupload` | 上报采集数据 | file | `File.Collectupload` | +| `File_UploadFolder` | 结果打包上传 | file | `File.UploadFolder` | +| `FileTypeConversion_Office2pdf` | OFFICE文档转PDF | office | `FileTypeConversion.Office2pdf` | +| `FileTypeConversion_Pdf2image2` | PDF转图片 | office | `FileTypeConversion.Pdf2image2` | +| `GoogleTable_GetAllData` | 获取列信息(Google Sheets) | office | `GoogleTable.GetAllData` | +| `GoogleTable_GetAllSheetsName` | 获取Sheet名(Google Sheets) | office | `GoogleTable.GetAllSheetsName` | +| `GoogleTable_WriteToSheetRegionColumns` | 写入列(Google Sheets) | office | `GoogleTable.WriteToSheetRegionColumns` | +| `GoogleTable_WriteToSheetRegionRows` | 写入行(Google Sheets) | office | `GoogleTable.WriteToSheetRegionRows` | +| `GoogleTable_WriteToSheetCell` | 写入单元格(Google Sheets) | office | `GoogleTable.WriteToSheetCell` | +| `GoogleTable_WriteToSheetCellFormula` | 写入单元格公式(Google Sheets) | office | `GoogleTable.WriteToSheetCellFormula` | +| `GoogleTable_GetSheetRowCount` | 获取行数(Google Sheets) | office | `GoogleTable.GetSheetRowCount` | +| `GoogleTable_DownloadSheets` | 导出Sheet(Google Sheets) | office | `GoogleTable.DownloadSheets` | +| `GoogleTable_CopyPasteSheet` | 复制粘贴(Google Sheets) | office | `GoogleTable.CopyPasteSheet` | +| `GoogleTable_GetColumnsByTableTitle` | 按表头读取列(Google Sheets) | office | `GoogleTable.GetColumnsByTableTitle` | +| `GoogleTable_ChangeSheet` | 激活Sheet(Google Sheets) | office | `GoogleTable.ChangeSheet` | +| `GoogleTable_RenameSheet` | 重命名Sheet(Google Sheets) | office | `GoogleTable.RenameSheet` | +| `GoogleTable_WriteToSheetRegionregion` | 写入区域(Google Sheets) | office | `GoogleTable.WriteToSheetRegionregion` | +| `Image_Move_V2` | 鼠标移动到图像上 | vision | `Image.Move_V2` | +| `Image_Base64Decode` | 图片base64编码转二进制 | vision | `Image.Base64Decode` | +| `Image_Base64Encode` | 图片转base64编码 | vision | `Image.Base64Encode` | +| `Image_Wait_V1` | 等待图像 | vision | `Image.Wait_V1` | +| `Image_Exists` | 判断图像 | vision | `Image.Exists` | +| `Image_Location` | 图像位置 | vision | `Image.Location` | +| `Image_Location_V1` | 获取图像位置 | vision | `Image.Location_V1` | +| `Image_Exists_V1` | 判断图像 | vision | `Image.Exists_V1` | +| `Image_CropImg` | 截取图像 | vision | `Image.CropImg` | +| `Image_RelativePosition` | 对比图像相对位置 | vision | `Image.RelativePosition` | +| `Image_Wait` | 等待图像 | vision | `Image.Wait` | +| `Image_Move` | 移动到图像 | vision | `Image.Move` | +| `Image_Move_V1` | 移动到图像 | vision | `Image.Move_V1` | +| `Mark_Mark` | 图片打标 | vision | `Mark.Mark` | +| `NLP_XunFei_MachineTranslation` | 机器翻译 | message | `NLP_XunFei.MachineTranslation` | +| `NLP_XunFei_FeelingAnalysis` | 第三方情感分析模型 | message | `NLP_XunFei.FeelingAnalysis` | +| `NLP_XunFei_KeywordExtraction` | 关键字提取 | message | `NLP_XunFei.KeywordExtraction` | +| `OCR_MergeCardOCR` | 卡证文字识别 | vision | `OCR.MergeCardOCR` | +| `OCR_CalculationCode` | 算术验证码 | vision | `OCR.CalculationCode` | +| `OCR_IdCardV2` | OCR身份证 | vision | `OCR.IdCardV2` | +| `OCR_BusinessCardV2` | OCR名片 | vision | `OCR.BusinessCardV2` | +| `OCR_VehicleInvoiceV2` | OCR机动车发票 | vision | `OCR.VehicleInvoiceV2` | +| `OCR_MergeOtherOCR` | 其他场景文字识别 | vision | `OCR.MergeOtherOCR` | +| `OCR_BusinessLicenseV3` | OCR营业执照(自研) | vision | `OCR.BusinessLicenseV3` | +| `OCR_PassportV2` | OCR护照 | vision | `OCR.PassportV2` | +| `OCR_MergeGeneralOCR` | 通用文字识别 | vision | `OCR.MergeGeneralOCR` | +| `OCR_KeyValueIdentification` | 识别键值对结构 | vision | `OCR.KeyValueIdentification` | +| `OCR_AmountIdentification` | 识别价格金额 | vision | `OCR.AmountIdentification` | +| `OCR_GeneralTextV2` | OCR高精度文本 | vision | `OCR.GeneralTextV2` | +| `OCR_VatInvoiceV2` | OCR增值税发票 | vision | `OCR.VatInvoiceV2` | +| `OCR_DrivingLicenseV2` | OCR行驶证 | vision | `OCR.DrivingLicenseV2` | +| `OCR_AccountPageV2` | OCR户口页 | vision | `OCR.AccountPageV2` | +| `OCR_PlateLicenseV2` | OCR车牌 | vision | `OCR.PlateLicenseV2` | +| `OCR_BankCardV2` | OCR银行卡 | vision | `OCR.BankCardV2` | +| `OCR_BankCardV3` | OCR银行卡(自研) | vision | `OCR.BankCardV3` | +| `OCR_IdCardV3` | OCR身份证(自研) | vision | `OCR.IdCardV3` | +| `OCR_VatInvoiceV3` | OCR增值税发票(自研) | vision | `OCR.VatInvoiceV3` | +| `OCR_MergePaperOCR` | 票据文字识别 | vision | `OCR.MergePaperOCR` | +| `OCR_DriverLicenseV2` | OCR驾驶证 | vision | `OCR.DriverLicenseV2` | +| `OCR_RealEstateCertV2` | OCR不动产权证 | vision | `OCR.RealEstateCertV2` | +| `OCR_TrainTicketV2` | OCR火车票 | vision | `OCR.TrainTicketV2` | +| `OCR_TaxiInvoiceV2` | OCR出租车发票 | vision | `OCR.TaxiInvoiceV2` | +| `OCR_OfficialSealV2` | OCR公章 | vision | `OCR.OfficialSealV2` | +| `OCR_MergeCarOCR` | 汽车场景文字识别 | vision | `OCR.MergeCarOCR` | +| `OCR_MergeEducationOCR` | 教育场景文字识别 | vision | `OCR.MergeEducationOCR` | +| `OCR_HouseCertV2` | OCR房产证 | vision | `OCR.HouseCertV2` | +| `OCR_CommonEnglishNumbersCode` | 普通验证码 | vision | `OCR.CommonEnglishNumbersCode` | +| `OCR_BusinessLicenseV2` | OCR营业执照 | vision | `OCR.BusinessLicenseV2` | +| `OCR_VinV2` | OCR车辆vin码 | vision | `OCR.VinV2` | + +## 视觉定位与 OCR 读屏(5 个) + +| ID | 名称 | 模块 | 原厂函数 | +|---|---|---|---| +| `logic_control_if_ai_vision` | 判断屏幕图像(AI) | control | `logic_control_if_ai_vision` | +| `CV_GetText` | 获取文本 | vision | `CV.GetText` | +| `CV_SetText` | 文本输入 | vision | `CV.SetText` | +| `CV_MouseHover` | 移动到元素上 | vision | `CV.MouseHover` | +| `CV_MouseClick` | 元素点击 | vision | `CV.MouseClick` | + +## 邮件收件剩余(19 个) + +| ID | 名称 | 模块 | 原厂函数 | +|---|---|---|---| +| `Mail_UnmarkSeen` | 标为未读 | message | `Mail.UnmarkSeen` | +| `Mail_DoReplyMail_v1` | 回复邮件(Outlook) | message | `Mail.DoReplyMail_v1` | +| `Mail_RecvConnect` | 连接邮箱 | message | `Mail.RecvConnect` | +| `Mail_RecvMailGet` | 取第几封邮件 | message | `Mail.RecvMailGet` | +| `Mail_ExOperateMail` | 操作邮件 | message | `Mail.ExOperateMail` | +| `Mail_RecvGetList` | 邮件筛选 | message | `Mail.RecvGetList` | +| `Mail_DoMoveMail` | 移动邮件 | message | `Mail.DoMoveMail` | +| `Mail_UnionConnect` | 连接邮箱 | message | `Mail.UnionConnect` | +| `Mail_ExConnect` | 连接Exchange邮箱 | message | `Mail.ExConnect` | +| `Mail_RecvClose` | 关闭连接 | message | `Mail.RecvClose` | +| `Mail_DoSendMail` | 发送邮件 | message | `Mail.DoSendMail` | +| `Mail_RecvCount` | 取收件箱邮件数 | message | `Mail.RecvCount` | +| `Mail_ExSearchMail` | 查找邮件 | message | `Mail.ExSearchMail` | +| `Mail_ExSendMail` | 发送邮件 | message | `Mail.ExSendMail` | +| `Mail_OperateMail` | 操作邮件 | message | `Mail.OperateMail` | +| `Mail_MarkSeen` | 标为已读 | message | `Mail.MarkSeen` | +| `Mail_DoMoveMail_v1` | 操作邮件(Outlook) | message | `Mail.DoMoveMail_v1` | +| `Mail_DoReplyMail` | 回复邮件 | message | `Mail.DoReplyMail` | +| `Mail_DoSendMail_v1` | 发送邮件(Outlook) | message | `Mail.DoSendMail_v1` | + +## 判定规则 + +```ts +implemented = runtimeContainers.has(component.id) || hasCapability(component.id) || hasCapability(component.functionName) +``` + +- `runtimeContainers` 是流程引擎内置控制容器,不占用能力处理器。 +- 本文件是快照;代码注册变化后需重新比对生成。