当前位置: 首页 > news >正文

OpenClaw定时任务管理:Phi-3-vision-128k-instruct每日早报自动生成系统

OpenClaw定时任务管理:Phi-3-vision-128k-instruct每日早报自动生成系统

1. 为什么需要自动化早报系统

每天早上打开电脑,第一件事就是刷新闻网站——这个习惯我坚持了三年,直到发现两个致命问题:一是时间黑洞,经常从科技板块跳到社会新闻,半小时就没了;二是信息过载,真正需要关注的行业动态反而被淹没在标题党里。

上个月部署Phi-3-vision-128k-instruct模型时,突然想到:既然这个多模态模型能理解图文内容,配合OpenClaw的自动化能力,能不能做个"只给我看需要知道的信息"的早报系统?经过两周折腾,终于实现了完全本地运行的自动化流程:每天7点自动抓取指定网站→截图→生成摘要→推送到飞书。整个过程不需要任何人工干预,甚至出差时用手机也能收到结构化简报。

2. 系统架构与核心组件

2.1 技术选型思路

这个系统的核心在于精准抓取智能摘要的平衡。最初尝试过RSS订阅+文本模型方案,但发现三大缺陷:

  1. 主流新闻站点的RSS内容严重缩水
  2. 纯文本丢失了排版权重信息(比如头版头条的视觉优先级)
  3. 需要维护复杂的XPath规则

最终方案采用视觉驱动路线:

  • OpenClaw:负责浏览器操控、截图保存、邮件/飞书推送
  • Phi-3-vision-128k-instruct:解析截图并生成摘要
  • Cron:协调整个流程的时间调度

2.2 关键配置清单

~/.openclaw/openclaw.json中需要重点配置的模块:

{ "models": { "providers": { "phi3-vision": { "baseUrl": "http://localhost:8000/v1", "api": "openai-completions", "models": [{ "id": "phi-3-vision-128k-instruct", "capabilities": ["vision"] }] } } }, "skills": { "morning-briefing": { "sites": ["https://news.example.com", "https://tech.example.com"], "viewport": {"width": 1920, "height": 1080}, "clip": {"x": 0, "y": 0, "width": 800, "height": 1800} } } }

特别注意clip参数:经过实测,截取页面左侧800像素宽度能避开大部分广告栏,同时保留主要内容区。

3. 实现步骤详解

3.1 环境准备阶段

首先确保基础服务就位:

  1. Phi-3-vision-128k-instruct模型通过vllm运行在本地8000端口
  2. 安装OpenClaw的浏览器控制插件:
    clawhub install browser-controller openclaw plugins install @official/screenshot
  3. 飞书通道配置完成(如未配置可先用SMTP邮件方案)

3.2 核心自动化脚本

在OpenClaw的skills目录创建morning_briefing.js

