运维123 - python
type: channel
link: https://www.sddts.cn/index.php/tag/python/
items: 15年单服务器8GB内存服务50万用户——Webminal生存之道
items: Manyana：基于 CRDT 的版本控制系统展望
items: 贝叶斯统计入门指南
items: 微信 iLink Bot SDK 技术文档
items: Astral 加入 OpenAI
items: Folio-OCR 三栏文档 OCR 工作台
items: Tiny Wi-Fi Analyzer 开源项目介绍
items: Squirrel LLM Gateway：企业级 LLM 统一网关发布
items: Dify语音识别本地模型部署实战
items: PasteMD 一键粘贴工具项目介绍

15年单服务器8GB内存服务50万用户——Webminal生存之道
type: item
date: 2026-03-31T06:17:31+00:00
description: 15年单服务器8GB内存服务50万用户——Webminal生存之道一、事件概述1. 项目背景Webminal.org 是一个在线 Linux 终端学习平台，让用户通过浏览器直接访问真实的 Linux 终端进行学习。该项目自 2011 年启动，至今已运行 15 年。2. 核心数据A. 规模数据运行时长：15 年（2011-2026）服务用户：500,000 名注册用户服务器配置：单台 CentOS 服务器，8GB RAM命令执行统计：超过 2800 万条命令B. 技术特点无 Kubernetes 集群无微服务架构无自动扩容单服务器运行3. 历史考验该平台经历了多次重大考验：2021 年数据中心火灾（丢失 15 万用户账户）荷兰多次停电2017 年西班牙科技博客涌入 1 万名用户创始人之间从未见过面的远程协作二、系统架构1. 技术栈graph TB subgraph 用户端 A[浏览器] end A -->|WebSocket/AJAX| B[Nginx] B --> C[Flask 0.12.5] C --> D[MySQL数据库] C --> E[Shellinabox终端] E --> F[共享Linux环境] C --> G[UML Root Labs] G -->|独立内核| H[用户虚拟机] H --> I[虚拟块设备 LVM/RAID/fdisk] C --> J[eBPF监控] J --> K[命令实时统计]2. 技术选型组件技术选型版本/说明编程语言Python2.7Web 框架Flask0.12.5终端模拟Shellinabox2005 年发布，2017 年弃用Root 实验室User Mode Linux2001 年技术监控eBPFexecsnoop（唯一现代技术）数据库MySQL存储在火灾中幸存前端纯 HTML + CSS无 React/Vue/npm3. 基础设施迁移历程graph LR A[2011 Linode] --> B[DigitalOcean] B --> C[AWS] C --> D[GCP] D --> E[OVH] E --> F[IBM Cloud] F --> G[2025 Linode] G -->|循环回到起点| A三、核心功能1. 新版更新A. 现代化 UI全新设计的用户界面无 Bootstrap 或 jQuery CDN 依赖自托管字体移动端响应式支持B. Root Lab提供完整 root 权限的系统管理员实践环境，支持：fdisk 磁盘分区LVM 逻辑卷管理RAID 阵列配置mkfs 文件系统创建systemctl 服务管理crontab 定时任务firewalld 防火墙配置SSH 密钥管理awk 与 sed 文本处理C. 实时命令统计首页滚动显示实时命令执行情况基于 eBPF（execsnoop）实时追踪累计执行命令超过 2800 万条2. Shellinabox 终端A. 技术选择团队曾尝试用现代 WebSocket 终端替代 Shellinabox，但生产环境仅运行几小时就出现：空白屏幕问题Firefox 兼容性问题B. 回归原因Shellinabox 虽然来自 2005 年，界面简陋且速度较慢，但具有以下优势：可穿透所有防火墙兼容各种代理服务器支持企业内网环境3. User Mode Linux 架构graph TB subgraph UML虚拟机 A[用户空间内核] B[虚拟块设备 sda-sdd] C[256MB RAM] D[Copy-on-Write] end E[主机系统] -->|资源隔离| A A -->|fdisk/LVM/RAID| B A -->|内存限制| C F[Golden镜像] -->|COW共享| D D --> G[100用户~2GB磁盘] H[poweroff] -->|退出UML| EA. UML vs Docker为什么不使用 Docker？需求DockerUML虚拟块设备不支持支持 4 个虚拟块设备fdisk 练习无法真实执行完全支持内核隔离共享主机内核独立内核实践场景容器化应用系统管理技能B. 资源分配每个 UML 实例获得：完整的 Linux 内核（非容器）4 个虚拟块设备（每个 64MB）256MB RAMCopy-on-Write 写时复制层C. 存储效率Copy-on-Write 机制使得 100 个并发用户仅需约 2GB 磁盘空间，所有用户共享同一个 Golden 镜像。四、协作模式1. 创始团队创始人：来自印度联合创始人 Freston：来自荷兰相识平台：LinuxForums.org（2010 年）2. 沟通方式2010-2015 年期间，两人从未见过面，甚至没有通过 Skype 见过对方的脸。所有协作通过…

