OpenClaw+Phi-3-mini-128k-instruct智能书签:自动归档阅读进度

张开发
2026/4/4 3:22:02 15 分钟阅读
OpenClaw+Phi-3-mini-128k-instruct智能书签:自动归档阅读进度
OpenClawPhi-3-mini-128k-instruct智能书签自动归档阅读进度1. 为什么需要智能书签作为一个每天要阅读大量技术文档和论文的人我经常遇到这样的困扰在电脑上看到一半的文章换到手机或平板后就找不到阅读进度或者隔几天再打开同一篇长文时完全忘记上次看到哪里。传统的浏览器书签只能保存链接无法记录具体的阅读位置和上下文。更麻烦的是当我需要回顾某篇文章的核心观点时往往要重新通读全文。这种低效的阅读方式消耗了大量时间。直到我发现OpenClawPhi-3-mini-128k-instruct的组合才真正实现了阅读状态全自动归档的工作流。2. 技术方案设计思路2.1 核心组件分工这个自动化系统的三个关键部分各司其职OpenClaw作为执行引擎负责操控浏览器获取页面内容、识别滚动位置、触发后续处理流程。它的鼠标键盘操控能力可以模拟人类操作而本地运行的特点保证了隐私安全。Phi-3-mini-128k-instruct作为认知引擎负责理解页面内容结构、生成章节摘要、提取核心观点。选择128k上下文版本是因为技术文档往往很长需要大上下文窗口才能保持连贯理解。自建同步服务我用简单的Flask API搭建了一个同步服务器存储阅读进度和摘要实现多设备间的状态同步。这部分也可以用现成的Notion API等替代。2.2 工作流拆解整个自动化流程被设计为四个阶段状态捕获OpenClaw定期检测活跃浏览器标签获取URL、页面标题、滚动位置等元数据内容提取对阅读时间超过30秒的页面自动提取可见区域的文本内容智能处理将文本发送给Phi-3-mini进行章节识别和摘要生成归档同步把结构化数据保存到数据库并推送到其他设备3. 具体实现过程3.1 环境准备首先在MacBook上部署了OpenClaw和Phi-3-mini-128k-instruct# 安装OpenClaw curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemon # 部署Phi-3-mini (使用vllm) docker run --gpus all -p 8000:8000 \ -v /path/to/models:/models \ vllm/vllm:latest \ --model microsoft/Phi-3-mini-128k-instruct \ --tensor-parallel-size 13.2 OpenClaw技能开发为了实现浏览器监控我开发了一个自定义Skill// browser-monitor.js module.exports { name: browser-monitor, actions: { async captureReadingState() { const activeTab await this.browser.getActiveTab(); const scrollPos await this.browser.getScrollPosition(); const viewportText await this.browser.extractVisibleText(); return { url: activeTab.url, title: activeTab.title, scrollPosition: scrollPos, textSnippet: viewportText, timestamp: new Date().toISOString() }; } } };这个技能会每5分钟自动执行一次但只有检测到用户在某页面停留超过阈值时才会触发后续处理。3.3 Phi-3-mini摘要生成配置OpenClaw使用本地部署的Phi-3-mini// ~/.openclaw/openclaw.json { models: { providers: { local-phi3: { baseUrl: http://localhost:8000/v1, api: openai-completions, models: [ { id: phi-3-mini-128k, name: Local Phi-3 Mini, contextWindow: 131072 } ] } } } }摘要生成的prompt经过多次优化最终版本如下你是一个专业的技术文档分析助手。请根据提供的文本片段 1. 识别所属章节标题如存在 2. 用50字以内总结该片段核心内容 3. 提取3-5个关键词 4. 判断内容类型概念定义/代码示例/图表说明/理论推导/实践指南 文本片段{{content}}3.4 同步服务集成为了避免重复处理我设计了一个简单的去重机制 - 对每个URL滚动位置组合计算MD5哈希值作为唯一标识# sync_server.py from flask import Flask, request import hashlib app Flask(__name__) reading_states {} app.route(/sync, methods[POST]) def sync_state(): data request.json state_id hashlib.md5( f{data[url]}-{data[scrollPosition]}.encode() ).hexdigest() if state_id not in reading_states: reading_states[state_id] data # 触发同步到其他设备的逻辑 return {status: new} return {status: duplicate}4. 使用效果与优化4.1 实际工作流示例当我阅读一篇关于Rust并发模型的长文时系统自动生成了这样的归档记录## [Rust的并发原语](https://example.com/rust-concurrency) **最后阅读位置**第4章「Arc与Mutex」第2节 **最后访问时间**2024-03-15 14:30 **当前片段摘要**解释了Arc如何在多线程间安全共享所有权配合Mutex实现内部可变性 **关键词**原子引用计数、线程安全、内部可变性、Send/Sync **内容类型**概念定义代码示例这样的记录让我即使隔几周后回来也能快速定位到关键内容。4.2 遇到的挑战与解决问题1页面动态加载导致文本提取不全解决方案在OpenClaw技能中增加了滚动截图OCR的备用方案当直接文本提取失败时自动启用。问题2技术文档中的代码块干扰摘要质量解决方案在prompt中明确要求忽略代码细节专注解释性文字并在发送到Phi-3前用正则表达式过滤掉代码块。问题3多设备同步冲突解决方案采用最后写入胜出策略并为每个设备保留本地副本人工查看差异时可以合并。5. 扩展应用场景这套基础架构经过简单调整可以支持更多知识管理场景视频学习追踪与浏览器插件配合捕获视频时间戳并生成字幕摘要电子书阅读助手对接Calibre等电子书管理工具构建个人注释体系论文研究工具自动整理参考文献中的关键结论生成对比矩阵目前我正尝试将输出接入到Obsidian利用其图谱功能展示不同文档间的概念关联。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章