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 工作台一、概述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 文档（.docx）五、核心功能1. OCR 引擎A. 版面分析使用 PP-DocLayoutV3 模型进行智能版面分析，自动识别以下区域：标题（title）正文（text）表格（table）图片（figure）页眉页脚、脚注、页码（自动跳过）B. 智能合并相邻文本区域会自动合并，减少 OCR 调用次数。例如 11 个文本区域可合并为 3 组，实现约 2.5 倍加速。C. LaTeX 处理自动将模型输出的 LaTeX 符号转换为 Unicode 字符：$\textcircled{1}$ → ①$\frac{1}{2}$ → ½其他常见数学符号D. 清理处理自动清理模型输出的 Markdown 围栏标记。2. 数据持久化使用 SQLite 数据库存储以下信息：文档元数据（ID、文件名、创建时间）页面信息（页码、文件名、OCR 结果、版面区域、处理时间）自动保存编辑内容（800ms 防抖）3. 界面交互A. 三栏布局左栏：页面缩略图，支持快速切换页面中栏：图片预览，显示版面分析区域框右栏：OCR 结果，支持编辑和预览B. 双向高亮点击图片中的区域框会高亮对应的文本块，点击文本块会高亮对应的图片区域。C. 全文搜索支持 Ctrl+F 全文搜索，跨页高亮显示匹配内容并统计命中次数。D. 键盘导航使用 ↑↓ 方向键快速切换页面。4. 网络容错所有网络请求都带有超时保护：状态检查：5 秒OCR 调用：180 秒其他请求：30 秒Ollama 断开后 UI 不会冻结，超时后会自动恢复可操作状态并通过 Toast 弹窗通知用户。六、技术架构1. 后端架构graph TB subgraph 后端服务 API[FastAPI Server] DB[(SQLite)] Layout[PP-DocLayoutV3] Uploads[uploads/ 目录] end subgraph 外部服务 Ollama[Ollama GLM-OCR] end API --> DB API --> Layout API --> Uploads API --> Ollama2. 版面分析流程sequenceDiagram participant U as 用户 participant API as FastAPI participant L as Layout 模型 participant O as Ollama U->>API: 上传图片 API->>L: 版面分析 L-->>API: 返回区域列表 API->>API: 合并相邻区域 loop 对每个合并区域 API->>O: OCR 调用 O-->>API: 返回识别文本 end API->>U: 返回完整结果3. 数据库设计erDiagram documents ||--o{ pages : 包含 documents { string doc_id PK string filename string created_at } pages { string doc_id FK integer num string filename text ocr_text text ocr_regions real ocr_time }4. 主要依赖依赖版本用途fastapi>=0.100.0Web 框架uvicorn>=0.23.0ASGI 服务器httpx>=0.25.0异步 HTTP 客户端pymupdf>=1.23.0PDF 处理Pillow>=10.0.0图像处理transformers>=4.40.0版面分析模型torch>=2.0.0深度学习框架python-docx>=1.1.0Word 文档生成七、部署架构1. Docker Compose 配置graph LR Host[宿主机] --> LB[Nginx/Proxy] LB --> App[App 容器] LB --> Ollama[Ollama 容器] App --> DB[(SQLite 数据卷)] App --> Files[uploads 数据卷]2. GPU 加速若有 NVIDIA 显卡，可编辑 docker-compose.yml 取消 deploy 段落的注释以启用 GPU 加速。services: ollama: deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]3. 常用 Docker 命令docker compose down # 停止服务 docker compose up -d # 重新启动（数据不会丢失） docker compose logs -f app # 查看应用日志 docker compose logs -f ollama # 查看 Ollama 日志八、性能参考操作时间说明模型冷启动首次请求~50 秒需加载模型到内存后续单页识别~0.5 秒版面分析 + OCRPDF 渲染取决于页数2x 缩放矩阵渲染整体加速比2.5x相比逐区域 OCR九、常见问题1. 安装问题Ollama 未找到错误信息：Ollama not found解决方法：先安装 Ollama 并确保其在 PATH 中# macOS/Linux curl -fsSL https://ollama.com/install.sh | sh # Windows # 从 https://ollama.com/download 下载安装包模型下载失败解决方法：检查网络连接，手动执行模型拉取ollama pull glm-ocr2. 运行问题OCR 超时可能原因：图片过大或网络问题解决方法：系统已设置 180 秒超时，等待即可检查 Ollama 服务是否正常运行尝试重启服务版面分析失败可能原因：模型未正确加载解决方法：确保已安装 torch 和 transformers检查服务器日志查看具体错误3. 使用问题PDF 拆页不清晰说明：系统使用 2x 缩放矩阵渲染 PDF 以保证 OCR 质量解决方法：如需更高分辨率，可修改 server.py 中的 mat 参数导出的 Word 文档格式问题说明：DOCX 导出基于 python-docx，解析 OCR 结果中的表格和标题解决方法：识别时确保版面分析正确检测到表格区域十、项目结构Folio-OCR/ ├── server.py # FastAPI 后端（单文件） ├── index.html # HTML 页面 ├── script.js # 前端逻辑 ├── style.css # 样式 ├── latex_unicode.json # LaTeX → Unicode 映射表 ├── requirements.txt # Python 依赖 ├── Dockerfile # Docker 镜像构建 ├── docker-compose.yml # Docker Compose 编排 ├── start.bat # Windows 启动脚本 ├── folio_ocr.db # SQLite 数据库（运行时生成） └── uploads/ # 上传文件目录（运行时生成）十一、API 端点方法路径说明GET/前端页面GET/api/status服务状态、Ollama 连通性POST/api/load-model启动 Ollama 并预热模型POST/api/upload上传文件，返回 SSE 页面流GET/api/images/{doc_id}/{filename}获取页面图片POST/api/ocr/{doc_id}/{page_num}单页 OCRPOST/api/ocr/{doc_id}/all批量 OCR 全部页面GET/api/documents列出所有文档GET/api/documents/{doc_id}获取文档详情DELETE/api/documents/{doc_id}删除文档PUT/api/pages/{doc_id}/{page_num}/text保存编辑后的文本POST/api/export/{doc_id}导出 DOCX参考资料Folio-OCR GitHub 仓库GLM-OCR 模型Ollama 官方文档FastAPI 官方文档PP-DocLayoutV3 模型
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 开发者能够快速创建跨平台桌面应用。五、各方反应1. 官方信息开发者提供了完整的开发文档持续维护更新，最近一次更新为 2026 年 1 月开源社区有 2 名贡献者参与项目维护2. 业内评价A. 媒体报道Jablíčkář.cz（捷克科技媒体）：将其列为值得关注的免费 macOS 应用之一ifun.de（德国科技媒体）：在宽带测量工具更新的报道中提到了该项目B. 社区反馈Reddit r/macapps 社区用户在讨论最喜欢的开源应用时推荐了该项目GitHub 社区持续关注，项目获得 253 个星标3. 用户反馈A. 优点评价界面简洁，操作直观实时更新，响应迅速完全免费，无广告B. 关注点应用未签名，首次运行需要额外操作macOS 14+ 需要位置服务权限，可能引发隐私顾虑仅支持 macOS 平台，Windows/Linux 用户无法使用六、相关链接1. 项目地址GitHub 仓库：https://github.com/nolze/tiny-wifi-analyzer项目主页：https://nolze.github.io/tiny-wifi-analyzer/2. 下载链接最新发布版本：https://github.com/nolze/tiny-wifi-analyzer/releases/latest/3. 技术文档PyObjC 官方文档pywebview 项目主页ApexCharts 文档参考资料Tiny Wi-Fi Analyzer GitHub Project
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/ # 业务逻辑 │ ├── providers/ # 协议适配器 │ ├── repositories/ # 数据访问层 │ ├── db/ # 数据库模型 │ ├── domain/ # DTO 和领域模型 │ ├── rules/ # 规则评估引擎 │ └── common/ # 工具函数 ├── migrations/ # Alembic 迁移 └── tests/ # 测试套件B. 协议转换 SDK独立的 llm_api_converter 模块提供：OpenAI ↔ Anthropic 协议转换请求、响应和流式传输支持工具调用（Tool Calls）转换C. 前端架构（Next.js 16）frontend/ └── src/ ├── app/ # Next.js App Router 页面 ├── components/ # React 组件 └── lib/ # 工具和 API 客户端4. 部署方式A. Docker Compose（推荐）git clone https://github.com/mylxsw/llm-gateway.git cd llm-gateway docker compose -f docker-compose.prod.yml up -dB. 单容器 Dockerdocker run -d \ -p 8000:8000 \ -v $(pwd)/data:/data \ --name llm-gateway \ ghcr.io/mylxsw/llm-gateway:latestC. 手动安装后端：cd backend uv sync # 或 pip install -r requirements.txt alembic upgrade head uvicorn app.main:app --host 0.0.0.0 --port 8000前端：cd frontend npm install npm run build && npm run start5. 支持的提供商提供商协议说明OpenAIOpenAI完整支持 GPT-4、GPT-3.5、Embeddings、Audio、ImagesOpenAIOpenAI Responses通过 /v1/responses 提供 Responses APIAnthropicAnthropic通过 Messages API 提供 Claude 模型Azure OpenAIOpenAI使用 Azure 端点 URL本地模型OpenAIOllama、vLLM、LocalAI 等其他提供商OpenAI/Anthropic任何兼容的 API 端点四、影响分析1. 行业影响A. 降低 LLM 接入门槛Squirrel 通过统一的 API 接口和协议转换能力，降低了企业接入多个 LLM 提供商的技术门槛。B. 促进成本优化智能路由和成本分析功能帮助企业优化 LLM 使用成本，实现按需选择最合适的模型。C. 提升系统可靠性故障转移和重试机制提高了 LLM 应用的可靠性，避免单点故障。2. 用户影响A. 开发者无需修改现有代码，直接替换 base_url 即可使用统一的管理界面简化配置和监控详细的日志和指标帮助调试和优化B. 企业用户集中管理多个 LLM 提供商的 API Key细粒度的访问控制和成本分析降低供应商锁定风险C. 迁移成本Docker 部署方式简化安装过程支持 SQLite（开发）和 PostgreSQL（生产）完整的 API 文档和迁移指南3. 技术趋势A. LLM 中间件兴起Squirrel 是 LLM 中间件领域的最新项目，与 similar projects 如 LiteLLM、Portkey 形成竞争。B. 协议标准化内置的协议转换功能反映了 LLM API 标准化的趋势，尽管各提供商的协议仍在演进中。C. 可观测性重要性完整的日志和指标功能凸显了生产环境 LLM 应用对可观测性的需求。五、各方反应1. 开发者社区GitHub 项目刚发布不久，已有 20+ Stars 和 4 Forks项目活跃度高，最近几天仍在持续更新2. 技术亮点A. 协议转换能力内置的 llm_api_converter SDK 是一大亮点，支持三种主流协议之间的无缝转换。B. 现代化技术栈FastAPI + Next.js 16 + shadcn/ui 的组合代表了当前 Python/JavaScript 全栈开发的最佳实践。C. 企业级特性完整的日志记录、成本分析、多维度过滤等功能体现了企业级产品的设计思维。六、相关链接1. 官方资源GitHub 仓库：https://github.com/mylxsw/llm-gatewayDocker 镜像：ghcr.io/mylxsw/llm-gateway:latest2. 技术文档架构设计：docs/architecture.mdAPI 参考：docs/api.md模块详情：docs/modules.md协议转换：docs/protocol_conversion.md3. 相关项目LiteLLM：另一个 LLM 统一接口项目Portkey：LLM 网关和可观测性平台参考资料Squirrel LLM Gateway - GitHub项目 README 文档
一、概述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 # AUTO_LOAD_CUSTOM_ASR_MODELS=fun-asr-nano # 是否启用实时标点模型（用于中间结果展示） ASR_ENABLE_REALTIME_PUNC=true # 远场过滤配置 ASR_ENABLE_NEARFIELD_FILTER=true ASR_NEARFIELD_RMS_THRESHOLD=0.01 ASR_NEARFIELD_FILTER_LOG_ENABLED=true # 鉴权配置（可选） # APPTOKEN=your_token_here # APPKEY=your_key_here # 日志配置 LOG_LEVEL=INFO LOG_FILE=logs/funasr-api.log LOG_MAX_BYTES=20971520 LOG_BACKUP_COUNT=50配置注意事项：INFERENCE_THREAD_POOL_SIZE 不能设置为 auto，否则启动会报错尝试启动 fun-asr-nano 模型可能不成功，建议使用默认的 paraformer-large6. 启动服务python start.py服务启动后，监听地址为 http://localhost:95847. 本地验证使用 curl 进行测试：curl -X POST "http://localhost:9584/v1/audio/transcriptions" \ -F "file=@/root/.cache/modelscope/hub/iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online/example/asr_example.wav" \ -F "model=whisper-1" \ -F "response_format=json"成功返回示例：{ "text": "识别出的文字内容" }四、Dify 模型配置1. 添加模型供应商在 Dify 管理后台操作：点击"设置"-"模型供应商"选择"OpenAI-API-compatible"点击"添加模型"2. 配置语音识别模型选择模型类型为 Speech2Text，填写配置信息：配置项值模型名称自定义名称（如 funasr）API 端点http://your-server:9584/v1/audio/transcriptionsAPI Key（可选，若配置了鉴权）配置完成后，点击"添加"。五、创建语音识别应用1. 新建聊天应用在 Dify 中创建一个新的聊天应用点击"功能"选项卡可以看到新增的"语音转文字"选项2. 启用语音转文字打开"语音转文字"开关点击"发布"-"发布更新"重要提示：如果只打开开关，没有点击"发布更新"，直接点击预览，此时可以看到小话筒，但发送语音会提示"Speech to text is not enable"。这是因为 app_config 文件中的语音识别变量还是 false，所以必须先点击"发布更新"。3. 测试语音识别点击预览按钮点击小话筒图标靠近麦克风说话语音将识别成文字点击发送，识别结果发送给 AI六、系统架构整体架构如下：graph LR A[用户] -->|语音输入| B[Dify应用] B -->|音频数据| C[FunASR API] C -->|识别结果| B B -->|文字对话| D[LLM模型] D -->|回复| B B -->|文字/语音| A七、常见问题1. 模型加载失败问题：启动时报错模型文件不存在解决：检查模型是否下载到正确的缓存目录 /root/.cache/modelscope/hub/2. CUDA 内存不足问题：GPU 显存不够解决：将 DEVICE 配置改为 cpu，或减少 WORKERS 数量3. ffmpeg 未安装问题：音频处理失败解决：使用包管理器安装 ffmpeg4. 语音识别不准确问题：识别结果错误较多解决：确保音频质量良好检查采样率是否为 16kHz尝试调整 ASR_NEARFIELD_RMS_THRESHOLD 参数5. Dify 提示 Speech to text is not enable问题：语音转文字开关已打开但无法使用解决：必须点击"发布更新"，仅打开开关不会生效八、性能优化1. GPU 加速使用 CUDA 设备进行推理批量处理音频请求2. 模型选择实时场景：使用 online 模型离线场景：使用 offline 模型，准确率更高3. 缓存策略启动时预加载常用模型使用 Redis 缓存识别结果九、参考资料funasr-api 项目地址FunASR 官方文档Dify 官方文档
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 字段，指定 Pandoc 可执行文件位置。Excel 功能：enable_excel 控制是否启用智能表格识别，excel_keep_format 控制是否保留格式。转换增强：enable_latex_replacements 自动修复 LaTeX 语法，fix_single_dollar_block 转换单美元符号公式。应用扩展：extensible_workflows 配置不同应用的粘贴模式。C. 高级功能Pandoc Filters：支持配置自定义 Lua 脚本或可执行文件作为 Filter，扩展 Pandoc 转换能力。典型应用包括使用 mermaid-filter 支持 Mermaid 图表渲染。graph TD A[原始 Markdown] --> B[Pandoc Filter 1] B --> C[Pandoc Filter 2] C --> D[Pandoc Filter N] D --> E[DOCX 输出] B -.示例.-> F[mermaid-filter] F --> G[渲染 Mermaid 图表]3. 数据与事实A. 项目数据开发周期：持续开发中，已发布 12 个版本代码贡献者：6 人Fork 数量：260B. 技术栈后端语言：Python（95.1%）构建脚本：Shell（3.9%）打包工具：PyInstaller、Nuitka依赖库：pynput、keyboard、pyperclip 等四、影响分析1. 行业影响A. 提升写作效率PasteMD 解决了 AI 辅助写作中的格式转换痛点，使得用户可以更高效地将 AI 生成的内容整合到文档中，降低了格式调整的时间成本。B. 推动工具集成该项目展示了 AI 工具与传统办公软件深度集成的可能性，为类似效率工具的开发提供了参考。2. 用户影响A. 目标用户群体学术论文作者：需要频繁将 AI 生成的数学公式和表格插入 Word 的研究人员内容创作者：从 AI 获取素材并进行二次创作的自媒体作者企业办公人员：需要整理 AI 对话内容到文档的职场人士B. 使用门槛便携版需要用户自行安装 Pandoc，一体化安装包则自带 Pandoc，降低了普通用户的使用门槛。C. 迁移成本安装后即可使用，无需额外配置，热键操作符合用户直觉。3. 技术趋势A. AI 与办公软件融合PasteMD 反映了 AI 工具与传统办公软件深度融合的趋势，未来此类中间工具将有更大需求。B. 开源项目活力该项目在 GitHub 上获得近 4000 Stars，表明用户对这类实用工具的强烈需求，开源社区在解决实际生产力问题方面发挥着重要作用。五、各方反应1. 官方回应项目作者通过 GitHub Issues 与用户保持密切互动，持续修复问题并添加新功能。项目积极接受社区贡献，已有 6 名开发者参与代码贡献。2. 业内评价A. HelloGitHub 推荐PasteMD 被HelloGitHub 平台收录和推荐，作为实用工具项目向更广泛的用户群体推广。B. 社区反馈用户在 GitHub 上积极反馈使用体验，提出功能建议和 Bug 报告，形成了良好的社区氛围。3. 用户反馈A. 正面评价一键操作极大提升了写作效率，解决了长期存在的格式问题智能表格识别功能非常实用，自动判断粘贴到 Excel 还是 Word配置灵活，可适应不同使用场景B. 关注点部分 AI 网站（如 ChatGPT）复制含公式的 Markdown 时，公式仍显示为代码需要 Pandoc 依赖，对不熟悉技术工具的用户有一定门槛六、相关链接1. 项目地址GitHub 仓库：https://github.com/RICHQAQ/PasteMD项目官网：https://pastemd.richqaq.cn/2. 下载地址Releases 页面：https://github.com/RICHQAQ/PasteMD/releases3. 相关工具Pandoc 官网：https://pandoc.org/Python 官网：https://www.python.org/参考资料
pdf2epub-paddle：扫描版 PDF 转 EPUB 工具指南一、概述1. 简介A. 是什么pdf2epub-paddle 是一个基于百度 PaddleOCR 布局分析 API 的扫描版 PDF 转 EPUB 电子书工具。它能够将扫描版 PDF 书籍转换为清晰、可读性强的 EPUB 格式。B. 为什么需要传统 PDF 转换工具在处理扫描版 PDF 时存在以下问题：文字识别准确率低，特别是复杂布局无法智能识别章节结构保留不必要的页眉页脚和页码图片处理能力弱pdf2epub-paddle 通过 PaddleOCR 的布局分析能力解决了这些问题。C. 能做什么智能布局分析：识别段落、标题、图片和表格自动章节分割：根据标题自动将书籍分为章节图片嵌入：保留原 PDF 中的图片清洁输出：移除页眉、页脚和页码断点续传：处理中断后可继续执行速率限制：自动延迟以遵守 API 限制重试机制：自动重试失败的 API 请求2. 前置知识A. 必备技能基本的命令行操作Python 环境管理基础B. 推荐知识OCR（光学字符识别）概念EPUB 电子书格式基础二、核心概念1. 基本术语PaddleOCR：百度飞桨开发的 OCR 工具，提供布局分析 API布局分析：识别文档中的文本区域、图片、表格等元素及其位置关系EPUB：一种开放的电子书标准格式，支持重排文本2. 工作原理graph TD A[扫描版 PDF] --> B[分块读取] B --> C[PaddleOCR API] C --> D[布局分析] D --> E[识别段落/标题/图片] E --> F[章节分割] F --> G[移除页眉页脚] G --> H[生成 EPUB] H --> I[保存断点] I -->|未完成| B I -->|完成| J[输出 EPUB 文件]3. 核心组件PDF 分块处理：默认每 5 页为一个块，确保稳定性API 客户端：调用 PaddleOCR 布局分析接口章节识别：基于标题模式自动分割章节EPUB 生成器：将处理后的内容打包为 EPUB 格式三、环境准备1. 系统要求Python 3.8 或更高版本网络连接（调用 PaddleOCR API）PaddleOCR API Token2. 获取 API TokenA. 注册账号登录百度 AIStudio（飞桨星河社区）B. 找到 API进入"Applications"或"Online Models"板块，找到布局解析相关的 PaddleOCR APIC. 复制 Token从用户资料或应用设置中复制私人 API Token，注意确保有足够的配额（页/天）四、安装与使用1. 推荐方式：使用 uvuv 是一个快速的 Python 包管理器，本项目使用它进行依赖管理。A. 安装 uv在 macOS/Linux 上：curl -LsSf https://astral.sh/uv/install.sh | shB. 克隆仓库git clone https://github.com/jarodise/pdf2epub-paddle.git cd pdf2epub-paddleC. 运行转换export PADDLE_API_TOKEN='your_api_token_here' uv run pdf2epub_paddle.py /path/to/your/book.pdf2. 传统方式：使用 pipA. 创建虚拟环境python -m venv .venv source .venv/bin/activateB. 安装依赖pip install .C. 运行转换export PADDLE_API_TOKEN='your_api_token_here' python pdf2epub_paddle.py /path/to/your/book.pdf五、配置说明1. 分块大小默认值：每块 5 页作用：确保 API 调用稳定性调整：如网络稳定且 API 限额较高，可在脚本中修改 CHUNK_SIZE2. 超时设置默认值：每个请求 180 秒适用场景：处理复杂页面或网络较慢时六、功能特性详解1. 智能章节分割工具根据标题模式（如"Chapter 1"、"Part I"等）自动将书籍分割为章节。这确保生成的 EPUB 具有良好的导航结构。2. 断点续传机制处理完每个块后自动保存进度，如遇中断（网络问题、API 限流等），重新运行即可从断点继续。3. 速率限制与重试内置延迟机制避免超过 API 速率限制，失败请求自动重试，提高转换成功率。4. 清洁输出自动识别并移除页眉、页脚、页码等干扰元素，提供更纯净的阅读体验。七、工作流程1. 完整转换流程sequenceDiagram participant U as 用户 participant S as 脚本 participant P as PDF 文件 participant A as PaddleOCR API participant E as EPUB 输出 U->>S: 运行脚本指定 PDF S->>P: 读取前 5 页 S->>A: 发送布局分析请求 A-->>S: 返回识别结果 S->>S: 解析段落/标题/图片 S->>S: 章节分割 S->>S: 保存断点 S->>P: 读取下一块 S->>A: 继续请求 Note over S,E: 循环直到全部完成 S->>E: 生成 EPUB 文件 S-->>U: 返回完成结果八、使用建议1. API 配额管理提前确认每日配额是否足够大文件可分批处理，避免单日耗尽配额2. 网络稳定性网络不稳定时建议使用较小的 CHUNK_SIZE长时间转换可能需要考虑网络中断情况3. 质量检查转换完成后使用电子书阅读器检查效果特别关注图片质量、章节导航是否正确九、常见问题1. API 调用失败原因：网络问题、配额不足、Token 无效解决：检查网络连接确认 API Token 是否正确查看配额是否充足2. 转换中断原因：网络中断、程序异常解决：重新运行命令，程序会从断点继续3. 章节识别不准确原因：标题格式不符合常规模式解决：可能需要手动调整或等待后续版本支持自定义模式十、项目信息开源协议：MIT License项目地址：https://github.com/jarodise/pdf2epub-paddle依赖管理：uv（推荐）或 pip主要语言：Python 100%参考资料pdf2epub-paddle GitHub RepositoryBaidu PaddleOCR Documentationuv - Fast Python Package Installer
Nanobot 超轻量级个人 AI 助手技术分析一、新闻概述1. 标题Nanobot：仅 4000 行代码的超轻量级个人 AI 助手发布2. 发布时间2025 年 2 月 1 日3. 来源GitHub 开源项目二、核心内容1. 事件摘要A. 主要内容HKUDS 团队发布了 nanobot，一个超轻量级的个人 AI 助手项目，受到 Clawdbot 项目启发。B. 核心亮点超轻量级：仅约 4000 行代码实现核心 Agent 功能代码精简度：比 Clawdbot 的 43 万行代码减少 99%研究友好：代码清晰易读，便于理解和扩展快速启动：最小化占用，更快启动和迭代2. 关键信息A. 版本号当前版本：0.1.3.post3B. 重要数据代码行数：约 4000 行代码精简度：99%（相比 Clawdbot）GitHub Stars：216Forks：24开发语言：Python（91.4%）、TypeScript（4.7%）、Shell（3.1%）C. 涉及产品nanobot-ai（PyPI 包名）3. 背景介绍A. 前置版本/历史nanobot 是受到 OpenClaw 组织的 Clawdbot 项目启发而开发的轻量级替代方案。Clawdbot 功能强大但代码量庞大（43 万行），而 nanobot 旨在通过极简设计提供核心 Agent 功能。B. 相关上下文项目使用 MIT 许可证开源，支持通过 PyPI 直接安装，也可以从源码安装进行开发。三、详细报道1. 主要内容A. 功能更新nanobot 提供四大核心功能模块：全天候实时市场分析：发现、洞察、趋势分析全栈软件工程师：开发、部署、扩展智能日常管理：日程、自动化、组织个人知识助手：学习、记忆、推理B. 技术改进模块化设计：agent、skills、channels、bus 等独立模块多渠道支持：Telegram、WhatsApp 集成灵活配置：支持 OpenRouter、Brave Search 等 API定时任务：内置 Cron 支持C. 安装部署# 从 PyPI 安装 pip install nanobot-ai # 从源码安装（推荐用于开发） git clone https://github.com/HKUDS/nanobot.git cd nanobot pip install -e .2. 技术细节A. 架构设计nanobot 采用了高度模块化的架构设计，将不同功能解耦到独立模块中：graph TB subgraph 用户层 CLI[CLI 命令行] Telegram[Telegram] WhatsApp[WhatsApp] end subgraph 核心层 Agent[Agent 核心] Bus[消息总线] Session[会话管理] end subgraph 能力层 Skills[技能加载器] Tools[内置工具] Memory[持久化记忆] SubAgent[后台任务] end subgraph 接入层 Providers[LLM 提供商] WebSearch[网络搜索] Cron[定时任务] Heartbeat[主动唤醒] end CLI --> Agent Telegram --> Bus WhatsApp --> Bus Bus --> Agent Agent --> Skills Agent --> Tools Agent --> Memory Agent --> SubAgent Skills --> Providers Skills --> WebSearch Agent --> Cron Agent --> HeartbeatB. 项目结构nanobot/ ├── agent/ # 核心代理逻辑 │ ├── loop.py # Agent 循环（LLM ↔ 工具执行） │ ├── context.py # 提示词构建器 │ ├── memory.py # 持久化记忆 │ ├── skills.py # 技能加载器 │ ├── subagent.py # 后台任务执行 │ └── tools/ # 内置工具（包括 spawn） ├── skills/ # 打包的技能（github、weather、tmux 等） ├── channels/ # WhatsApp 集成 ├── bus/ # 消息路由 ├── cron/ # 定时任务 ├── heartbeat/ # 主动唤醒 ├── providers/ # LLM 提供商（OpenRouter 等） ├── session/ # 会话会话 ├── config/ # 配置 └── cli/ # 命令行C. 工作流程nanobot 的 Agent 循环实现了典型的 LLM Agent 交互模式：sequenceDiagram participant U as 用户 participant A as Agent Loop participant L as LLM 提供商 participant T as 工具/技能 participant M as 记忆 U->>A: 发送消息 A->>M: 检索上下文 M-->>A: 返回历史 A->>A: 构建提示词 A->>L: 调用 LLM L-->>A: 返回响应 A->>A: 解析工具调用 A->>T: 执行工具 T-->>A: 返回结果 A->>M: 存储记忆 A-->>U: 返回最终响应D. 配置系统nanobot 使用 JSON 格式的配置文件，默认位于 ~/.nanobot/config.json：{ "providers": { "openrouter": { "apiKey": "sk-or-v1-xxx" } }, "agents": { "defaults": { "model": "anthropic/claude-opus-4-5" } }, "webSearch": { "apiKey": "BSA-xxx" } }3. 数据与事实A. 代码规模对比项目代码行数相对大小Clawdbot430,000+100%nanobot~4,0001%B. 开发活跃度贡献者：2 人主要语言：Python 91.4%最新版本：0.1.3.post3（2026-02-02）四、影响分析1. 行业影响A. 技术趋势极简主义设计：用最少代码实现核心功能研究友好：代码可读性强，便于学术研究模块化架构：清晰的分层设计便于扩展B. 竞争格局与 AutoGPT、BabyAGI 等项目相比，nanobot 更注重代码简洁性与 LangChain、LlamaIndex 等框架相比，nanobot 是完整的 Agent 实现与 Clawdbot 相比，nanobot 提供了更轻量的替代方案2. 用户影响A. 现有用户开发者：可以快速理解和修改代码研究人员：适合作为 Agent 研究的基础框架个人用户：可快速部署个人 AI 助手B. 潜在用户对 AI Agent 感兴趣的学习者需要定制化 AI 助手的开发者资源受限环境的用户C. 迁移建议确保有 OpenRouter API Key（或替代的 LLM API）可选配置 Brave Search API 用于网络搜索根据需求选择合适的模型（建议使用 minimax/minimax-m2 降低成本）3. 技术趋势A. 技术方向Agent 框架轻量化模块化设计成为主流多渠道集成能力增强B. 生态影响为 AI Agent 领域提供极简实现参考促进 Agent 框架的教育普及可能催生更多轻量级 Agent 项目五、各方反应1. 官方回应项目团队强调 nanobot 的设计理念是"Research-Ready"（研究就绪），代码清晰易读，便于理解和修改。2. 业内评价A. 专家观点代码精简度令人印象深刻（99% 减少）模块化设计优秀，便于扩展适合作为学习和研究的基础框架B. 社区反馈GitHub 上获得 216 Stars，24 Forks社区活跃度良好，有贡献者参与提供了飞书和微信交流群组3. 用户反馈A. 正面评价安装部署简单快速代码结构清晰，易于理解多渠道支持实用B. 关注点项目仍处于早期阶段功能可能不如大型框架完善需要自行配置 API Key六、相关链接1. 官方资源GitHub 仓库：https://github.com/HKUDS/nanobotPyPI 包页面：https://pypi.org/project/nanobot-ai/下载统计：https://pepy.tech/project/nanobot-ai2. 相关项目Clawdbot（灵感来源）：https://github.com/openclaw/openclawOpenRouter（LLM 提供商）：https://openrouter.ai/Brave Search API：https://brave.com/search/api/3. 技术文档项目 README：https://github.com/HKUDS/nanobot/blob/main/README.md配置说明：~/.nanobot/config.jsonCLI 命令参考：项目文档七、技术路线图nanobot 团队规划了以下未来发展方向：graph LR A[当前版本] --> B[多模态支持] A --> C[长期记忆] A --> D[增强推理] A --> E[更多集成] A --> F[自我改进] B --> B1[图像/语音/视频] C --> C1[永不遗忘] D --> D1[多步规划与反思] E --> E1[Discord/Slack/邮件] F --> F1[从反馈中学习]计划功能列表：多模态：支持图像、语音、视频输入输出长期记忆：永久保存重要上下文更好的推理能力：多步规划和反思机制更多集成：Discord、Slack、邮件、日历自我改进：从反馈和错误中学习参考资料HKUDS/nanobot GitHub 仓库nanobot PyPI 页面Clawdbot 项目
cc-nim Claude Code NVIDIA NIM 免费代理工具技术分析
cc-nim Claude Code NVIDIA NIM 免费代理工具技术分析一、新闻概述1. 标题cc-nim：通过 NVIDIA NIM 免费使用 Claude Code CLI 的开源代理工具2. 发布时间2026 年 1 月 29 日3. 来源GitHub 开源项目二、核心内容1. 事件摘要A. 主要内容cc-nim 是一个开源的轻量级代理服务器，能够将 Claude Code CLI 的 Anthropic API 请求转换为 NVIDIA NIM 格式，从而让用户免费使用 Claude Code 功能。该项目还集成了 Telegram Bot，支持通过手机远程控制 Claude Code 执行任务。B. 核心亮点完全免费使用 Claude Code CLI 功能利用 NVIDIA NIM 提供的每分钟 40 次免费 API 请求支持 Telegram Bot 远程控制可扩展架构，支持添加自定义 Provider 和消息平台基于 Python 开发，使用 uv 包管理器2. 关键信息A. 版本信息项目名称：cc-nim开发语言：Python 100%许可证：MIT LicenseStar 数：60Fork 数：8B. 重要数据NVIDIA NIM 免费 API 限制：40 请求/分钟默认最大 Token 数：81920最大并发 CLI 会话数：10C. 涉及技术Claude Code CLINVIDIA NIM APITelegram Bot APIFastAPI/UvicornOpenAI 客户端库3. 背景介绍A. 前置背景Claude Code 是 Anthropic 推出的命令行 AI 编程助手，需要付费使用 Anthropic API。NVIDIA NIM（NVIDIA Inference Microservices）提供免费的 AI 模型推理服务，支持多种开源大语言模型。B. 相关上下文随着 AI 编程工具的普及，开发者对免费或低成本使用这些工具的需求日益增长。cc-nim 项目通过 API 代理的方式，巧妙地将 Claude Code 的请求转发到 NVIDIA NIM，实现了免费使用的目标。三、详细报道1. 主要内容A. 功能特性API 代理功能：将 Anthropic API 请求格式转换为 NVIDIA NIM 格式支持流式响应（Streaming）自动处理速率限制Telegram Bot 集成：远程发送任务给 Claude Code实时显示思考过程（Thinking tokens）显示工具调用执行状态支持 /stop 命令取消运行中的任务可扩展架构：支持添加自定义 Provider（API 提供商）支持添加自定义消息平台（Discord、Slack 等）B. 技术改进项目采用模块化设计，主要目录结构：目录功能api/API 路由和请求处理cli/CLI 会话管理config/配置管理messaging/消息平台抽象层providers/API Provider 抽象层tests/测试用例C. 支持的模型项目支持多种 NVIDIA NIM 上的开源模型：moonshotai/kimi-k2.5z-ai/glm4.7minimaxai/minimax-m2.1mistralai/devstral-2-123b-instruct-2512moonshotai/kimi-k2-thinking（默认）2. 技术细节A. 架构设计graph TB subgraph 用户端 A[Claude Code CLI] B[Telegram App] end subgraph cc-nim 代理服务器 C[FastAPI Server] D[API Router] E[Provider Layer] F[Messaging Layer] G[CLI Session Manager] end subgraph 外部服务 H[NVIDIA NIM API] I[Telegram Bot API] end A -->|Anthropic API 请求| C B -->|消息| I I -->|Webhook| F C --> D D --> E E -->|转换后的请求| H H -->|响应| E F --> G G -->|执行任务| D F -->|发送结果| IB. 请求转换流程sequenceDiagram participant CC as Claude Code CLI participant Proxy as cc-nim Proxy participant NIM as NVIDIA NIM API CC->>Proxy: Anthropic API 请求 Note over Proxy: 解析请求格式 Note over Proxy: 转换为 NIM 格式 Proxy->>NIM: OpenAI 兼容请求 NIM-->>Proxy: 流式响应 Note over Proxy: 转换响应格式 Proxy-->>CC: Anthropic SSE 格式C. 配置参数参数说明默认值NVIDIA_NIM_API_KEYNVIDIA API 密钥必填MODEL使用的模型moonshotai/kimi-k2-thinkingNVIDIA_NIM_BASE_URLNIM API 端点https://integrate.api.nvidia.com/v1CLAUDE_WORKSPACEAgent 工作目录./agent_workspaceALLOWED_DIR允许访问的目录""MAX_CLI_SESSIONS最大并发会话数10TELEGRAM_BOT_TOKENTelegram Bot Token""ALLOWED_TELEGRAM_USER_ID允许的用户 ID""NVIDIA_NIM_RATE_LIMITAPI 请求限制40NVIDIA_NIM_RATE_WINDOW限制窗口（秒）60NVIDIA_NIM_TEMPERATURE模型温度1.0NVIDIA_NIM_MAX_TOKENS最大生成 Token819203. 数据与事实A. 项目活跃度首次提交：2026 年 1 月 29 日最新提交：2026 年 2 月 1 日提交频率：高度活跃（3 天内多次更新）B. 技术栈运行时：Python 3.x包管理：uvWeb 框架：FastAPI + UvicornHTTP 客户端：OpenAI Python SDK测试框架：pytest四、影响分析1. 行业影响A. 技术趋势该项目展示了通过 API 代理实现工具互操作的技术模式。随着各大厂商推出兼容 OpenAI API 格式的服务，这种代理转换方案将越来越普遍。B. 生态影响降低了 AI 编程工具的使用门槛促进了开源 AI 模型的应用为开发者提供了更多选择2. 用户影响A. 目标用户希望免费使用 Claude Code 功能的开发者需要远程控制 AI 编程助手的用户对 AI 工具集成有需求的团队B. 使用场景本地开发环境中使用 Claude Code通过 Telegram 远程执行编程任务在服务器上部署 AI 编程助手C. 注意事项依赖 NVIDIA NIM 的免费额度限制需要自行部署和维护代理服务模型能力可能与原版 Claude 有差异3. 技术趋势A. API 代理模式这种通过代理转换 API 格式的方式，为工具互操作提供了新思路。未来可能出现更多类似的适配层项目。B. 远程控制集成Telegram Bot 集成展示了 AI 工具与即时通讯平台结合的可能性，为移动办公场景提供了便利。五、快速开始1. 环境准备A. 获取 NVIDIA API Key访问 https://build.nvidia.com/settings/api-keys 获取免费 API 密钥。B. 安装依赖安装 Claude Code：https://github.com/anthropics/claude-code安装 uv 包管理器：https://github.com/astral-sh/uv2. 安装配置# 克隆项目 git clone https://github.com/Alishahryar1/cc-nim.git cd cc-nim # 复制配置文件 cp .env.example .env编辑 .env 文件：NVIDIA_NIM_API_KEY=nvapi-your-key-here MODEL=moonshotai/kimi-k2-thinking3. 启动服务终端 1 - 启动代理服务器：uv run uvicorn server:app --host 0.0.0.0 --port 8082终端 2 - 运行 Claude Code：ANTHROPIC_BASE_URL=http://localhost:8082 claude4. Telegram Bot 配置（可选）A. 创建 Bot在 Telegram 中联系 @BotFather发送 /newbot 并按提示操作获取 HTTP API TokenB. 配置环境变量TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ ALLOWED_TELEGRAM_USER_ID=your_telegram_user_id CLAUDE_WORKSPACE=./agent_workspace ALLOWED_DIR=/path/to/your/projectsC. 使用方法发送 /start 启动 Bot发送任意文本开始任务发送 /stop 取消运行中的任务六、扩展开发1. 添加自定义 Provider继承 BaseProvider 类实现自定义 API 提供商：from providers.base import BaseProvider, ProviderConfig class MyProvider(BaseProvider): async def complete(self, request): # 实现 API 调用，返回原始 JSON pass async def stream_response(self, request, input_tokens=0): # 生成 Anthropic SSE 格式事件 pass def convert_response(self, response_json, original_request): # 转换为 Anthropic 响应格式 pass2. 添加自定义消息平台继承 MessagingPlatform 类实现自定义消息平台：from messaging.base import MessagingPlatform from messaging.models import IncomingMessage class MyPlatform(MessagingPlatform): async def start(self): # 初始化连接 pass async def stop(self): # 清理资源 pass async def queue_send_message(self, chat_id, text, **kwargs): # 发送消息 pass async def queue_edit_message(self, chat_id, message_id, text, **kwargs): # 编辑消息 pass def on_message(self, handler): # 注册消息回调 pass七、各方反应1. 社区反馈项目在短短几天内获得了 60 个 Star 和 8 个 Fork，显示出开发者社区对免费 AI 编程工具的强烈需求。2. 技术评价该项目展示了良好的软件工程实践：模块化架构设计完善的配置管理可扩展的 Provider 和 Messaging 抽象包含测试用例八、相关链接1. 项目地址GitHub：https://github.com/Alishahryar1/cc-nim2. 相关资源NVIDIA NIM：https://build.nvidia.com/explore/discoverClaude Code：https://github.com/anthropics/claude-codeuv 包管理器：https://github.com/astral-sh/uv参考资料cc-nim GitHub Repository