Manyana：基于 CRDT 的版本控制系统展望
type: item
date: 2026-03-22T22:52:48+00:00
description: Manyana：基于 CRDT 的版本控制系统展望一、新闻概述1. 标题Manyana：Bram Cohen 发布基于 CRDT 的版本控制系统，合并永不失败2. 发布时间2026 年 3 月3. 来源Bram Cohen 官方博客二、核心内容1. 事件摘要A. 主要内容BitTorrent 创始人 Bram Cohen 发布 Manyana 项目，这是一个基于 CRDT（Conflict-Free Replicated Data Types，无冲突复制数据类型）的版本控制系统演示，提出了版本控制的未来愿景。B. 核心亮点合并永不失败，CRDT 保证最终一致性更智能的冲突标记，显示"发生了什么"和"谁做的"行顺序永久化，避免多分支合并问题历史记录存储在数据结构中，而非依赖 DAGRebase 不需要销毁历史约 470 行 Python 代码实现2. 关键信息A. 涉及技术CRDT（Conflict-Free Replicated Data Types）版本控制数据结构：WeaveB. 项目状态概念验证级别演示公有领域代码单文件操作未实现：Cherry-picking、本地撤销C. 核心特性无阻塞合并信息性冲突标记永久行排序历史感知3. 背景介绍A. 作者背景Bram Cohen 是 BitTorrent 的创始人，在分布式系统和版本控制领域有深厚经验。B. 技术背景传统版本控制系统（如 Git）使用 3-way merge，存在冲突处理困难、合并顺序敏感等问题。CRDT 是分布式系统中常用的数据结构，能保证最终一致性。三、详细报道1. 主要内容A. CRDT 基础原理CRDT（无冲突复制数据类型）的核心特性：合并永不失败最终一致性保证合并结果与顺序无关适用于多分支并行开发graph TD A[分支 A 修改] --> M[CRDT 合并] B[分支 B 修改] --> M C[分支 C 修改] --> M M --> R[一致的结果状态] M -.从不失败.-> RB. 冲突标记改进传统 VCS 的冲突标记：<<<<<<< left ======= def calculate(x): a = x * 2 logger.debug(f"a={a}") b = a + 1 return b >>>>>>> rightManyana 的智能冲突标记：<<<<<<< begin deleted left def calculate(x): a = x * 2 ======= begin added right logger.debug(f"a={a}") ======= begin deleted left b = a + 1 return b >>>>>>> end conflict改进点：标记显示操作类型（删除/添加）标记显示操作来源（left/right）清晰展示冲突的结构无需脑力重构发生了什么C. 核心设计特性特性 1：行顺序永久化当两个分支在同一点插入代码时，CRDT 选择一个顺序并保持永久。这解决了以下问题：冲突部分在不同分支上以不同顺序解决多人独立工作时合并结果不一致传统 VCS 在没有共同祖先时的合并困难特性 2：冲突不阻塞合并合并总是产生结果并发编辑"距离太近"时才会标记冲突冲突仅用于审查，不阻止工作继续算法追踪"每边做了什么"，而非仅显示两个结果特性 3：历史存储在结构中状态是一个 Weave（编织结构）：包含文件中曾经存在的每一行每行带有添加和删除的时间元数据合并不需要查找共同祖先不需要遍历 DAGgraph LR A[状态 A] --> M[CRDT 合并] B[状态 B] --> M M --> R[结果状态] R --> W[Weave 结构 包含完整历史] W -.无需.-> DAG[传统 DAG]D. Rebase 的改进传统 Rebase 的问题：创建虚构历史销毁原始提交的真实上下文激进 rebase 产生无共同祖先的拓扑CRDT 系统的 Rebase：可以逐个重放提交到新基线同时保留完整历史仅需在 DAG 中添加"主要祖先"注解优势：激进 rebase 不再破坏可追溯性传统 3-way merge 在无共同祖先时失效CRDT 不在乎，历史在 Weave 中2. 技术细节A. 架构设计graph TB subgraph Manyana File[文件] --> CRDT[CRDT 引擎] CRDT --> Weave[Weave 结构] Weave --> History[历史记录] Weave --> State[当前状态] end CRDT -.合并永不失败.-> Weave Weave -.包含.-> History Weave -.派生.-> StateC. Weave 数据结构Weave 是…

