ClawBot可通过三种方式实现非工作时间自动转接人工客服:一、基于系统时间的环境变量动态路由;二、通过企业微信Webhook事件拦截器精准切换;三、使用内置定时任务插件注入接管指令。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望ClawBot在非工作时间自动转接人工客服,而非持续由AI响应,则需配置其会话路由策略与时间感知开关。ClawBot本身不内置“工作时间表”UI控件,但可通过修改服务配置、集成系统时钟判断及设置人工接管触发条件来实现该能力。以下是三种可独立生效的配置路径:
一、基于系统时间的环境变量动态路由
该方法通过读取服务器本地时间,在ClawBot启动时加载对应模式配置,适用于固定时区且无需实时变更的场景。ClawBot服务启动前会检查环境变量WORK_HOURS_MODE,该变量值决定消息是否绕过AI直接投递至指定人工通道。
1、编辑ClawBot服务启动脚本(如start.sh),在exec clawbot-server前插入以下逻辑:
2、添加时区校准命令:export TZ=Asia/Shanghai
3、插入时间判断段落:if [[ $(date +%H) -ge 9 && $(date +%H) -lt 18 ]]; then export WORK_HOURS_MODE=on; else export WORK_HOURS_MODE=off; fi
4、保存后重启服务:systemctl restart clawbot
5、确认生效:执行systemctl show --property=Environment clawbot应显示WORK_HOURS_MODE=off(当前19:09为非工作时间)
二、通过企业微信Webhook事件拦截器实现精准切换
该方法利用企业微信消息回调机制,在消息抵达ClawBot前由中间层判断时间并重定向。需启用ClawBot的webhook-proxy模块,并部署轻量级路由网关(如Nginx+Lua或Python Flask微服务)。
1、在企业微信管理后台将接收URL设为自建路由地址,例如https://your-domain.com/clawbot-router
2、路由服务收到消息后,解析msgtype与CreateTime字段,调用date -d @$(echo $CreateTime) +%H提取小时数
3、若小时数不在9–17范围内,将原始消息体转发至人工客服系统(如企业微信「客户联系」API的send_msg接口),并返回{"errcode":0}终止ClawBot处理流程
4、若在工作时间内,则将消息原样POST至ClawBot默认监听地址http://127.0.0.1:8080/wecom
5、关键验证点:企业微信后台「接收消息」日志中,非工作时间消息的Response字段应显示人工系统返回的msgid,而非ClawBot生成的ID
三、使用ClawBot内置定时任务插件注入人工接管指令
该方法依赖ClawBot v2.4.0+版本的cron-plugin,支持在指定时间点向内部消息队列发布“模式切换”事件,无需改动外部通信链路,所有操作在ClawBot进程内闭环完成。
1、确认插件已启用:检查config.yaml中plugins.cron.enabled为true
2、在plugins/cron/jobs/目录下新建文件switch-to-human.yaml
3、填入以下内容:schedule: "0 0 9 * * 1-5"(表示每周一至五上午9点整触发)
4、再新建switch-to-ai.yaml,填入:schedule: "0 0 18 * * 1-5"(表示每周一至五下午6点整触发)
5、每个YAML文件中均需包含action: set_mode与mode: human或mode: ai
6、生效验证:执行clawbot-cli status --plugin cron应列出两条已加载任务,且状态为active

















