SAP RAP多选Action执行策略与最佳实践
1. 项目概述RAP Action的多选执行痛点与解决方案在SAP Fiori应用开发中RAPRestful ABAP Programming模型已经成为现代ABAP开发的标准范式。其中Action作为业务操作的核心载体其执行方式直接关系到用户体验。但在实际项目中我们经常遇到这样的场景用户需要批量选中表格中的多条数据然后执行某个业务操作。这时开发者往往会发现系统默认的多选执行行为并不符合业务需求——要么是Action被重复调用多次每条数据一次要么是所有选中数据被合并处理但缺乏精细控制。这正是Multi Select与invocationGrouping要解决的核心问题。通过这对黄金组合我们可以精确控制多选场景下Action的执行逻辑。比如将多条数据合并为一个请求处理适合批量审批场景保持每条数据独立调用但共享前置/后置处理适合批量邮件发送完全禁止多选执行适合必须单条处理的关键业务2. 核心概念解析Multi Select与invocationGrouping的协同机制2.1 Multi Select的基础实现在RAP模型中启用多选功能需要三个关键步骤// 在CDS视图的元数据注解中启用多选 UI: { selectionField: [ { position: 10 } ], multiSelect: true } entity ZMyEntity { // 字段定义 } // 在行为定义中声明支持多选的Action behavior for ZMyEntity { action (features: instance) multiProcess parameter ZProcessParam result [1] $self; }注意multiSelect: true必须与selectionField注解配合使用否则前端表格不会显示复选框列2.2 invocationGrouping的三种模式invocationGrouping参数是控制多选行为的关键它有三种取值Isolated默认值每条选中记录独立触发Action适合每条记录需要独立上下文如单独生成后续单据缺点N条记录会产生N次HTTP请求Grouped所有选中记录合并为一个请求适合批量处理无依赖关系的任务如状态批量更新特点Action参数会变成数组类型None禁止多选执行Action适合必须单条处理的关键业务如财务过账3. 实战配置从基础到高级的多选控制3.1 基础配置示例在行为定义中指定分组策略behavior definition ZMyBehavior { action (features: instance, invocationGrouping: grouped) multiApprove; action (features: instance, invocationGrouping: isolated) singleProcess; action (features: instance, invocationGrouping: none) criticalAction; }对应的行为实现类中需要处理不同模式下的参数CLASS lcl_behavior IMPLEMENTATION. METHOD multiApprove. grouped模式下parameters是内表 LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_param). 处理每条记录的审批逻辑 ENDLOOP. ENDMETHOD. ENDCLASS.3.2 高级控制技巧动态启用/禁用多选通过条件逻辑控制多选可用性METHOD get_features. LOOP AT keys ASSIGNING FIELD-SYMBOL(fs_key). IF fs_key-status APPROVED. result-%action-multiApprove if_abap_behvfc-o-disabled. ENDIF. ENDLOOP. ENDMETHOD.混合使用不同分组策略针对不同业务场景组合使用策略behavior definition ZOrderBehavior { // 批量审批使用分组模式 action (features: instance, invocationGrouping: grouped) massApprove; // 单独发货使用独立模式 action (features: instance, invocationGrouping: isolated) singleDelivery; // 财务过账禁止多选 action (features: instance, invocationGrouping: none) postAccounting; }4. 前端适配与用户体验优化4.1 Fiori Elements的适配配置在manifest.json中配置表格的多选行为SalesOrderList: { type: ListReport, options: { tableType: GridTable, selectionMode: MultiToggle, actions: { massApprove: { invocationGrouping: Grouped, batchAction: true } } } }4.2 批量操作的用户引导通过注解优化用户界面UI: { action: [ { type: #FOR_MULTI, label: Batch Approve, position: 10, grouping: #GROUPED, enabledDetermination: #DYNAMIC }] } action massApprove;5. 性能优化与最佳实践5.1 大数据量下的性能考量当处理大量数据时建议对于Grouped模式实现分块处理如每次处理100条使用%control字段控制数据传输量METHOD processBatch. DATA(lt_batch) VALUE #( FOR GROUPS OF 100 lines IN parameters GROUP BY ( group sy-index DIV 100 ) WITHOUT MEMBERS ( lines ) ). LOOP AT lt_batch ASSIGNING FIELD-SYMBOL(fs_batch). 处理每个批次 ENDLOOP. ENDMETHOD.对于Isolated模式启用后台处理提供进度反馈5.2 错误处理策略不同分组模式的错误处理差异模式错误处理特点推荐策略Isolated单条失败不影响其他记录收集错误后统一显示Grouped任一失败会导致整个请求回滚实现部分提交或补偿机制None天然避免多选错误标准单条错误处理即可实现示例METHOD massApprove. LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_param). TRY. 业务逻辑处理 CATCH cx_root INTO DATA(lx_error). 记录错误但继续处理 APPEND VALUE #( %tky fs_param-%tky %msg lx_error-get_text( ) ) TO failed. ENDTRY. ENDLOOP. ENDMETHOD.6. 常见问题排查与调试技巧6.1 典型问题速查表现象可能原因解决方案多选复选框不显示缺少multiSelect注解检查CDS视图UI注解Action在多选时不可用未设置features: instance检查行为定义中的action配置Grouped模式参数解析失败参数未定义为内表类型修改参数为TABLE OF结构性能低下未做分批处理实现分块处理逻辑错误消息显示不全未正确填充failed结构确保所有错误都返回%tky和%msg6.2 调试技巧使用cl_abap_behv_utilityget_cloud_log获取详细日志在行为实现类中设置断点时对于Isolated模式断点会触发多次每次处理一条记录对于Grouped模式断点只会触发一次所有记录一起处理检查前端请求负载Isolated模式每个请求只包含一条记录的keyGrouped模式单个请求包含所有选中记录的keys数组7. 进阶应用自定义分组逻辑对于更复杂的分组需求可以实现自定义分组处理器CLASS lcl_custom_grouping DEFINITION INHERITING FROM cl_abap_behv_grouping. PUBLIC SECTION. METHODS if_abap_behv_grouping~get_grouping REDEFINITION. ENDCLASS. METHOD if_abap_behv_grouping~get_grouping. 根据业务规则动态决定分组方式 IF iv_action MASS_PROCESS. result VALUE #( invocation if_abap_behvgc_grouping-grouped ). ELSE. result VALUE #( invocation if_abap_behvgc_grouping-isolated ). ENDIF. ENDMETHOD.在行为池中注册自定义处理器CLASS lhc_my_behavior DEFINITION INHERITING FROM cl_abap_behavior_handler. PRIVATE SECTION. METHODS get_grouping FOR GROUPING IMPORTING keys REQUEST requested_early_features FOR my_entity RESULT result. ENDCLASS. METHOD get_grouping. result NEW lcl_custom_grouping( ). ENDMETHOD.8. 实际案例采购订单批量审批8.1 业务场景分析某采购系统中需要实现选择多个待审批订单一次性批量审批通过需要记录每个订单的审批人和审批时间任一订单审批失败不影响其他订单8.2 技术实现方案CDS视图注解UI: { selectionField: [ { position: 10 } ], multiSelect: true, lineItem: [ { type: #FOR_ACTION, label: Batch Approve, position: 20, invocationGrouping: #GROUPED }] }行为定义behavior definition ZPOApproval { action (features: instance, invocationGrouping: grouped) batchApprove parameter ZApproverParam result [1] $self; }行为实现METHOD batchApprove. DATA(lv_timestamp) cl_abap_context_infoget_system_time( ). LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_po). UPDATE zpurchase_order SET status APPROVED, approved_by fs_po-approver_id, approved_at lv_timestamp WHERE po_number fs_po-po_number. IF sy-subrc 0. APPEND VALUE #( %tky fs_po-%tky %msg NEW zcx_approval_error( ) ) TO failed. ENDIF. ENDLOOP. ENDMETHOD.8.3 性能优化版本对于可能的大数据量处理METHOD batchApprove. DATA: lt_update TYPE STANDARD TABLE OF zpurchase_order. lt_update VALUE #( FOR po IN parameters ( po_number po-po_number status APPROVED approved_by po-approver_id approved_at cl_abap_context_infoget_system_time( ) ) ). MODIFY zpurchase_order FROM TABLE lt_update ACCEPTING DUPLICATE KEYS. IF sy-subrc 0. 错误处理 ENDIF. ENDMETHOD.9. 与其他Fiori特性的协同9.1 与Draft模式的配合当实体启用Draft时多选Action需要额外考虑METHOD batchApprove. 先激活所有选中草稿 READ ENTITIES OF ZMyEntity IN LOCAL MODE ENTITY my_entity ALL FIELDS WITH CORRESPONDING #( keys ) RESULT DATA(lt_active_data). 然后处理激活后的数据 ENDMETHOD.9.2 与Analytical List Page的集成在ALP中配置多选ActionanalyticalListPage: { table: { actions: { multiSelectActions: [ massApprove ] } } }10. 安全性与权限控制10.1 基于字段的权限控制结合AccessControl注解限制多选操作AccessControl.authorityCheck: #CHECK EndUserText.label: Approval Authority define role ZApprovalRole { grant select, update (status, approved_by, approved_at) on ZPurchaseOrder where ( status PENDING ); }10.2 Action级别的权限检查在行为实现中添加检查METHOD batchApprove. LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_po). AUTHORITY-CHECK OBJECT ZPO_APPROVE ID ACTVT FIELD 02 ID COMPANY FIELD fs_po-company_code. IF sy-subrc 0. APPEND VALUE #( %tky fs_po-%tky ) TO failed. APPEND VALUE #( %tky fs_po-%tky %msg NEW zcx_no_auth( ) ) TO reported. ENDIF. ENDLOOP. ENDMETHOD.11. 测试策略与自动化验证11.1 单元测试示例测试分组Action的行为METHOD test_grouped_action. 准备测试数据 DATA(lt_keys) VALUE zif_my_behaviortt_key( ( po_number 10001 ) ( po_number 10002 ) ). DATA(lt_params) VALUE zif_my_behaviortt_param( ( po_number 10001 approver_id USER1 ) ( po_number 10002 approver_id USER1 ) ). 调用测试方法 DATA(lo_cut) NEW lcl_behavior( ). lo_cut-batchapprove( EXPORTING keys lt_keys parameters lt_params ). 验证结果 cl_abap_unit_assertassert_initial( lo_cut-failed ). ENDMETHOD.11.2 E2E测试场景设计测试场景验证要点预期结果单条记录执行Grouped Action参数解析是否正确正常处理无错误多条记录执行Grouped Action是否合并为单个请求只触发一次后端处理部分记录权限不足错误隔离是否有效仅无权限记录失败大数据量批处理响应时间是否在可接受范围内处理时间随数据量线性增长12. 版本兼容性与升级策略12.1 不同SAP版本的行为差异版本Multi Select特性invocationGrouping支持度1909基础支持仅支持Isolated和None2020增强表格集成完整支持三种模式2022与ALP深度集成支持动态分组策略12.2 向后兼容的实现方式对于需要支持多版本的系统METHOD batchApprove. 版本检测 DATA(lv_version) cl_abap_behv_runtimeget_version( ). IF lv_version 2020. 降级处理模拟分组行为 LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_param). 单条处理逻辑 ENDLOOP. ELSE. 原生分组处理 ... ENDIF. ENDMETHOD.13. 移动端适配与离线场景13.1 Fiori Client的特殊处理在离线场景下Grouped Action需要在manifest.json中标记支持离线actions: { massApprove: { offline: { supported: true, grouping: grouped } } }实现离线冲突处理METHOD resolve_batchapprove. 处理离线时可能的数据冲突 LOOP AT conflicts ASSIGNING FIELD-SYMBOL(fs_conflict). CASE fs_conflict-reason. WHEN DATA_CHANGED. 数据已被修改的处理 ENDCASE. ENDLOOP. ENDMETHOD.14. 性能监控与优化建议14.1 关键性能指标监控建议监控以下指标请求处理时间Isolated模式平均单条处理时间Grouped模式不同批量大小的处理时间内存消耗大数据量Grouped处理时的内存峰值锁等待时间涉及锁操作的批处理场景14.2 性能优化检查清单[ ] 是否使用了FOR ALL ENTRIES优化数据库访问[ ] 是否对大数组处理实现了分块机制[ ] 是否避免了在循环中进行COMMIT WORK[ ] 是否使用了%control减少数据传输量[ ] 是否对长时间操作实现了后台处理15. 与其他技术栈的集成15.1 与OData服务的交互当Action需要调用外部OData服务时METHOD batchApprove. 创建批处理请求 DATA(lo_batch) cl_web_odata_client_batchcreate_batch( ). 为每条记录添加操作 LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_param). DATA(lo_request) lo_batch-add_request( iv_entity_set Approvals iv_operation POST is_data VALUE ty_approval( po_number fs_param-po_number ) ). ENDLOOP. 执行批处理 lo_batch-execute( ). ENDMETHOD.15.2 与BTP服务的对接集成BTP业务规则服务示例METHOD batchApprove. 调用规则服务 DATA(lt_decisions) zcl_brfplus_utilevaluate_in_batch( it_items VALUE #( FOR po IN parameters ( po_number po-po_number approver po-approver_id ) ) ). 处理决策结果 LOOP AT lt_decisions ASSIGNING FIELD-SYMBOL(fs_decision). IF fs_decision-approved abap_true. 更新审批状态 ENDIF. ENDLOOP. ENDMETHOD.16. 设计模式与架构思考16.1 适合多选Action的设计模式批处理模式Batch Processor适用于Grouped invocation实现统一的前置/后置处理命令模式Command适用于Isolated invocation每个Action执行封装为独立命令对象责任链模式Chain of Responsibility适用于需要多级处理的场景每个处理器决定是否处理当前记录16.2 架构决策记录示例决策点选择方案理由审批Action分组策略采用Grouped模式减少网络往返保持事务一致性错误处理方式继续处理后续记录避免单条失败导致整个批处理终止大数据量处理实现分块提交机制平衡性能与内存消耗17. 异常处理与事务控制17.1 不同模式的事务特性模式事务边界错误回滚范围Isolated每条记录独立事务仅当前记录Grouped整个Action作为一个事务所有选中记录None显式控制事务自定义范围17.2 实现部分提交的示例METHOD batchApprove. DATA: lt_success TYPE STANDARD TABLE OF zpo_key. LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_po). 开始新的事务 SET LOCALE LANGUAGE EN. TRY. 业务处理逻辑 COMMIT WORK. APPEND fs_po-%tky TO lt_success. CATCH cx_root INTO DATA(lx_error). ROLLBACK WORK. APPEND VALUE #( %tky fs_po-%tky %msg lx_error-get_text( ) ) TO failed. ENDTRY. ENDLOOP. 返回成功处理的记录 LOOP AT lt_success ASSIGNING FIELD-SYMBOL(fs_success). APPEND VALUE #( %tky fs_success ) TO result. ENDLOOP. ENDMETHOD.18. 国际化与本地化支持18.1 多语言错误消息处理METHOD batchApprove. LOOP AT parameters ASSIGNING FIELD-SYMBOL(fs_po). TRY. 业务逻辑 CATCH zcx_approval_error INTO DATA(lx_error). 根据用户语言获取错误文本 DATA(lv_lang) cl_abap_behv_runtimeget_request_language( ). DATA(lv_msg) lx_error-get_text( lv_lang ). APPEND VALUE #( %tky fs_po-%tky %msg new_message( id ZAPPROVAL_MSG number 001 severity if_abap_behv_messageseverity-error v1 fs_po-po_number ) ) TO reported. ENDTRY. ENDLOOP. ENDMETHOD.18.2 日期/时间格式处理在批处理中统一处理格式METHOD batchApprove. DATA(lv_timestamp) cl_abap_context_infoget_system_time( ). DATA(lv_date) CONV datum( lv_timestamp(8) ). 根据用户偏好格式化 DATA(lv_formatted) format_date( value lv_date format cl_abap_behv_runtimeget_date_format( ) ). ENDMETHOD.19. 扩展性与自定义开发19.1 自定义分组策略实现继承标准分组处理器CLASS lcl_custom_grouping DEFINITION INHERITING FROM cl_abap_behv_grouping. PUBLIC SECTION. METHODS if_abap_behv_grouping~get_grouping REDEFINITION. PRIVATE SECTION. METHODS should_group IMPORTING iv_action TYPE abp_behv_action_name RETURNING VALUE(rv_group) TYPE abap_bool. ENDCLASS. METHOD if_abap_behv_grouping~get_grouping. IF should_group( iv_action ). result VALUE #( invocation if_abap_behvgc_grouping-grouped ). ELSE. result VALUE #( invocation if_abap_behvgc_grouping-isolated ). ENDIF. ENDMETHOD.19.2 动态Action启用示例根据数据状态动态控制METHOD get_features. 检查是否所有选中记录都满足批处理条件 SELECT COUNT(*) FROM zpurchase_order FOR ALL ENTRIES IN keys WHERE po_number keys-po_number AND status PENDING. IF sy-subrc 0 AND sy-dbcnt 0. 全部待处理才启用批处理 result-%action-massApprove if_abap_behvfc-o-enabled. ENDIF. ENDMETHOD.20. 未来演进与技术雷达20.1 与RAP新特性的整合行为扩展Behavior Extensionsextension using interface zif_mass_operations implementation in class zcl_mass_processor;自定义实体操作action (features: instance, for: custom_entity) massProcess;流式处理支持action (streaming: enabled) processStream;20.2 性能优化方向异步批处理action (async: true) backgroundApproval;服务端分页处理METHOD processBatch. DATA(lv_chunk) 0. WHILE lv_chunk * 100 lines( parameters ). 处理每个分块 lv_chunk 1. ENDWHILE. ENDMETHOD.内存优化技术DATA lt_buffer TYPE SORTED TABLE OF zpo_data WITH UNIQUE KEY po_number WITH MEMORY OPTIMIZATION.