贝叶斯统计入门指南
type: item
date: 2026-03-22T13:55:54+00:00
description: 贝叶斯统计入门指南一、概述1. 简介A. 是什么贝叶斯统计是一种统计推断方法，它将概率视为对不确定性的度量，而非事件发生的长期频率。与频率学派统计不同，贝叶斯统计将模型参数视为随机变量，通过数据不断更新对参数的认知。B. 为什么学提供更直观的不确定性量化方式先验知识可以自然地融入模型特别适合小数据场景和复杂模型可信区间比置信区间更易理解C. 学完能做什么理解贝叶斯与频率学派的核心区别使用贝叶斯方法进行参数估计应用 PyMC 等 MCMC 工具解决实际问题构建包含先验知识的稳健模型2. 前置知识A. 必备技能基础概率论概念条件概率和贝叶斯定理Python 编程基础B. 推荐知识频率学派统计基础最大似然估计线性回归二、核心概念1. 哲学差异贝叶斯统计与频率学派统计的根本区别在于对概率的理解：维度频率学派贝叶斯学派参数固定但未知随机变量，服从分布数据随机抽样固定观测值概率长期频率不确定性的度量区间估计置信区间可信区间A. 置信区间 vs 可信区间置信区间：如果重复抽样多次，95% 的区间会包含真实参数可信区间：参数有 95% 的概率落在该区间内graph LR A[问题] --> B{统计框架} B --> C[频率学派] B --> D[贝叶斯学派] C --> E[参数固定] C --> F[数据随机] C --> G[置信区间] D --> H[参数分布] D --> I[数据固定] D --> J[可信区间]2. 贝叶斯定理贝叶斯推断的核心是贝叶斯定理：P(θ|X) = P(X|θ) × P(θ) / P(X)其中：P(θ|X)：后验分布，是我们想求解的P(X|θ)：似然函数，表示给定参数下观测数据的概率P(θ)：先验分布，表示对参数的初始认知P(X)：标准化常数，通常不需要显式计算graph TD A[先验分布] --> B[观测数据] B --> C[似然函数] A --> D[贝叶斯定理] C --> D D --> E[后验分布] E --> F[后验预测分布]3. 核心术语先验分布：对参数的初始假设似然函数：数据对参数的支持程度后验分布：结合先验和数据后的参数认知MAP 估计：最大后验概率估计后验预测分布：对新数据的预测分布三、快速上手1. 骰子问题示例假设你观察到一个骰子投掷 8 次，结果为 [1, 1, 2, 3, 3, 4, 4, 4]，但不知道骰子有多少面。A. 频率学派方法使用最大似然估计：P(X|n) = (1/n)^8当 n = 4 时似然最大，因为投掷结果的最大值为 4。95% 置信区间为 [4, 6]。B. 贝叶斯学派方法选择先验分布 P(n)，计算后验分布：P(n|X) ∝ (1/n)^k × P(n)使用均匀先验时，后验均值约为 4.26，95% 可信区间为 [4, 5]。2. 先验的影响先验分布的作用：数据少时，先验影响大数据多时，似然函数主导后验好的先验可以补偿数据不足import pymc as pm import numpy as np # 观测数据 observations = np.array([1, 1, 2, 3, 3, 4, 4, 4]) k = len(observations) x_max = int(observations.max()) with pm.Model() as model: # 几何先验 excess = pm.Geometric("excess", p=0.5) - 1 n = pm.Deterministic("n", excess + x_max) # 似然函数 pm.Potential("likelihood", -k * pm.math.log(n)) # MCMC 采样 trace = pm.sample(10000, tune=2000, chains=4) # 获取后验分布 posterior_n = trace.posterior["n"].values.flatten() print(f"后验均值: {posterior_n.mean():.2f}")3. 环境准备安装必要的 Python 库：pip install pymc arviz numpy matplotlib四、进阶内容1. 实际应用案例A. 地理分布建模问题：根据历史订单数据生成合成数据，需要按地理位置分配订单。频率学派问题：对新类别或新邮编不鲁棒数据稀疏时估计分布噪声大贝叶斯解决方案：使用 Dirichlet-Multinomial 分布建模似然使用人口分布作为先验（非稀疏）先验作为数据不足时的后备2. 数值方法：MCMC当后验分布无法解析求解时，使用马尔可夫链蒙特卡洛方法。A. Metropolis 算法从当前点 θ_t 提议新点 θ_{t+1}，以以下概率接受：m…

微信 iLink Bot SDK 技术文档
type: item
date: 2026-03-22T11:02:11+00:00
description: 微信 iLink Bot SDK 技术文档一、概述1. 项目简介A. 是什么weixin-bot 是一个微信 iLink Bot SDK，支持 Node.js 和 Python 两种语言实现。它为开发者提供了一套简洁的 API，让任何 Agent 可以在 5 分钟内接入微信消息收发功能。B. 为什么需要它传统的微信机器人接入面临以下痛点：协议复杂，需要深入理解微信 iLink Bot APIcontext_token 管理繁琐，处理不当会导致消息投递失败Session 过期需要手动重新登录需要配置 Webhook 接收消息，部署复杂weixin-bot SDK 通过封装底层协议细节，解决了这些问题：零配置，开箱即用凭证自动保存和续期context_token 自动管理长轮询收消息，无需 WebhookC. 应用场景AI Agent 接入微信作为交互渠道客服机器人自动回复群聊助手和消息监听微信消息自动化处理2. 技术背景A. iLink Bot APIiLink Bot API 是微信提供的机器人接口协议，采用 HTTP 长轮询方式接收消息，通过 HTTP POST 发送消息。关键特性包括：扫码登录认证长轮询获取更新context_token 上下文传递机制Typing 状态支持B. 协议关键发现SDK 开发过程中发现的关键协议细节：context_token：回复消息时必须原样传回 APIsendtyping：唯一能触发"对方正在输入中"的方式message_state：GENERATING 状态在 API 层面可用，但微信客户端不渲染Session 过期：errcode 为 -14 时需要重新登录二、系统架构1. 整体架构graph TB Agent[Agent 应用] -->|调用| SDK[weixin-bot SDK] SDK -->|HTTP 长轮询| API[iLink Bot API] SDK -->|HTTP POST| API API -->|推送消息| User[微信用户] User -->|扫码/发消息| API SDK -->|保存凭证| Local[本地存储]2. 组件说明Agent 应用：使用 SDK 的上层应用，如 AI Agent、客服机器人weixin-bot SDK：封装 iLink Bot API 协议的 SDK 库iLink Bot API：微信提供的机器人接口服务本地存储：保存登录凭证，避免重复扫码3. 交互流程sequenceDiagram participant Agent as Agent 应用 participant SDK as weixin-bot SDK participant API as iLink Bot API participant User as 微信用户 Note over Agent,User: 1. 登录阶段 Agent->>SDK: bot.login() SDK->>API: GET /get_bot_qrcode?bot_type=3 API-->>SDK: 返回二维码 URL SDK-->>Agent: 终端显示二维码 User->>API: 微信扫码确认 API-->>SDK: 返回 bot_token + baseurl SDK-->>Agent: 登录成功，凭证已保存 Note over Agent,User: 2. 消息收发循环 Agent->>SDK: bot.run() loop 长轮询循环 SDK->>API: POST /getupdates (最多保持 35 秒) User->>API: 发送消息 "你好" API-->>SDK: 返回消息 + context_token SDK-->>Agent: 触发 onMessage(msg) Agent->>SDK: bot.sendTyping(userId) SDK->>API: POST /sendtyping Note over User: 显示 "对方正在输入中" Agent->>SDK: bot.reply(msg, "Echo: 你好") SDK->>API: POST /sendmessage (带 context_token) API-->>User: 推送回复消息 SDK->>API: POST /sendtyping (取消 typing) end Note over Agent,User: 3. 异常处理 API-->>SDK: 返回 errcode: -14 (Session 过期) SDK->>SDK: 自动触发重新登录 SDK->>API: 重新获取二维码和 token SDK-->>Agent: 自动恢复运行三、安装指南1. 系统要求Node.js：14…

