mateclaw/mateclaw-server/src/main/java/vip/mate/approval/ApprovalPlaceholderUtil.java
matevip 579d60125b Initial commit: MateClaw — Java + Vue 3 AI Assistant System
Full-stack AI assistant built on Spring AI Alibaba.
Features: ReAct Agent, Plan-and-Execute, MCP Protocol, Multi-Model, Multi-Channel.

Apache-2.0 License
2026-04-04 19:03:49 +08:00

32 lines
1.0 KiB
Java

package vip.mate.approval;
/**
* 审批占位消息检测工具(共享单点定义)
* <p>
* 实现 TOOL_GUARD_DENIED_MARK 语义:
* 检测 assistant 消息内容是否为审批占位文本,用于:
* <ul>
* <li>BaseAgent.buildConversationHistory() — 运行时过滤,防止 LLM 看到审批残留</li>
* <li>ConversationService.removeApprovalPlaceholders() — DB 物理清理</li>
* </ul>
*
* @author MateClaw Team
*/
public final class ApprovalPlaceholderUtil {
private ApprovalPlaceholderUtil() {
}
/**
* 判断消息内容是否为审批占位消息
*/
public static boolean isApprovalPlaceholder(String content) {
if (content == null || content.isEmpty()) return false;
return content.contains("[⏳ 等待审批]")
|| content.contains("[APPROVAL_PENDING]")
|| content.contains("[等待审批]")
|| content.contains("请输入 /approve")
|| content.contains("等待您的批准");
}
}