确认jev本地服务已就绪后,选用wechat-bot或openclawbot作为微信与jev的中间层,按关键词触发、清洗state、校验confidence≥0.75,将noul/choice/score结果映射为工单分派、部门转交或紧急提醒。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让 Jev 这个只做判断、不生成文字的轻量模型,真正跑在微信里自动处理群消息或私聊请求,比如自动分派工单、识别退款意图、打情绪分——不是靠猜测,而是靠它并行输出的高置信度 Choice/Score/Noul 结果。
确认 Jev 本地服务已就绪
先验证你本地的 Jev 是否能被 HTTP 调用。如果你用的是 TypeSafe 官方 Docker 镜像(typesafeai/jev:latest),运行后默认监听 http://localhost:8000/v1/decide;若用 Vercel AI Gateway 或自建 FastAPI 封装,则需确认 endpoint 返回的是标准 JSON 格式响应,且支持 POST + application/json。
执行测试命令:curl -X POST http://localhost:8000/v1/decide -H "Content-Type: application/json" -d '{"state":"用户说退款还没到账","questions":[{"question":"是否要求退款","type":"Noul"},{"question":"应转给哪个部门","type":"Choice","options":["售后","物流","财务"]}]}'
看到返回含 "decisions" 字段的 JSON,且每个 decision 有 "value" 和 "confidence",说明服务通了。【必须确保 state 字段是纯文本,不能含 base64 图片或二进制数据,Jev 不支持多模态输入】
选一个能接微信+能调 API 的机器人框架
Jev 本身不连微信,得靠中间层转发消息。目前实测最简路径是用 wechat-bot(GitCode 上那个轻量 Wechaty 封装项目),它支持扫码登录、消息拦截、插件式扩展,且原生预留了 onMessage 钩子供你注入自定义逻辑。
方法一:直接修改 src/plugins/ai.js(若项目结构含此文件)
找到 async function handleAIReply(msg) 函数,在内部把原调 DeepSeek/Ollama 的逻辑替掉:
删掉原有 model 调用,改写为 axios 请求本地 Jev:
const res = await axios.post("http://localhost:8000/v1/decide", { state: msgText, questions: [...your_questions] }); const decision = res.data.decisions.find(d => d.question === "是否要求退款"); if (decision?.value && decision.confidence > 0.85) await msg.say("已标记为退款请求,转交售后");
方法二:用 OpenClawBot 的 tool_call 机制桥接(适合已有 OpenClawBot 环境)
在 tools/ 目录下新建 jev_judge.py,封装成工具函数,注册到 OpenClawBot 的 tool list;当用户消息触发 tool_use 意图时,自动调用本地 Jev 并解析 response。
注意:OpenClawBot 默认使用 OpenAI-style function calling schema,需在工具定义中将 parameters 设为 {"type": "object", "properties": {"state": {"type": "string"}, "questions": {"type": "array"}}},否则 schema 校验失败。
配置微信消息路由规则
第一步:确定触发条件
Jev 不适合全文自由对话,只应在明确场景下启动判断。例如:仅当群消息含“退款”“没收到”“地址错”等关键词,或私聊来自白名单用户时,才构造 state 并发往 Jev。
配置 OpenClaw 使用社区 mistral‑mcp stdio 服务器,以支持 Mistral OCR、Codestral FIM、Voxtral 音频、持久工作流、内容审核和分类等功能。
第二步:构造高质量 state
不要直接把原始消息丢进去。先做清洗:去掉 @ 机器人名、过滤 emoji、截断超长文本(Jev 最大上下文为 32K token,但实际建议 ≤2000 字符)。若消息带图片,提取 OCR 文字结果再拼入;若含链接,先抓取页面标题和首段摘要,再合成 state。
第三步:映射 Jev 输出到微信动作
根据 decisions 中不同 type 做分支处理:
• Noul 类型(如“是否要求退款”):value > 0.9 且 confidence > 0.8 → 自动回复“已收到退款申请”,并触发内部工单系统;
• Choice 类型(如“归类为”):取 value 对应选项,调用企业微信审批接口或写入数据库标签字段;
• Score 类型(如“紧急程度”):若 score ≥ 4(按 1–5 分),立即 @ 群管理员并发送语音提醒。
【所有决策必须加 confidence 判断,低于 0.75 的结果一律丢弃,不触发任何动作,避免误判引发运营事故】
部署与调试
1. 启动 Jev 服务:docker run -p 8000:8000 -it typesafeai/jev:latest
2. 进入 wechat-bot 项目目录,确保 .env 中已关闭其他 AI 配置(注释掉 DEEPSEEK_API_KEY、OLLAMA_HOST 等),只保留 BOT_NAME 和白名单设置。
3. 修改 src/index.js,在 bot.on('message', ...) 内部插入你写的 Jev 调用逻辑块,注意用 try/catch 包裹网络请求,超时设为 3s,失败时降级为静默忽略。
4. 执行 npm run start,手机微信扫码登录,发送测试消息“我昨天下的单,退款还没到账”,观察控制台是否打印出 Jev 返回的 decisions 对象。
5. 成功后,在微信群中发送带关键词的消息,确认机器人是否按预设规则响应。