Astral 加入 OpenAI
type: item
date: 2026-03-19T15:35:59+00:00
description: Astral 加入 OpenAI一、新闻概述1. 标题Astral 宣布加入 OpenAI，Ruff 和 uv 等工具将继续开源2. 发布时间2025 年（具体日期未在原文中注明）3. 来源Astral 官方博客二、核心内容1. 事件摘要A. 主要内容Astral 公司宣布已达成协议加入 OpenAI，成为 Codex 团队的一部分。B. 核心亮点Astral 被 OpenAI 收购，加入 Codex 团队开源工具 Ruff、uv、ty 将继续维护每月下载量达数亿次承诺继续保持开源2. 关键信息A. 涉及产品Ruff：Python 代码检查工具uv：Python 包管理工具ty：类型检查工具B. 重要数据月下载量：数亿次公司成立时间：约 3 年投资方：Accel（种子轮和 A 轮）、a16z（B 轮）C. 收购方OpenAI Codex 团队3. 背景介绍A. 公司历史Astral 由 Charlie Marsh 创立，致力于改变 Python 开发体验。三年前的发布文章中提到："如果能让 Python 生态系统生产力提高 1%，想象一下这种影响会如何复合增长。"B. 相关上下文Astral 开发的工具链已成为现代 Python 开发的基础设施。Ruff 作为快速的 Python linter，uv 作为极速的 Python 包管理器，在开发者社区中广受欢迎。三、详细报道1. 主要内容A. 收购详情Astral 团队将加入 OpenAI 的 Codex 团队收购完成后将继续支持开源工具保持与社区共同构建的开发模式B. 开源承诺所有工具将继续开源继续为 Python 生态系统构建工具与 OpenAI 的开源理念一致C. 未来规划继续维护现有开源工具探索与 Codex 的集成方式更广泛地思考软件开发未来2. 技术细节A. Astral 工具链架构graph LR Dev[开发者] --> Ruff[Ruff 代码检查] Dev --> uv[uv 包管理] Dev --> ty[ty 类型检查] Ruff --> Code[高质量代码] uv --> Env[快速环境] ty --> Type[类型安全]B. 工具特点Ruff：用 Rust 编写的极速 Python linteruv：用 Rust 编写的极速 Python 包管理器ty：类型检查工具C. OpenAI Codex 集成展望Astral 工具与 Codex 的无缝集成AI 辅助编程工具链增强提升软件开发生产力3. 数据与事实A. 用户规模月下载量达数亿次工具已成为 Python 开发基础设施B. 投资情况Accel 领投种子轮和 A 轮a16z 领投 B 轮C. 社区影响拥有全球用户基础被称为"最受喜爱的软件之一"四、影响分析1. 行业影响A. 技术趋势AI 与开发工具的深度融合开源工具在 AI 时代的重要性Rust 编写的工具在开发者工具领域的崛起B. 竞争格局OpenAI 加强开发工具领域布局Python 开发工具进入 AI 辅助新阶段可能推动其他厂商类似投资2. 用户影响A. 现有用户工具将继续免费开源功能持续改进可能获得 AI 增强功能B. 潜在用户更易接触 AI 辅助开发工具Python 开发体验提升C. 迁移成本无需迁移，工具保持不变可选的新 AI 功能3. 技术趋势A. 技术方向AI 与传统开发工具的边界模糊开源与商业模式的结合探索开发者工具进入新纪元B. 生态影响Python 生态系统持续繁荣开发工具标准化加速AI 辅助编程成为标配五、各方反应1. 官方回应Astral 创始人 Charlie Marsh 表示："AI 正在快速改变我们构建软件的方式，这种变化的步伐只会加速。如果我们的目标是让编程更高效，那么在 AI 和软件的前沿领域构建就感觉是最有杠杆作用的事情。"2. OpenAI 官方声明OpenAI 在其公告中确认将继续支持 Astral 的开源工具。3. 社区反馈A. 正面期待开源承诺获得社区认可期待与 AI 的结合创新B. 关注点收购后产品独立性未来商业化策略六、相关链接1. 官方公告Astral 官方博客公告OpenAI 收购公告2. 项目链接Ruff GitHub 仓库uv GitHub 仓库ty GitHub 仓库参考资料Astral to join OpenAI