const { chromium } = require('openclaw-browser'); const fs = require('fs'); const path = require('path'); module.exports = async (task, { models, notify }) => { const screenshotDir = path.join(process.env.HOME, '.openclaw/screenshots'); if (!fs.existsSync(screenshotDir)) fs.mkdirSync(screenshotDir); const browser = await chromium.launch(); const dateStr = new Date().toISOString().split('T')[0]; // 并行抓取多个网站 const results = await Promise.all(task.config.sites.map(async (url) => { const page = await browser.newPage(); await page.setViewportSize(task.config.viewport); await page.goto(url, { waitUntil: 'networkidle' }); const domain = new URL(url).hostname.replace('www.', ''); const screenshotPath = path.join(screenshotDir, `${dateStr}_${domain}.png`); await page.screenshot({ path: screenshotPath, clip: task.config.clip }); // 调用视觉模型生成摘要 const visionResp = await models.phi3Vision.chat.completions.create({ model: "phi-3-vision-128k-instruct", messages: [{ role: "user", content: [ { type: "text", text: "请用中文总结这张新闻首页截图的主要内容,按重要性列出3-5条,不要包含广告或无关信息" }, { type: "image_url", image_url: { url: `file://${screenshotPath}` } } ] }], max_tokens: 1024 }); return { source: domain, summary: visionResp.choices[0].message.content, screenshot: screenshotPath }; })); await browser.close(); // 汇总生成最终简报 const finalReport = `# ${dateStr} 每日早报\n\n` + results.map(r => `## ${r.source}\n${r.summary}`).join('\n\n'); await notify.feishu.sendMarkdown(`每日早报 ${dateStr}`, finalReport); return { status: 'success', reportPath: `/screenshots/${dateStr}_report.md` }; };

3.3 Cron定时任务配置

在系统crontab中添加(注意使用绝对路径):

0 7 * * * /usr/local/bin/openclaw task run morning-briefing --config ~/.openclaw/skills/morning-briefing.json

避坑指南

  1. 浏览器实例必须用chromium.launch()而非puppeteer.launch(),否则会与OpenClaw的浏览器管理冲突
  2. 模型响应超时建议在代码中显式设置timeout参数,默认的120秒可能不够
  3. 飞书消息长度限制为2048字符,超长内容需要自动分片

4. 效果优化实践

4.1 摘要质量提升技巧

经过两周迭代,发现这些prompt优化最有效:

  • 视觉焦点引导:在prompt中明确"忽略右下角浮窗广告"
  • 领域词典注入:添加"请优先关注AI、云计算、芯片等科技领域动态"
  • 格式约束:要求"每条摘要前加•符号,不超过140字"

最新版prompt示例:

作为专业信息顾问,请分析该新闻首页截图,要求: 1. 完全忽略广告、推荐位、热点排行等非编辑内容 2. 重点提取科技、金融、政策领域信息 3. 输出格式: • [权重] 标题 (关键实体) 简要说明,不超过3句话 4. 使用中文输出,保持专业但易懂的文风

4.2 资源占用监控

在MacBook Pro M1上运行的资源消耗:

  • 浏览器实例:每个标签页约180MB内存
  • 模型推理:处理单张截图平均耗时22秒
  • 峰值负载:同时处理5个网站时CPU利用率达75%

建议方案:

# 在cron任务前添加资源限制 0 7 * * * ulimit -Sv 2000000 && /usr/local/bin/openclaw task run...

5. 扩展应用场景

这套框架稍作修改就能支持其他定时任务:

5.1 竞品监控日报

修改抓取目标为竞品官网,添加diff分析:

// 对比昨日与今日截图 const diff = await pixelmatch(img1, img2, null, 800, 1800, { threshold: 0.1 }); if (diff > 1000) await notify.slack.send('检测到页面重大变更!');

5.2 技术论坛精华摘要

针对HN/Reddit等论坛的定制化抓取:

  1. 滚动页面加载更多内容
  2. 用CSS选择器高亮高赞评论
  3. 生成"今日最值得读的3个帖子"简报

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

http://www.jsqmd.com/news/600145/

相关文章:

  • 2026/4/5 学习日志
  • 泰凌微TLSR8208蓝牙芯片透传数据‘吞字节’?一个SDK版本差异引发的血泪排查史
  • 冷却水小流量大温差对冷水机的影响
  • 综合修理厂适用汽车维修管理系统推荐指南 - 优质品牌商家
  • 【MySQL知识点问答题】组复制、管理工具与高可用恢复实践
  • 如何高效提取Android OTA包:payload-dumper-go完整使用指南
  • 收藏!Java后端转AI大模型开发:8年经验踩坑总结,2026最实用转型指南
  • OpenClaw智能旅行规划:Qwen3.5-9B整合航班酒店生成最优行程
  • Windows文件管理器终极美化指南:5分钟实现专业级透明效果
  • mysql数据库连接超时如何排查_检查网络延迟与连接池配置
  • LoRA与QLoRA显存优化指南:如何在小显存设备上高效训练大模型
  • 量子蒙特卡罗在材料科学中的7个神奇应用:从超导体设计到电池优化
  • 收藏 | 小白程序员必看:揭秘ChatGLM、Qwen等大模型的“进化史”与微调秘籍
  • 千问3.5-27B微调实践:提升OpenClaw任务执行准确率
  • [复现]神经网络(NN)+模型预测控制(MPC)算法、四旋翼无人机+非线性机器人汽车系统研究(Matlab代码实现)
  • 从‘炼丹’到‘配药’:手把手教你用Hugging Face玩转最新指令数据集(以Leopard-Instruct为例)
  • FastAPI 部署 NLP 模型实战:从 BERT 文本分类到生产级接口实现
  • 内容审核自动化:OpenClaw调用Qwen2.5-VL-7B过滤违规图片
  • OpenClaw开源贡献:为Qwen3.5-9B-AWQ-4bit开发社区技能
  • OpenClaw批量处理技巧:千问3.5-35B-A3B-FP8驱动百张图片分析
  • 2026 毕业季终极破局指南:PaperXie 四大降重板块实测,把 AIGC 率从 99.8% 压到 14.9% 的底层逻辑
  • 土木本科生的 STM32 探索之旅:从零点亮 SSD1306OLED 屏幕,驱动显示实战
  • ABAQUS盾构管片精细化建模教程:CAE源文件详解及录屏演示,涵盖单环多环建模,环宽与管片厚...
  • 开发环境神器:OpenClaw+Qwen3-14B镜像自动化调试与日志分析
  • 2026年04月单槽超声波清洗机优质厂家推荐指南 - 优质品牌商家
  • 代码随想录算法训练营第四天 | Leetcode 24.两两交换链表中的节点 | 19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交 | 142.环形链表 II
  • Ostrakon-VL-8B在医疗领域的探索:辅助解读医学影像报告
  • mysql如何通过配置文件限制权限_MySQL skip-grant-tables风险分析
  • 注重自己的感受 您的感受才是衡量一切的标准
  • OpenClaw多模型切换:千问3.5-9B与Llama3任务对比