mjava-mcli/ 为 mjava-com/pom.xml artifactId 为 mjava-comBoot.java package 为 com.malk.com_(注意避开 java 保留字 com,用 com_ 或 gw)application.yml port=9020 + context-path=/api/com<modules> 追加 <module>mjava-com</module>com.malk.com_.auth.CallerProfile(数据类)CallerRegistryService(查宜搭权限表单,缓存 + 刷新)CallerAuthInterceptor(时间窗 → callerId → HMAC-SHA256 → enabled)/health 等公共端点ActionRegistry(Map<String, ActionHandler>)ActionHandler 接口:McR handle(CallerProfile caller, JSONObject body)DingtalkActionRegistry:在 @PostConstruct 注册至少 3 个 action(user.get / dept.list / workflow.start)作为首批AliworkActionRegistry:首批 3 action(form.save / form.list / form.update)ActionWhitelistConfig(读 application.yml com.actions.enabled)GatewayController 路由 POST /{vendor}/{action}CallerRateLimiter(Guava RateLimiter per callerId,LRU 容量 500)UtilHttp 审计基础上,com 侧拦截器补写入 MDC(callerId / vendorAction)./log/{日期}/com-%X{callerId}.logapplication-dev.yml.example(com.caller.registry.* + com.actions.enabled 示例)application-prod.yml.example(同上占位)README.md:外部系统对接步骤、signature 算法示例(Python / Node.js 样例代码)mjava-baseline.md 表格里 mjava-com 状态为"已实施"HmacSignatureTest / CallerRegistryTest/dingtalk/user.get → 验证成功 & 失败(签名错、过期、限流、未启用 action)/opsx:validate add-mjava-com --strict 通过