Folio-OCR 三栏文档 OCR 工作台
type: item
date: 2026-03-16T22:01:43+00:00
description: Folio-OCR 三栏文档 OCR 工作台一、概述1. 简介A. 是什么Folio-OCR 是一款基于 GLM-OCR 和 Ollama 的三栏文档 OCR 工作台，专为书籍和文档的日常批量识别设计。它提供了一个现代化的 Web 界面，支持图片和 PDF 文件的批量光学字符识别，并具备智能版面分析、实时编辑和多种格式导出功能。B. 为什么学解决文档数字化过程中的人工识别效率问题利用本地化 OCR 方案保护数据隐私学习 FastAPI 前后端分离架构和版面分析技术了解如何将大型语言模型集成到实际应用中C. 学完能做什么搭建本地化的 OCR 识别服务批量处理 PDF 和图片文档使用版面分析技术提高识别准确率将识别结果导出为 Markdown、TXT 或 Word 文档2. 前置知识A. 必备技能基础的 Linux 命令行操作了解 Docker 基础概念B. 推荐知识Python 基础编程知识Web 开发基础概念OCR 和版面分析基础二、环境准备1. 系统要求操作系统：Linux、macOS、Windows 10/11Docker：20.10+（推荐使用 Docker 部署）Python：3.10+（本地部署）Ollama：已安装（本地部署）硬件：建议 8GB+ 内存，有 NVIDIA 显卡可获得更好性能2. 安装步骤Docker 部署（推荐）# 1. 克隆项目 git clone https://github.com/vorojar/Folio-OCR.git cd Folio-OCR # 2. 启动服务 docker compose up -d # 3. 下载 OCR 模型（约 2GB，只需执行一次） docker compose exec ollama ollama pull glm-ocr本地部署# 安装依赖 pip install -r requirements.txt # 拉取模型 ollama pull glm-ocr # 启动服务 python server.py # Windows 一键启动 start.bat3. 验证安装打开浏览器访问 http://localhost:3000，若能看到界面则表示安装成功。# 检查 Ollama 状态 curl http://localhost:11434/api/tags # 检查服务状态 curl http://localhost:3000/api/status三、核心概念1. 基本术语GLM-OCR：智谱 AI 开发的 OCR 模型，用于图像文字识别Ollama：本地化大模型运行平台，提供 GLM-OCR 的推理服务FastAPI：Python Web 框架，用于构建后端 APIPP-DocLayoutV3：PaddlePaddle 的文档版面分析模型SQLite：轻量级数据库，用于持久化存储文档和 OCR 结果版面分析：自动检测文档中的标题、正文、表格、图片等区域2. 工作原理graph LR User[用户] --> FE[前端界面] FE --> API[FastAPI 后端] API --> DB[(SQLite 数据库)] API --> Layout[版面分析模型] API --> Ollama[Ollama OCR 服务] Layout --> API Ollama --> API API --> FE API --> Storage[文件存储]系统采用三层架构设计：前端层：提供三栏式用户界面，负责文件上传、结果显示和用户交互后端层：FastAPI 提供 RESTful API，处理版面分析、OCR 调用和数据持久化服务层：Ollama 提供 OCR 推理服务，PP-DocLayoutV3 提供版面分析能力四、快速上手1. 基本使用流程graph TD A[启动服务] --> B[上传文档] B --> C[自动拆页处理] C --> D[版面分析] D --> E[OCR 识别] E --> F[编辑校对] F --> G[导出文档]2. 上传文档支持以下文件格式：图片：PNG、JPG、GIF、BMP文档：PDF支持多文件混合上传，系统会自动将所有文件合并为一个文档，并按页码顺序排列。3. OCR 识别系统提供两种 OCR 模式：单页识别：对选中的页面进行 OCR批量识别：点击 OCR All Pages 一键处理全部页面识别过程中会显示实时进度条和 ETA 时间估算，用户可以随时点击 Stop 按钮中断处理。4. 编辑与导出识别结果支持：Edit 模式：纯文本编辑，便于手动修正Preview 模式：实时渲染 HTML 表格和 Markdown 格式段落重排：自动合并因换行断开的段落导出格式：Markdown（.md）纯文本（.txt）Word 文档（.…

