前言
这不是一篇"概念文"。这是一个正在跑的系统,每天早上8:30自动往企业微信群推送行业决策简报。
本文记录完整的搭建过程、技术选型、踩坑细节。如果你也想用AI做点"真的能跑"的东西,希望能帮到你。
技术栈一览
本地(Mac Mini M2)
├── Docker
├── Ollama + Qwen2.5-7B(本地推理)
└── Dify(Agent平台,5个Agent)
├── 情报官(DeepSeek API)
├── 买家猎手(DeepSeek API)
├── 开发信写手(Qwen本地)
├── 客户开拓(DeepSeek API)
└── 客服专家(Qwen本地)
香港服务器(阿里云)
├── n8n(工作流引擎)
└── 企业微信消息推送服务
链路:Dify API → n8n Webhook → 企业微信API → 群消息
Step 1:Mac Mini 基础环境
# 安装Docker
brew install --cask docker
# 安装Ollama
brew install ollama
# 拉取Qwen2.5-7B
ollama pull qwen2.5:7b
# 测试推理
ollama run qwen2.5:7b "Hello, how are you?"
Mac Mini M2跑7B模型完全够用,推理速度约15 tokens/s,日常使用感觉不到延迟。
Step 2:部署Dify
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
访问 http://localhost 即可进入Dify后台。
关键配置:在Dify的「模型供应商」里添加两个:
- Ollama(本地):endpoint填
http://host.docker.internal:11434 - DeepSeek(API):填入你的API Key
然后创建5个Agent,每个Agent配置对应的模型和System Prompt。
Step 3:香港服务器部署n8n
# SSH到服务器
ssh root@你的服务器IP
# Docker部署n8n
docker run -d \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
--restart always \
n8nio/n8n
Step 4:打通企业微信推送(Lark)
这是整个系统里最复杂的一环。核心流程:
- 在企业微信管理后台创建自建应用,拿到CorpID和AgentId
- 在n8n里创建Workflow:
- 触发器:Webhook(接收Dify的回调)
- 节点1:HTTP Request获取access_token
- 节点2:HTTP Request发送消息到企业微信
- 在Dify的Agent里,配置「工具」调用n8n的Webhook URL
access_token缓存是关键——不要每次都重新获取:
// n8n Function节点:token缓存逻辑(伪代码)
const now = Date.now();
const cached = $getWorkflowStaticData('global');
if (cached.token && cached.expire > now) {
return cached.token;
}
// 重新获取
const resp = await $http.get(
`https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${CORP_ID}&corpsecret=${SECRET}`
);
cached.token = resp.access_token;
cached.expire = now + 7000 * 1000; // 提前200秒过期
return cached.token;
Step 5:定时决策简报
在n8n里创建一个定时Workflow:
- 触发器:Cron节点,每天08:00
- 节点1:HTTP Request调用Dify情报官Agent API
- 节点2:格式化返回内容为Markdown
- 节点3:推送到企业微信群
效果:每天早上8:30,企业微信群里准时出现一份结构化的行业简报。
踩坑记录
坑1:Docker网络问题
Dify的Docker容器访问宿主机的Ollama,不能用localhost,要用 host.docker.internal。
坑2:Dify API调用格式
Dify的Chat API需要在body里带 user 字段,否则会报400。很多教程漏了这个。
curl -X POST http://localhost/v1/chat-messages \
-H "Authorization: Bearer app-xxxxx" \
-H "Content-Type: application/json" \
-d '{"inputs":{},"query":"今日行业简报","response_mode":"blocking","user":"system"}'
坑3:企业微信Markdown限制 企业微信的Markdown消息不支持完整Markdown语法,比如不支持表格。需要在n8n里做格式转换,把表格转成纯文本列表。
成本
月成本不到100元人民币。主要开销是香港服务器(50元/月)和DeepSeek API(约30-50元/月)。其他全部免费开源。
总结
这套系统的核心思路:
- 用Dify管理AI Agent(可视化、低门槛)
- 用n8n做工作流编排(灵活、可扩展)
- 用企业微信做交互入口(不需要额外开发前端)
- 本地模型+云端API混合使用(平衡成本和能力)
正在做的下一步:企业微信群内@Agent自动响应——在群里@买家猎手就能直接触发搜索。这部分涉及企业微信回调服务开发,后续会单独写一篇。
有问题欢迎评论区交流。