先不经过 OpenClaw 裸测一下 STDIO 是否正常cmd执行echo {jsonrpc:2.0,id:1,method:tools/list,params:{}} | java -jar target\recharge-risk-demo-1.0.0.jar通了。6 个工具都出来了妫€娴嬫伓鎰忓厖鍊这种乱码只是cmd的 GBK 编码显示问题OpenClaw 走 STDIO 是 UTF-8不影响。恢复脏数据把之前封号处理的用户状态恢复至正常看看openclaw会不会再把他封了恢复前状态数据恢复至正式使用openclaw由于本次测试使用的模型质量一般所以对话给出的指令需要详细一下正常情况只需简单给出指令即可空转循环这个现象很典型MCP 没连上qwen2.5:7b在空转瞎调tool_search7 次全失败。不是你口令的问题。模型太小了读不到skill要么先把skill喂给它要么换好模型或者关掉 lean 模式后续有机会了试试换模型openai的gpt4o还报错你切到gpt-4o后Gateway 给这个模型默认分配了codex这个 Runtime但你根本没装这个插件所以连 Agent 都起不来更没机会调detectRisk。修法给 gpt-4o 指定用openclaw这个 Runtime给gpt-4o加agentRuntime: openclaw顺手把localModelLean关了不然 4o 也会被 lean 坑再次重启gateway网关又异常了自己跟着ai重新清了一遍重新打开后检查mcp是否通注意科学上网不然大模型跑不通毕竟用了gpt还是llm超时原因是本机浏览器访问外网和openclaw请求外网逻辑不一样改用其他模型吧找一个兼容某公司的接口即可不必严格某公司比如我这种就可以模型已经正常了但是模型还是读不到那六个工具发现代码有问题做了什么RechargeMcpServer.java修了initialize以前错回成tools/call格式的content现在正确返回protocolVersion capabilities.tools serverInfo这就是probe报的那三个invalid_type缺的字段。加了notifications/initialized直接回空对象不再报unknown method。补了每个 tool 的inputSchema.properties避免严格客户端拒掉空 schema。openclaw mcp probe recharge-risk openclaw mcp reload两个命令检测一下欧了再试试成了让openclaw进行封禁操作后数据库的结果不符合预期很明显就剩下操作数据库的代码问题了解决如下这些其实都不用管让ai写就行了mcp/RechargeMcpServer.java—tools/list补全 schemabanUser声明user_id必填 reasonrestrictBonus / getAccountStatus声明user_id必填detectRisk等无参工具保持空。这样模型不会再空参调用。tools/call加校验user_id为空直接抛requires user_id错误返回不再写入空 user 的脏数据。dao/AccountStatusDao.java— 封禁逻辑补齐UPSERT 改为写入ban_until updated_atbanned时ban_until 现在7天其他状态置 NULL。之前ban_until永远 NULL7 天封禁没落地。恢复数据库又成了数据库中也完美修改