Tiny Wi-Fi Analyzer 开源项目介绍
type: item
date: 2026-02-18T01:39:43+00:00
description: Tiny Wi-Fi Analyzer 开源项目介绍一、新闻概述1. 标题Tiny Wi-Fi Analyzer：轻量级开源 macOS Wi-Fi 分析工具2. 发布时间2020 年 10 月 13 日（首次发布），最新版本 v0.6.1 于 2026 年 1 月 25 日发布3. 来源GitHub 开源项目二、核心内容1. 事件摘要A. 主要内容Tiny Wi-Fi Analyzer 是一个专为 macOS 平台设计的开源 Wi-Fi 网络分析工具，提供了简洁直观的界面来实时监控和分析 Wi-Fi 网络状态。B. 核心亮点完全开源，基于 Apache-2.0 许可证轻量级设计，专注于 Wi-Fi 分析核心功能实时监控 Wi-Fi 网络状态支持多频段 Wi-Fi 网络（2.4 GHz、5 GHz、6 GHz）2. 关键信息A. 版本号当前最新版本：v0.6.1B. 重要数据GitHub Stars：253Fork 数量：7支持平台：macOS 10.15 (Catalina) 及以上版本C. 涉及技术PyObjC：Python 与 Objective-C 桥接pywebview：跨平台 GUI 框架ApexCharts：交互式图表库PyInstaller：Python 应用打包工具3. 背景介绍A. 项目历史该项目由开发者 nolze 于 2020 年 10 月创建，持续维护更新至今。项目在 GitHub 社区获得了一定的关注度，曾被多家科技媒体和社区推荐。B. 相关上下文macOS 平台上的 Wi-Fi 分析工具相对较少，商业化工具价格昂贵。Tiny Wi-Fi Analyzer 填补了开源免费工具的市场空白。三、详细报道1. 主要功能A. 实时网络监控实时更新 Wi-Fi 网络列表显示网络信号强度自动刷新网络状态B. 多频段支持2.4 GHz 频段：覆盖范围广，穿墙能力强5 GHz 频段：速度快，干扰少6 GHz 频段：最新 Wi-Fi 6E/7 标准C. 数据可视化交互式图表展示网络分布支持按 SSID 高亮显示图表可导出为 PNG、JPEG、SVG 格式D. 数据导出支持导出图表数据为 CSV 文件便于进一步数据分析2. 技术架构A. 系统架构graph TB UI[用户界面 pywebview] --> Core[核心分析引擎] Core --> PyObjC[PyObjC 桥接层] PyObjC --> macOS[macOS Wi-Fi API] Core --> Charts[图表渲染 ApexCharts] Data[数据层] --> Core Export[导出模块] --> Core Export --> Image[图片导出] Export --> CSV[CSV 导出]B. 技术栈分析后端：Python：主要开发语言（占比 51.4%）PyObjC：与 macOS 系统 API 交互Poetry：依赖管理和打包工具前端：HTML/CSS/JavaScript：界面开发（占比 47.2%）ApexCharts：数据可视化图表库pnpm：前端包管理工具构建：PyInstaller：打包为 macOS 应用程序Makefile：自动化构建脚本3. 安装与使用A. 系统要求macOS 10.15 (Catalina) 或更高版本可能在 macOS 10.14 及更早版本上运行B. 下载方式访问 GitHub Releases 页面下载最新版本的 .app 文件C. 首次运行注意事项由于应用未进行签名，需要按以下步骤运行：右键点击应用图标选择"打开"在弹出的对话框中点击"确定"D. 权限要求在 macOS 14 Sonoma 及更高版本上，获取 Wi-Fi SSID 需要位置服务权限，用户需要在系统设置中启用位置服务授权。四、影响分析1. 行业影响A. 工具生态填补了 macOS 平台开源 Wi-Fi 分析工具的空白，为网络诊断和优化提供了新的选择。B. 技术趋势展示了使用 Python 开发原生 macOS 应用的可行性，PyObjC + pywebview 技术栈为跨平台桌面应用开发提供了新思路。2. 用户影响A. 现有用户获得了免费的开源 Wi-Fi 分析工具可以进行网络信号优化和故障排查B. 潜在用户网络管理员：可以使用该工具进行网络规划和优化普通用户：可以查看家中 Wi-Fi 覆盖情况，优化路由器位置C. 使用场景家庭 Wi-Fi 信号优化办公室网络环境诊断公共场所 Wi-Fi 质量评估3. 技术趋势A. 开源替代越来越多的商业化工具出现开源替代品，降低了用户使用门槛。B. 跨平台开发使用 Web 技术构建原生应用成为趋势，pywebview 等技术使得 Python 开发者能够快速创建跨平台桌面应…