相关新闻

别再自我感动式日更了:聊聊小红书运营里,那些真正能换来流量的硬骨头

别再自我感动式日更了:聊聊小红书运营里,那些真正能换来流量的硬骨头

你是不是也这样:每天憋图文憋到偏头痛,发出去一看,小眼睛又卡在 250。然后开始怀疑人生,是不是账号被限流了?是不是平台在针对你?老实说,现在真没那么多“限流”。平台每天有几百万篇新笔记发出…

2026/10/18 22:20:23 阅读更多 →
HTML注释与段落、换行标签详解

HTML注释与段落、换行标签详解

一、HTML注释(Comment)1. 什么是HTML注释?在 HTML 中,注释(Comment)是用于给开发者添加说明文字的内容,浏览器不会把注释内容显示在网页中。HTML注释主要用于:解释代码功能标记代码区…

2026/10/18 4:33:47 阅读更多 →
Unity游戏Mod开发指南:MelonLoader插件加载器原理与实战

Unity游戏Mod开发指南:MelonLoader插件加载器原理与实战

1. 项目概述:为什么你需要一个插件加载器?如果你是一个Unity游戏的深度玩家,或者是一个对游戏机制有自己想法的Mod开发者,那么你一定遇到过这样的困境:面对一个你热爱的游戏,你想修改它的UI、增加新的功能、…

