本文档记录系统的整体架构、模块设计、模型使用策略与工程实践,已隐去接口地址、认证凭据、具体关键词表、服务器路径、邮件地址等敏感信息,可作为团队内部技术分享材料。一、项目定位与演进一个自动化的运营商舆情监测分析系统,每日定时采集公开网络舆情 → AI 识别归类 → 生成多维度分析报告 → 邮件推送。架构演进阶段形态说明一代规则引擎版采集后走规则管道(关键词/正则聚类)出报告二代(当前)LLM 版保留采集能力,分析环节整体替换为 AI关键整合决策:数据与程序分离数据目录:采集产物(原始 CSV、备份、报告)独立存放程序目录:全部代码、状态、日志集中管理好处:数据可独立备份/迁移,程序可独立升级/回滚。二、整体架构[定时触发 systemd timer] │ ▼ [编排层 run.py] ← 单实例锁(防止重复执行) │ ├─ 1. 采集阶段 ──→ 外部接口 → 原始 CSV ├─ 2. 噪声过滤 ──→ 标记(不删行) ├─ 3. AI 去重 ──→ 重复标记 ├─
我认为当前最好的AI工具就是Magpie,它的强大不在于AI能力,而是它让AI的使用成本降低到了极致。对于AI的使用,无所顾及的使用和精打细算的使用的结果是不一样的,特别是针对高端的模型,能酣畅淋漓的使用将带来非常好的结果。此外,就是极度简化的pi agent,最近通过两者的结合,以极低的成本完成了稽核系统+AI的项目模型构建、客服舆情项目的开发。下面简单将安装过程记录下来。最近尝试了 Magpie + Pi Agent 的组合,发现两者能够很好地互补:Magpie 负责统一管理大模型,Pi Agent 负责调用模型完成实际任务。整个架构简单、轻量,而且具有很强的扩展性。一、Magpie:统一管理大模型的 AI 网关Magpie GitHub 项目Magpie 是一个开源的 AI 模型管理与网关工具,可以把不同厂商的大模型统一接入,为多个 AI Agent 提供模型服务。它的主要能力包括:统一模型管理:支持 DeepSeek、Gemini、GLM、Claude、GPT、Ollama 等模型。API 协议转换:兼容 OpenAI、Anthropic、Gemini 等接口协议。智能路由:可
AI编程带来的变化就是你只需要脑子装好想做的事情,需要达到的效果,知道如何验证这个结果,剩下的就交给各种智能体来实现。你可以边旅游间歇性的查看一下处理的进度,做一个进度验收就可以了。但是这个方式存在的一个问题就是如何保持项目的连续性,如何ssh中断后重新登录后还可以延续之前的进程?下面就是我最近总结出来的高效率的组合:Termius + tmux:我的 VPS 远程管理方案最近,我在 Linux VPS 上部署了 Pi Agent、Hermes Agent 等 AI 工具,希望能够随时随地通过 Mac 或手机连接服务器,执行 AI 任务、检查运行状态和管理系统。在实际使用中遇到了一个问题:通过 SSH 启动 Pi Agent 后,如果关闭 SSH 客户端或者网络意外中断,正在运行的任务可能随之终止。经过一番尝试,我最终采用了 Termius + tmux 的组合。这套方案并不复杂,却很好地解决了远程终端的连接管理和任务持续运行问题。一、我的使用环境目前主要使用以下工具:组件用途Mac主要操作设备TermiusSSH 客户端,管理 VPS 连接Debian Linux VPS远程服务器,
从 NAS、VPS 运维,到个人生活助理、投资分析、办公自动化,再到小说翻译和外语学习,我逐渐建立起了一套由五款 AI Agent 组成的个人 AI 工作体系。它们看起来功能相似,但在实际使用中,各自有着不同的优势和定位。一、写在前面:我的 AI Agent 使用现状最近一段时间,我使用 AI 的方式发生了很大的变化。以前使用大模型,更多是打开一个聊天窗口,提出问题,等待回答。现在则不同。越来越多的工作,我已经习惯直接交给 AI Agent 完成。从 NAS 和 VPS 的服务维护,到股票分析、日常提醒、办公项目规划,再到小说翻译和外语学习,AI 已经逐渐融入我的日常工作和生活。目前,我使用的 AI Agent 主要有五款:Codex:NAS 和 VPS 的运维及开发助手。Hermes Agent:长期运行的个人生活助理。WorkBuddy:办公项目规划和文档处理。Pi Agent:轻量化、本地模型驱动的通用执行工具。Meta Muse:目前处于探索和测试阶段。这五款工具的功能存在不少重叠。它们都能够理解自然语言、调用工具、执行命令,部分还支持长期记忆、Skills 和多 Agent
最近在群晖 NAS 上又折腾了一个东西。我之前一直用 Podsync 自动下载一些播客节目,基本上每天都会有新的音频下来,中文比较多,也有一些英文和葡萄牙语的节目。音频下载下来以后,平时当然可以直接听,但是我慢慢发现一个问题。播客这种东西,有的节目特别是存在多人交互的节目,废话比较多,音频不容易快速捕捉到关键需要的内容。所以我就想,既然这些节目已经全部自动下载到 NAS 里面了,能不能干脆再往后走一步:音频下载以后,自动转成文字,然后再通过 AI 整理成比较适合阅读的文章。这样以后一个节目既可以听,也可以看,还可以搜索和长期保存。于是就开始折腾。一开始想直接在 NAS 上跑 Whisper最开始我的想法其实很简单。既然文件都在 NAS 上,那就在 NAS 上部署一个 Whisper,下载完以后直接本地转写。但是检查了一下我的群晖以后,很快就放弃了这个方案。我这台是 DS218+,CPU 是 Intel Celeron J3355,双核。内存之前已经扩展到了大约 10GB,但是没有独立显卡,而且这个 CPU 连 AVX/AVX2 都不支持。小模型其实也不是完全不能跑。问题是,能跑和适合长
一个笨问题假设你在教一个从没见过世面的助手打理你家的事。你告诉它两句话:老王是我爸。 我是小明。然后你问它:老王和小明是什么关系?正常人零点几秒就答出来了。但对一台只会存数据的机器来说,这是个陷阱——它的库里只有两条记录,没有任何一条写着"老王是小明的爸爸"。所以标准答案是:查无此人此关系。要让它答对,传统做法是你再手写一条规则:"如果 A 是 B 的爸爸,且 B 就是提问的人,则 A 是提问者的爸爸。"能用,但你很快会发现这条路走不通——爷爷、外甥、堂表兄弟、连襟、儿媳的妹夫,中国亲戚关系能把人绕死,你得写几百条。而且换个领域(比如公司的股权关系、疾病的分类体系、电信的资费结构),你又得从头再写几百条。本体推理想解决的,就是这件事:让机器只靠少量的概念定义,自己推出海量你没明说的结论。本体是什么:给世界画一张骨架图"本体"这个词听着玄,其实是从哲学里借的。哲学里的本体论研究"世界上到底存在什么",计算机借来之后,意思务实多了:把一个领域里有哪些概念、概念之间什么关系、有哪些不可违反的规矩,用机器能读懂的方式写清楚。拿家庭举例,你要写的东西大概是这样:有哪些类:人、男人、女人谁包含谁:
昨天看到群晖正式发布 DSM 7.4,一时间有些心动。不过,对于家里的这台 DS218+ 来说,我其实一直奉行一个原则:稳定压倒一切。这台 NAS 已经承担着家里的大部分服务,包括 Immich、Podsync、Tailscale、Docker 等十几个容器,最近好不容易把各种环境都调试稳定。如果因为一次系统升级导致某个服务出现兼容性问题,后面可能又要花不少时间排查和折腾。因此昨天一直没有下决心升级。社区评价基本打消了顾虑今天上午又花了一些时间看看 Reddit 和各大论坛上的用户反馈。让我比较意外的是,大家对于 DSM 7.4 本身的评价其实不错。升级过程普遍都比较顺利,没有看到大规模翻车案例。Docker、虚拟机、常用套件基本都能正常运行,不少用户甚至评价说:“升级之后什么变化都没有,这反而说明它足够稳定。”真正引发大量讨论的,其实并不是 DSM 7.4,而是 Synology 对新功能 Storage Efficiency(存储效率) 的限制。Storage Efficiency 成了最大的吸引力原本我只是准备观望一段时间。但在了解 DSM 7.4 的新功能时,Storage E
今天尝试了一个 iPhone 网络定位测试方案:通过 Quantumult X 拦截苹果的网络定位请求,替换 Wi‑Fi/基站定位返回的坐标。它不是修改 GPS 硬件信号,而是影响苹果网络定位服务的结果。因此在室内、GPS 信号较弱时更可能有效;如果在室外,真实 GPS 信号很强,地图 App 可能仍优先使用真实位置。配置过程使用的工具是 Quantumult X,并导入 WLOC 的重写资源:https://raw.githubusercontent.com/Yu9191/wloc/refs/heads/main/modules/wloc.conf导入时需要放在 Quantumult X 的“重写资源(Rewrite Resources)”中,而不是节点订阅。导入成功后,MITM 主机名中会自动出现:gs-loc.apple.com gs-loc-cn.apple.com这两项配置正确,且应避免添加 *.apple.com 或 * 之类的全域规则,以免扩大 HTTPS 解密范围。证书配置由于定位响应使用 HTTPS,Quantumult X 必须生成并安装自己的 CA 证书。流程如下
最近跟风买了一个大疆的 4G 模块。一开始我只是想看看它能不能接到 NAS 上,用来做一个短信收发管理工具。结果一路折腾下来,发现这东西确实有点意思,但也不是“插上就能用”。一开始的目标我的初始目标很简单:把这个大疆 4G 模块接到自己的设备上,实现短信集中收发管理。最好可以放在 NAS 上,因为 NAS 长期开机、管理方便,也适合跑一些 Web 服务。后来又看到网上有人把这个模块识别成 Quectel EC25 后,配合 VoHive 使用,可以管理短信、eSIM、设备状态,甚至通过 Telegram 做通知,于是就开始评估是否要刷机或改设备信息。要不要刷机?刚开始比较担心“刷机”这个词,因为涉及固件、NV 参数之类的东西,风险不低。后来确认下来,这次并不是传统意义上的刷固件,而是通过 AT 命令修改 USB 识别信息。这个大疆 4G 模块本质上是移远 Quectel EG25-G 的变体,默认 USB ID 是大疆私有的:2ca3:4006 修改后可以让系统把它识别成更通用的 Quectel EC25:2c7c:0125 修改之后,Linux 内核就能比较自然地加载 optio
起因手机上通过某第三方客户端内嵌的 Tailscale 模块连回家里内网,延迟高得离谱——tailscale ping 动辄 300ms 起步,还会抖到 1.6 秒,速度慢到基本不可用。表面是"网络慢",深挖下去是一整条链路的问题。这篇记录完整的排查与解决过程,也算给自己留个底。第一步:定位根因——中继落在境外高延迟在 Tailscale 场景里几乎都指向同一个根因:流量走了 DERP 中继,而不是 P2P 直连。先在 NAS 上定位:tailscale ping 100.x.x.x # pong from node via DERP(hkg) in 381ms ... direct connection not establishedvia DERP(hkg)——中继落在境外节点。再看 netcheck:Nearest DERP: Hong Kong hkg: 145.6msNAS 到官方境外 DERP 就要 145ms,手机(蜂窝网络)到该节点又是一段,两段叠加加抖动,300ms+ 就是这么来的。P2P 直连没打通,全程依赖这个远距离中继。结论:得把中继点从境外换到境内。第二步
walker
万事随性而为,因好而研,因趣而学,从心所欲。脱离依赖,谋划将来,避免经济之险,迈向希望之光。