Squirrel LLM Gateway：企业级 LLM 统一网关发布
type: item
date: 2026-02-17T07:56:33+00:00
description: Squirrel LLM Gateway：企业级 LLM 统一网关发布一、新闻概述1. 标题Squirrel LLM Gateway：企业级 LLM 统一网关开源发布2. 发布时间2026 年 2 月（最新提交：2026-02-16）3. 来源GitHub 开源项目二、核心内容1. 事件摘要A. 主要内容开发者 mylxsw 开源了 Squirrel LLM Gateway，这是一个高性能、企业级的 LLM 代理服务，旨在统一和管理对 OpenAI、Anthropic 等大语言模型提供商的访问。B. 核心亮点统一 API 接口：单一接入点访问多个 LLM 提供商零代码变更：完全兼容 OpenAI 和 Anthropic SDK智能路由：支持基于规则、优先级、权重的请求路由协议转换：内置 OpenAI Chat、OpenAI Responses、Anthropic Messages 之间的协议转换全面可观测性：完整的请求/响应日志、Token 计费、延迟监控2. 关键信息A. 版本信息开源协议：MIT License最新提交：4fa62b0（2026-02-16）Python 版本：3.12+前端：Next.js 16 + TypeScript + shadcn/uiB. 重要数据GitHub Stars：20+Forks：4主要编程语言：Python 73.2%、TypeScript 25.8%C. 涉及技术后端：FastAPI、Alembic、SQLite/PostgreSQL前端：Next.js 16、shadcn/ui协议转换：自研 llm_api_converter SDK容器化：Docker、Docker Compose3. 背景介绍A. 项目定位Squirrel LLM Gateway 定位为企业级 LLM 接入中间件，解决企业在使用多个 LLM 提供商时面临的集成复杂、成本控制、故障切换等问题。B. 相关上下文随着 LLM 技术的快速发展，企业往往需要同时接入多个 LLM 提供商以实现成本优化和风险分散。Squirrel 提供了统一的接入层，简化了这一过程。三、详细报道1. 主要功能A. 统一 API 接口Squirrel 提供了统一的 API 接口，支持：OpenAI 兼容：/v1/chat/completions、/v1/completions、/v1/embeddings、/v1/audio/、/v1/images/OpenAI Responses 兼容：/v1/responses（支持流式和工具调用）Anthropic 兼容：/v1/messages 端点协议转换：OpenAI Chat ↔ OpenAI Responses ↔ Anthropic Messages 之间无缝转换B. 智能路由策略系统支持多种路由策略：轮询（Round-Robin）：均匀分配请求优先级（Priority-Based）：优先使用首选提供商权重（Weight-Based）：按自定义权重分配成本（Cost-Based）：自动选择价格最低的模型基于规则：根据模型名称、请求头、消息内容或 Token 数量路由C. 高可用性设计自动重试：可配置的重试次数（默认 3 次）提供商故障转移：无缝切换到备用提供商超时管理：可配置请求超时（默认 30 分钟）D. 全面可观测性完整请求/响应捕获：包括流式响应Token 追踪：使用 tiktoken 自动计数延迟指标：首字节延迟和总响应时间成本分析：按时间、模型、提供商、API Key 汇总统计数据脱敏：自动处理日志中的敏感信息2. 技术架构graph TB Client[客户端应用] --> Gateway[Squirrel LLM Gateway] Gateway --> Router[智能路由引擎] Router -->|基于规则/优先级/权重/成本| Provider1[OpenAI 提供商] Router --> Provider2[Anthropic 提供商] Router --> Provider3[Azure OpenAI] Router --> Provider4[本地模型] Gateway --> Dashboard[管理控制台] Gateway --> Logger[日志记录] Gateway --> Metrics[指标统计] Logger --> DB[(数据库)] Metrics --> DB Dashboard -->|查询| DB Dashboard -->|管理| Router3. 核心组件A. 后端架构（Python/FastAPI）backend/ ├── app/ │ ├── api/ # API 路由（代理、管理） │ ├── services/ # 业务…

Dify语音识别本地模型部署实战
type: item
date: 2026-02-17T03:33:06+00:00
description: 一、概述1. 简介Dify 是一个开源的 LLM 应用开发平台，当前已支持音频输入功能。但该功能需要前提条件：本地部署音频识别模型并开放对应的 API 接口。本文记录完整的部署过程，方便后续回溯。A. 是什么FunASR 是阿里巴巴达摩院开源的语音识别工具包，funasr-api 项目将其封装为 RESTful API 服务，可与 Dify 无缝集成。B. 为什么学实现 Dify 应用的语音输入功能掌握本地语音识别模型的部署方法了解 OpenAI 兼容 API 的配置流程C. 学完能做什么本地部署 FunASR 语音识别服务在 Dify 中配置自定义语音识别模型创建支持语音输入的 AI 应用2. 前置知识A. 必备技能Linux 基础操作Python 虚拟环境管理Docker 基础（可选）B. 推荐知识语音识别基本概念RESTful API 调用二、环境准备1. 系统要求操作系统：Linux（推荐 Ubuntu 20.04+）Python 版本：3.8+硬件：支持 CUDA 的 GPU（推荐）或 CPU存储空间：至少 20GB（用于模型文件）2. 硬件要求GPU：NVIDIA 显卡，显存 8GB+CPU：8 核心以上（若使用 CPU 推理）内存：16GB+3. 软件依赖ffmpeg：用于音频格式转换Python 3.8+pip 包管理器三、语音识别模型部署1. 项目获取使用 funasr-api 项目进行部署，该项目提供完整的模型加载和 API 接口功能。GitHub 地址：https://github.com/Quantatirsk/funasr-api下载项目源码：wget https://github.com/Quantatirsk/funasr-api/archive/refs/heads/main.zip unzip funasr-api-main.zip cd funasr-api-main2. 模型下载需要下载以下语音识别模型：模型名称功能说明iic/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727实时标点预测iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch标点预测模型iic/speech_fsmn_vad_zh-cn-16k-common-pytorch语音活动检测iic/speech_ngram_lm_zh-cn-ai-wesp-fst语言模型iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online在线 ASR 模型iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch离线 ASR 模型模型下载后，放置到本地缓存目录：/root/.cache/modelscope/hub/最终模型位置示例：/root/.cache/modelscope/hub/iic/speech_ngram_lm_zh-cn-ai-wesp-fst3. 安装 ffmpegffmpeg 用于音频格式转换，安装方式：Ubuntu/Debian：sudo apt update sudo apt install ffmpegCentOS/RHEL：sudo yum install epel-release sudo yum install ffmpeg验证安装：ffmpeg -version4. Python 环境配置创建虚拟环境并安装依赖：# 创建虚拟环境 python3 -m venv venv source venv/bin/activate # 安装依赖 pip install -r requirements.txt5. 配置文件设置复制并修改配置文件：cp .env.example .env配置文件内容：# 服务器配置 HOST=0.0.0.0 PORT=9584 DEBUG=false # 设备配置 DEVICE=cuda:0 # auto, cpu, cuda:0, npu:0 # Worker 配置 WORKERS=1 # 这里的 INFERENCE_THREAD_POOL_SIZE 不能设置为 auto，否则启动会有报错 # INFERENCE_THREAD_POOL_SIZE=auto # ASR 模型配置 # ASR 模型加载模式：realtime, offline, all ASR_MODEL_MODE=all # 启动时自动预加载的自定义 ASR 模型（逗号分隔） # 可选值：fun-asr-nano # AU…

