Clawdbot汉化版代码实例:Python脚本自动读取企业微信审批单,交由AI生成执行计划
本文介绍了如何在星图GPU平台上自动化部署Clawdbot 汉化版 增加企业微信入口镜像,实现企业微信审批单的AI自动解析与执行计划生成。通过本地化大模型理解审批语义,可快速输出含责任人、时间节点和交付物的结构化任务清单,显著提升采购、HR等流程的自动化水平。
Clawdbot汉化版代码实例:Python脚本自动读取企业微信审批单,交由AI生成执行计划
1. 什么是Clawdbot?——不只是聊天机器人,而是你的智能工作流引擎
Clawdbot 汉化版不是另一个“在网页里打字问AI”的工具。它是一套可嵌入真实业务场景的本地化智能代理系统,核心价值在于:把AI能力无缝接入你每天使用的通讯工具和办公系统中。
它确实支持微信(通过企业微信API)、WhatsApp、Telegram、Discord等渠道,但真正让它脱颖而出的是——它能主动对接企业级数据源,并将结构化任务交由AI深度处理。
比如本文要讲的这个真实用例:
企业微信里每天有几十份采购审批、差旅申请、合同用印流程单。人工逐条阅读、拆解、分派、跟进,耗时且易错。而Clawdbot汉化版可以:
自动拉取最新审批单(含申请人、事由、金额、附件)
调用本地大模型理解语义、识别关键动作(如“需采购3台服务器”“需法务审核合同第5条”)
生成带时间节点、责任人、交付物的执行计划(非泛泛而谈,而是可直接发给同事的待办清单)
通过企业微信消息自动推送结果,并支持点击确认/驳回
这已经超出了“对话助手”的范畴,进入了AI驱动的轻量级RPA+知识助理阶段。
它的四大基石,也决定了它为何适合落地到企业内部:
- 真正在微信里用:不是跳转网页,而是以“企业微信应用”身份出现在员工通讯录中,审批单更新后自动@相关人并附上AI生成的执行摘要
- 完全可控的免费:不依赖SaaS订阅,所有模型运行在你自己的服务器或笔记本上,用Ollama部署qwen2、phi3等轻量模型即可启动
- 数据零出域:审批单内容、AI思考过程、生成的执行计划,全部保留在内网环境。连日志文件都默认加密存储在
/root/.clawdbot/下 - 7×24小时值守:只要服务器开机,Clawdbot网关就持续监听企业微信回调事件,无需人工唤醒
网关令牌 dev-test-token 是你本地服务的“门禁卡”,它只在你的内网生效,不会上传至任何云端。
2. 为什么是企业微信?——打通审批流的第一步
很多团队问:“为什么不是钉钉或飞书?”答案很实际:企业微信的审批API最开放、文档最清晰、回调机制最稳定,尤其对中小型企业IT团队极其友好。
Clawdbot汉化版已内置企业微信审批模块,无需从零开发OAuth授权和消息加解密。你只需三步完成对接:
2.1 在企业微信管理后台配置可信域名与回调URL
- 登录【企业微信管理后台】→【应用管理】→【自建应用】→ 创建新应用(名称建议为“Clawdbot智能助手”)
- 记录下该应用的
AgentId、Secret和CorpID—— 这些将写入Clawdbot配置 - 进入【应用管理】→【接收消息】→ 设置回调URL为:
https://你的公网IP:18789/api/v1/wecom/callback
(若无公网IP,可用内网穿透工具如frp映射,Clawdbot自带frp.ini模板) - 加密模式选【明文模式】(开发阶段更易调试),Token和EncodingAESKey按提示生成并保存
2.2 将企业微信凭证写入Clawdbot配置
打开终端,执行以下命令(替换为你的真实凭证):
cd /root/clawdbot
node dist/index.js config set integrations.wecom.corp_id "ww1234567890abcdef"
node dist/index.js config set integrations.wecom.agent_id "1000002"
node dist/index.js config set integrations.wecom.secret "your_app_secret_here"
node dist/index.js config set integrations.wecom.token "clawd_wecom_token"
node dist/index.js config set integrations.wecom.encoding_aes_key "your_encoding_aes_key"
小技巧:Clawdbot会自动校验凭证有效性。如果配置错误,下次启动网关时会在
/tmp/clawdbot-gateway.log中明确报错“Wecom auth failed”,而非静默失败。
2.3 启用审批单监听并测试
Clawdbot默认监听所有审批类型。如需限定范围(例如只处理“采购申请”和“合同审批”),编辑配置:
node dist/index.js config set integrations.wecom.watch_approval_types '["PROCUREMENT","CONTRACT"]'
然后重启网关:
bash /root/restart-gateway.sh
此时,在企业微信中提交一份测试审批单。几秒后,你会在终端看到类似日志:
[INFO] Wecom: Received approval event for proc_id=20240515001, type=PROCUREMENT, status=PENDING
[INFO] Wecom: Fetched full approval data: { "申请人": "张三", "事由": "采购3台Dell R760服务器", "金额": "¥86,500", "附件": ["quote_dell_20240515.pdf"] }
这表示数据管道已通——Clawdbot已成功“看见”审批单。
3. Python脚本实战:从原始审批数据到可执行计划
Clawdbot本身不直接生成执行计划,但它提供了一个极简的插件式任务调度接口。我们用一个独立的Python脚本完成核心逻辑,再由Clawdbot触发调用。这种方式保证了业务逻辑的可维护性与可测试性。
3.1 脚本设计思路:三步走,每步都可验证
| 步骤 | 功能 | 验证方式 |
|---|---|---|
| ① 数据提取 | 解析企业微信推送的JSON,提取申请人、事由、金额、附件URL | 手动传入测试JSON,打印解析结果 |
| ② AI理解与拆解 | 将结构化信息喂给本地大模型,要求其输出标准JSON格式的执行计划 | 本地运行脚本,观察模型输出是否符合schema |
| ③ 结果推送 | 将AI生成的JSON,通过企业微信API推送给申请人及审批人 | 查看企业微信消息是否送达 |
整个脚本控制在120行以内,无外部依赖(除requests、json),便于部署到任意Linux服务器。
3.2 完整可运行代码(保存为 /root/clawd/scripts/wecom_plan_generator.py)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Clawdbot企业微信审批单AI执行计划生成器
输入:企业微信审批事件JSON(含申请人、事由、金额、附件)
输出:结构化执行计划(含步骤、负责人、DDL、交付物)
"""
import os
import json
import requests
import sys
from datetime import datetime, timedelta
# ===== 配置区(根据你的环境修改)=====
WECOM_CORP_ID = "ww1234567890abcdef"
WECOM_AGENT_ID = "1000002"
WECOM_SECRET = "your_app_secret_here"
CLAWDBOT_GATEWAY_URL = "http://127.0.0.1:18789" # Clawdbot本地地址
# =====================================
def get_wecom_access_token():
"""获取企业微信access_token(有效期2小时,此处简化,生产环境应缓存)"""
url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={WECOM_CORP_ID}&corpsecret={WECOM_SECRET}"
resp = requests.get(url, timeout=10)
return resp.json().get("access_token")
def send_wecom_message(user_id, content):
"""向指定用户发送文本消息"""
token = get_wecom_access_token()
url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}"
payload = {
"touser": user_id,
"msgtype": "text",
"agentid": WECOM_AGENT_ID,
"text": {"content": content},
"safe": 0
}
requests.post(url, json=payload, timeout=10)
def parse_approval_data(raw_json):
"""从企业微信回调JSON中提取关键字段"""
try:
data = json.loads(raw_json) if isinstance(raw_json, str) else raw_json
# 简化:实际需根据企业微信审批模板ID动态解析,此处以通用字段为例
return {
"applicant": data.get("applyer_name", "未知申请人"),
"reason": data.get("summary", "无事由描述"),
"amount": data.get("amount", "未填写金额"),
"proc_id": data.get("proc_id", "未知单号"),
"attachments": [a.get("media_id") for a in data.get("attachments", [])]
}
except Exception as e:
return {"error": f"解析失败: {str(e)}"}
def generate_plan_with_ai(approval_data):
"""调用Clawdbot本地AI生成执行计划"""
# 构造清晰的提示词(Prompt)
prompt = f"""
你是一个资深的企业流程优化专家。请根据以下企业微信审批单信息,生成一份详细、可执行的落地计划。
要求:
1. 输出必须是严格JSON格式,包含以下5个键:steps(数组)、responsible(字符串)、deadline(字符串,格式YYYY-MM-DD)、deliverables(数组)、notes(字符串)
2. steps数组中每个元素是对象,含step_no(数字)、description(操作描述)、duration_days(预估耗时天数)
3. responsible填写具体岗位或姓名,如"IT采购专员"、"法务部李四"
4. deadline是最终完成日期,基于当前日期推算(今天是{datetime.now().strftime('%Y-%m-%d')})
5. deliverables列出3项必须交付的成果,如"采购合同终稿"、"服务器上架报告"
审批单信息:
- 申请人:{approval_data['applicant']}
- 事由:{approval_data['reason']}
- 金额:{approval_data['amount']}
- 单号:{approval_data['proc_id']}
"""
# 调用Clawdbot本地AI API(使用minimal思考级别,确保快速响应)
api_url = f"{CLAWDBOT_GATEWAY_URL}/api/v1/agent/main"
payload = {
"message": prompt,
"thinking": "minimal",
"json": True
}
try:
resp = requests.post(api_url, json=payload, timeout=60)
result = resp.json()
# 验证返回是否为有效JSON(Clawdbot会尽力保证,但需二次校验)
plan = json.loads(result.get("response", "{}"))
return plan
except Exception as e:
return {"error": f"AI生成失败: {str(e)}"}
def format_plan_for_wecom(plan_data):
"""将AI返回的JSON计划,格式化为易读的企业微信消息"""
if "error" in plan_data:
return f" 执行计划生成失败:{plan_data['error']}"
# 构建消息正文
msg_lines = [
f" 审批单 #{plan_data.get('proc_id', 'N/A')} 执行计划",
f"👤 责任人:{plan_data.get('responsible', '待指派')}",
f"⏰ 最终截止:{plan_data.get('deadline', '待确认')}",
"",
" 关键步骤:"
]
for step in plan_data.get("steps", []):
desc = step.get("description", "未知操作")
days = step.get("duration_days", 0)
msg_lines.append(f" {step.get('step_no', '?')}. {desc}(约{days}天)")
deliverables = plan_data.get("deliverables", [])
if deliverables:
msg_lines.extend(["", "📦 必须交付:"])
for i, d in enumerate(deliverables, 1):
msg_lines.append(f" {i}. {d}")
if plan_data.get("notes"):
msg_lines.extend(["", " 补充说明:", f"{plan_data['notes']}"])
return "\n".join(msg_lines)
if __name__ == "__main__":
# 从命令行参数或stdin读取企业微信原始JSON
if len(sys.argv) > 1:
raw_input = sys.argv[1]
else:
raw_input = sys.stdin.read().strip()
if not raw_input:
print("错误:未提供审批单JSON数据")
sys.exit(1)
# 1. 解析数据
parsed = parse_approval_data(raw_input)
if "error" in parsed:
print(parsed["error"])
sys.exit(1)
# 2. 调用AI生成计划
plan = generate_plan_with_ai(parsed)
if "error" in plan:
print(plan["error"])
sys.exit(1)
# 3. 格式化并发送
wecom_msg = format_plan_for_wecom(plan)
# 发送给申请人(实际中可扩展为多人群发)
send_wecom_message(parsed["applicant"], wecom_msg)
print(" 执行计划已生成并推送至企业微信")
3.3 如何让Clawdbot自动触发这个脚本?
Clawdbot汉化版支持“事件钩子(Event Hooks)”。当它收到企业微信审批事件时,可自动执行一段Shell命令。
编辑Clawdbot配置,添加钩子:
node dist/index.js config set hooks.wecom.approval_received 'python3 /root/clawd/scripts/wecom_plan_generator.py "$EVENT_PAYLOAD"'
其中 $EVENT_PAYLOAD 是Clawdbot自动注入的原始JSON字符串。
效果验证:再次提交审批单,几秒后申请人手机企业微信将收到一条结构清晰的执行计划消息,包含步骤、责任人、DDL和交付物。全程无人工干预。
4. 效果实测:一份真实的采购审批单如何被AI“读懂”
我们用一份真实的测试数据来验证脚本效果。假设企业微信审批单JSON如下(已脱敏):
{
"applyer_name": "王五",
"summary": "采购2台MacBook Pro M3 Max用于UI设计师,预算¥38,000",
"amount": "¥38,000",
"proc_id": "PROC-20240515-001",
"attachments": [{"media_id": "abc123"}]
}
将此JSON粘贴到脚本中运行(或作为参数传入),AI(qwen2:1.5b模型)返回的JSON计划示例:
{
"steps": [
{"step_no": 1, "description": "比价3家授权经销商,确认M3 Max配置与报价", "duration_days": 2},
{"step_no": 2, "description": "走内部采购审批流程(需CTO签字)", "duration_days": 1},
{"step_no": 3, "description": "下单并跟踪物流,收货后安装系统与软件", "duration_days": 3}
],
"responsible": "行政采购专员",
"deadline": "2024-05-22",
"deliverables": ["比价表PDF", "采购审批单签字页", "2台MacBook Pro验收报告"],
"notes": "优先选择Apple教育优惠渠道,确保享受3年保修"
}
Clawdbot将其渲染为企业微信消息后,呈现效果如下(文字版):
审批单 #PROC-20240515-001 执行计划
👤 责任人:行政采购专员
⏰ 最终截止:2024-05-22
关键步骤:
1. 比价3家授权经销商,确认M3 Max配置与报价(约2天)
2. 走内部采购审批流程(需CTO签字)(约1天)
3. 下单并跟踪物流,收货后安装系统与软件(约3天)
📦 必须交付:
1. 比价表PDF
2. 采购审批单签字页
3. 2台MacBook Pro验收报告
补充说明:
优先选择Apple教育优惠渠道,确保享受3年保修
对比人工处理:传统方式需采购员花15分钟阅读、查价、填表、邮件沟通;而Clawdbot+AI方案在8秒内完成同等质量的计划输出,并自动推送,释放人力去处理更复杂的谈判与协调。
5. 进阶优化:让执行计划更“懂业务”
上述脚本是开箱即用的起点。在真实环境中,你可以轻松叠加以下增强能力,全部基于Clawdbot现有架构,无需重写:
5.1 接入内部知识库,让AI回答更精准
Clawdbot支持RAG(检索增强生成)。将公司《采购管理制度》《IT设备配置标准》等PDF文档放入/root/clawd/knowledge/目录,执行:
node dist/index.js rag index --path /root/clawd/knowledge/
随后在提示词中加入一句:“请严格依据《采购管理制度》第3.2条执行”,AI便会优先参考该文档作答,避免凭空编造。
5.2 自动关联审批人,实现“谁审批、谁执行”
企业微信审批流中,审批节点信息(如“部门负责人”、“财务总监”)是结构化的。修改parse_approval_data()函数,提取approver_list,并在生成计划时,将responsible字段动态绑定为下一个审批人的姓名或部门。
5.3 生成可视化甘特图(可选)
若需更直观的计划视图,可在脚本末尾增加:
# 使用mermaid语法生成甘特图(企业微信支持markdown渲染)
gantt_str = "```mermaid\ngantt\n title 采购执行甘特图\n dateFormat YYYY-MM-DD\n section MacBook采购\n 比价 :a1, 2024-05-15, 2d\n 审批 :a2, after a1, 1d\n 下单收货 :a3, after a2, 3d\n```"
send_wecom_message(parsed["applicant"], gantt_str)
企业微信将自动渲染为交互式甘特图。
6. 总结:Clawdbot汉化版不是玩具,而是你的AI工作流底座
回顾整个实践,Clawdbot汉化版的价值远不止于“在微信里聊AI”。它提供了一套低门槛、高可控、强集成的本地化AI工作流框架:
- 对开发者:它用标准化的
config set、hooks、agent命令,替代了繁琐的Webhook服务开发、模型API封装、消息加解密等重复劳动。你专注业务逻辑(如本例的审批计划生成),它负责连接、调度、安全。 - 对IT管理员:所有凭证、日志、模型、数据均在本地,审计合规性一目了然。
dev-test-token只是网关入口,真正的权限控制在企业微信后台。 - 对一线员工:他们不需要知道Ollama、qwen2、RAG是什么。他们只看到:提交审批单 → 收到一条带步骤、DDL、交付物的清晰消息 → 点击“已确认”即可开始执行。
这正是Clawdbot汉化版的设计哲学:AI能力应该像水电一样,无形地融入工作流,而不是让用户学习如何使用AI。
当你把第一个审批单的执行计划成功推送到企业微信时,你就已经跨过了AI落地最难的一步——从“能跑起来”到“真有用”。接下来,采购、HR、法务、IT等部门的各类流程,都可以用同样模式快速复制。
记住三个关键动作:
🔹 先跑通:用本文脚本和测试数据,10分钟内看到第一条AI生成的计划消息
🔹 再定制:根据你公司的审批模板,微调parse_approval_data()中的字段提取逻辑
🔹 最后扩展:将generate_plan_with_ai()中的提示词,替换成你部门特有的SOP术语和交付标准
AI不是取代人,而是让人从重复劳动中解放,去做只有人类才能做的判断、创新与关怀。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)