2026/10/18 4:34:04 阅读更多 →

最新新闻

水文站点实时数据爬虫:Selenium+Requests混合方案实战

水文站点实时数据爬虫:Selenium+Requests混合方案实战

简介:本资源是一套面向Python初学者与数据爱好者设计的水文实时数据采集与可视化实践项目,聚焦网络爬虫与基础数据分析能力训练,适用于环境监测、水利信息化等场景的入门级技术验证。压缩包共9个文件,含3个核心Python脚本&#xf…

2026/10/18 23:09:18 阅读更多 →
PLaMo 2的MLX版本初体验:plamo-2-translate-bf16在Mac上免费本地运行8B英日翻译模型的完整概览指南

PLaMo 2的MLX版本初体验:plamo-2-translate-bf16在Mac上免费本地运行8B英日翻译模型的完整概览指南

【免费下载链接】plamo-2-translate-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/plamo-2-translate-bf16 点击查看 免费下载 本文带你完整了解 plamo-2-translate-bf16:由 mlx-community 制作的 PLaMo 2 8B 英日翻译模型 MLX 版本…

2026/10/18 23:09:18 阅读更多 →
Windows 64位下CUDA 11.4与cuDNN v8.2.2.26运行库配置指南

Windows 64位下CUDA 11.4与cuDNN v8.2.2.26运行库配置指南