PasteMD 一键粘贴工具项目介绍
type: item
date: 2026-02-10T12:34:12+00:00
description: PasteMD 一键粘贴工具项目介绍一、新闻概述1. 标题PasteMD：一键将 Markdown 和 AI 对话完美粘贴到 Word、WPS、Excel 的效率工具2. 发布时间2024 年（持续更新中，最新版本 v0.1.6.8 于 2026 年 1 月 24 日发布）3. 来源GitHub 开源项目二、核心内容1. 事件摘要A. 主要内容PasteMD 是一个常驻系统托盘的效率工具，旨在解决从 ChatGPT、DeepSeek 等 AI 网站复制内容到 Word、WPS 或 Excel 时出现的格式问题，特别是数学公式乱码和表格格式错乱。B. 核心亮点全局热键一键转换 Markdown 到 DOCX智能识别 Markdown 表格并自动粘贴到 Excel支持 HTML 富文本直接转换到 Word/WPS应用扩展功能，可为不同应用配置不同粘贴模式支持自定义 Pandoc Filters 扩展转换功能自动修复 LaTeX 语法和单美元符号公式块2. 关键信息A. 版本号v0.1.6.8（最新版本）B. 重要数据GitHub Stars：约 4000开发语言：Python（95.1%）支持平台：Windows、macOS许可证：MIT LicenseC. 涉及产品目标应用：Microsoft Word、WPS Office、Microsoft Excel依赖工具：Pandoc 文档转换器3. 背景介绍A. 问题起源在日常写作和学术工作中，用户从 AI 对话网站（如 ChatGPT、DeepSeek）复制内容到 Word 时，经常遇到数学公式显示为乱码、表格格式错乱等问题。这是由于 AI 网站通常使用 Markdown 或 HTML 格式输出内容，而 Word 无法直接解析这些格式。B. 相关上下文PasteMD 通过调用 Pandoc 强大的文档转换能力，将剪贴板中的 Markdown 或 HTML 内容转换为 Word 可识别的 DOCX 格式，并自动插入到光标位置。三、详细报道1. 主要内容A. 功能特性全局热键操作：默认使用 Ctrl+Shift+B 一键粘贴，热键可自定义。智能表格识别：自动检测剪贴板内容是否为 Markdown 表格，若是则粘贴到 Excel 而非 Word。HTML 富文本支持：支持直接复制网页中的 AI 回复内容（HTML 格式），自动转换为 Word 格式。应用扩展工作流：可为特定应用（如语雀、Overleaf、QQ 等）配置不同的粘贴模式，支持按窗口标题匹配。转换增强功能：支持按转换类型配置 Pandoc Filters，自动修复部分 LaTeX 语法问题，自动转换单美元符号公式块为标准的双美元符号格式。多语言支持：界面支持简体中文、英语、日语。B. 技术架构PasteMD 基于以下核心技术构建：Python 开发：使用 Python 3.12+ 开发，采用 PyInstaller 打包为独立可执行文件。Pandoc 集成：通过 Pandoc 实现文档格式转换，支持 Markdown、HTML、LaTeX 等多种格式。剪贴板监听：实时监听系统剪贴板变化，自动识别内容类型。COM 自动化：通过 Windows COM 接口与 Office 应用交互，实现自动粘贴。graph LR A[用户复制内容] --> B[剪贴板] B --> C{PasteMD 监听} C -->|热键触发| D[内容类型识别] D -->|Markdown 表格| E[转换模式选择] D -->|普通 Markdown| E D -->|HTML 富文本| E E -->|Pandoc| F[生成 DOCX] F --> G{检测前台应用} G -->|Word/WPS| H[插入光标位置] G -->|Excel| I[粘贴表格数据] G -->|无应用| J[打开/保存/剪贴板]C. AI 网站兼容性PasteMD 对主流 AI 对话网站进行了兼容性测试：完美支持（所有格式）：DeepSeek、豆包、智谱清言/ChatGLM、Gemini、Grok、Claude基本支持（公式显示为代码）：ChatGPT（复制含公式的 Markdown 时）部分限制（网页含公式无法显示）：Kimi、通义千问2. 技术细节A. 配置文件首次运行时，PasteMD 会在用户数据目录生成 config.json 配置文件：Windows：APPDATA%\PasteMD\config.jsonmacOS：~/Library/Application Support/PasteMD/config.jsonB. 核心配置项热键配置：hotkey 字段，支持自定义全局热键，语法如 ++b。Pandoc 路径：pandoc_path 字段，指定 P…