钉钉集成方案:OpenClaw+千问3.5-9B打造部门小助手
本文介绍了如何通过星图GPU平台自动化部署千问3.5-9B镜像,结合OpenClaw框架打造钉钉智能部门助手。该方案能自动处理审批提醒、智能问答等重复性工作,显著提升办公效率,尤其适用于企业内部流程自动化场景。
钉钉集成方案:OpenClaw+千问3.5-9B打造部门小助手
1. 为什么选择OpenClaw+千问3.5-9B组合
去年我们小组遇到一个典型问题:每天要处理大量重复的钉钉消息——审批提醒需要手动转发、新人总在问相同问题、数据查询需要反复登录系统截图。作为技术负责人,我尝试过用传统RPA工具,但遇到三个致命问题:
- 流程变更时需要重新录制脚本
- 无法处理非结构化问题(如"上周客户投诉数据怎么样")
- 审批逻辑调整时整套规则需要重写
直到发现OpenClaw这个开源框架,配合千问3.5-9B模型的语义理解能力,才真正实现了"能对话、会思考"的自动化助手。这套方案最吸引我的特点是:
- 本地化部署:所有数据都在内网流转,敏感审批信息不会外泄
- 自然语言交互:组员用说话的方式就能获得服务,不需要记忆复杂指令
- 动态适应能力:当审批流程变更时,只需用自然语言描述新规则即可
2. 环境准备与基础配置
2.1 硬件资源规划
我们用的是淘汰的测试服务器(16核/32GB内存),实际运行中发现千问3.5-9B模型在以下配置下表现稳定:
# 监控显示的典型资源占用
CPU: 4核心常驻(峰值8核)
内存: 18-22GB(含OpenClaw进程)
磁盘: 50GB SSD(主要存放日志和临时文件)
特别提醒:如果使用云主机,建议选择计算优化型实例。我们曾尝试用通用型实例,在并发处理多个请求时出现明显延迟。
2.2 钉钉应用创建
在钉钉开放平台创建应用时,这几个配置项最容易出错:
- IP白名单:先通过
curl ifconfig.me获取服务器公网IP - 权限范围:务必勾选"消息通知"和"审批流程"相关权限
- 回调域名:填写OpenClaw网关所在地址(如https://your-server:18789)
配置完成后,建议先用钉钉官方测试工具验证基础连通性:
# 测试命令示例
curl -X POST "https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"msgtype": "text","text": {"content": "测试消息"}}'
3. OpenClaw与钉钉的深度集成
3.1 消息通道配置
关键配置文件~/.openclaw/openclaw.json的钉钉部分需要特别注意这些参数:
{
"channels": {
"dingtalk": {
"enabled": true,
"appKey": "dingxxxxxx",
"appSecret": "xxxxxxxx",
"encryptKey": "xxxxxxxx",
"token": "xxxxxxxx",
"callbackUrl": "https://your-server:18789/dingtalk",
"permissions": {
"approval": true,
"message": true,
"contact": false
}
}
}
}
踩坑记录:最初我们漏配了encryptKey,导致所有回调请求都被钉钉服务器拒绝。建议配置完成后立即运行:
openclaw gateway restart
tail -f /var/log/openclaw/dingtalk.log # 实时查看连接日志
3.2 审批流自动提醒实现
我们销售部门的请假审批场景最典型,原先需要人工:
- 查看审批详情
- 记录到Excel
- 群内@相关人员
现在通过OpenClaw的dingtalk-approval技能实现全自动化。安装方法:
clawhub install dingtalk-approval
然后在工作区创建approval_rules.json定义规则:
{
"leave": {
"approvers": ["张三","李四"],
"notify": {
"on_create": "【请假申请】${staffName}提交了${leaveType}申请",
"on_approve": "【审批通过】${approverName}已批准${staffName}的申请"
},
"post_action": {
"type": "excel",
"path": "/data/leave_records.xlsx"
}
}
}
实际运行中发现个有趣现象:当审批人为多人时,千问3.5-9B能自动识别"最相关审批人"。比如标注"财务相关找李四"后,涉及报销的审批会自动路由。
4. 智能问答功能开发
4.1 知识库构建
我们把常见问题整理成Markdown文件存放在/data/faqs目录,结构如下:
- 考勤.md
- 报销.md
- 系统权限.md
然后创建qa_skill的配置文件:
{
"search_depth": 3,
"response_template": "根据《${source}》第${section}条:\n\n${answer}\n\n需要更详细解答可以@人事专员",
"fallback_response": "这个问题我会记下来,稍后由专人回复您"
}
实际测试时,千问3.5-9B展现了出色的语义理解能力。例如当员工问"病假怎么请",即使知识库里只有"请假流程"文档,也能准确关联相关内容。
4.2 数据查询接口
对于需要实时数据的查询(如"本月销售达标率"),我们开发了简单的HTTP适配器:
# /opt/openclaw/adapters/sales.py
async def query_sales_data(params):
date_range = parse_natural_time(params['time']) # 调用千问的时序解析能力
db_query = build_query(date_range)
result = await database.query(db_query)
return format_for_dingtalk(result)
在OpenClaw中注册为技能:
clawhub register-adapter --name sales-query --path /opt/openclaw/adapters/sales.py
现在组员只需要在钉钉输入"帮我查下上周北方区销售额",就能自动获得格式化表格回复。
5. 实际运行效果与调优
上线三个月后,这套系统每天处理约50条消息,最显著的变化是:
- 审批提醒响应时间从平均15分钟缩短到即时推送
- 常见问题回复准确率达到92%(抽样检查100条记录)
- 数据查询类需求完全实现自助服务
遇到的主要挑战是长尾问题处理。我们的解决方案是:
- 设置
/learn指令,允许用户补充正确答案 - 每周导出未解决问题人工处理
- 对千问3.5-9B进行LoRA微调(使用积累的QA对)
性能方面,在10人小组场景下,平均响应时间保持在1.8秒以内。唯一需要人工干预的情况是遇到模糊查询时,系统会智能回复:"您是想问A还是B?"
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)