简介:这是一份面向 Windows 深度学习开发者的 CUDA 11.4 配套组件包,提供 NVIDIA cuDNN v8.2.2.26 的完整 x64 运行库与头文件,专为搭配 CUDA Toolkit 11.4 使用,适合需要配置 TensorFlow、PyTorch 等框架 GPU 加速环境的开发者。…

2026/10/18 23:09:18 阅读更多 →
深入理解 Claude Code 源码:终端 Agent 的工程解剖与实现

深入理解 Claude Code 源码:终端 Agent 的工程解剖与实现

简介:《深入理解Claude Code源码》面向希望深入终端AI Agent内部实现的技术人员,系统剖析Anthropic命令行编程助手的架构设计、工程实践与编程哲学。全书25章加2个附录,覆盖查询引擎、工具系统、Agent编排、六层权限模型、MCP协议、状态管理与…

2026/10/18 23:09:18 阅读更多 →
提示工程架构师:从提示词设计到稳定落地的完整指南

提示工程架构师:从提示词设计到稳定落地的完整指南

1. 提示工程架构师到底在做什么——角色拆解与价值锚点1.1 从一个不起眼的输入框说起大概在两三年前,我很难想象"提示工程架构师"会成为一个正经职业头衔。当时身边人听说我在研究"怎么跟AI说话",第一反应都是:那不就是写…

2026/10/18 23:09:18 阅读更多 →
78B多模态大模型如何落地?InternVL2_5-78B-MPO多卡部署与省显存量化完整攻略

78B多模态大模型如何落地?InternVL2_5-78B-MPO多卡部署与省显存量化完整攻略

【免费下载链接】InternVL2_5-78B-MPO 项目地址: https://ai.gitcode.com/OpenGVLab/InternVL2_5-78B-MPO 点击查看 免费下载 InternVL2_5-78B-MPO 是一款基于 ViT-MLP-LLM 架构的开源多模态大模型,融合了 6B 视觉编码器 InternViT 与 72B 语言模型 Qwe…

2026/10/18 23:08:17 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →