119 篇文章带有标签 “python”

智能自动脱敏工具 · 全景指南(规则 / 边界 / 流程 / 图像)

技能image-text-desensitization(别名"智能自动脱敏工具")v3.0.0 主类SmartDesensitizer 能力:覆盖文本 / JSON / 图像三类对象的隐私脱敏,全程本地运行,不联网 安全背书:经腾讯云安全 cloudsec.tencent.com 与腾讯内部 tix.qq.com 扫描,状态均为"安全无风险(benign)"

颜色图例(贯穿全文)

颜色 类型
🟣 紫 手机号
🟠 橙 身份证
🩵 青 邮箱
🟢 绿 银行卡
🔴 红 IP 地址

① 能力总览

该技能是一个被动库——需要显式调用才生效,不会自动拦截对话。它提供三个入口方法:

入口 方法 说明
📝 文本脱敏 desensitize_text(text) 基于 5 条正则逐类替换。已验证可用,纯 Python 即可。
🧾 JSON 脱敏 desensitize_json(json_str) 按字段名命中 + 按值形态智能遮蔽。已验证可用。
🖼️ 图像脱敏 desensitize_image_base64(b64) OCR 文字框 + 人脸检测后高斯模糊。需额外依赖(本地未装)。

② 文本脱敏规则 desensitize_text

源码写死 5 条正则,按固定顺序执行:手机 → 身份证 → 邮箱 → 银行卡 → IP。

语音识别及说话人分离模型(MOSS-Transcribe-Diarize)本地部署最佳实践

基于一次真实落地经历整理:在 Apple M2 Max(64GB 统一内存)上部署 OpenMOSS/MOSS-Transcribe-Diarize(0.9B 端到端音频转写 + 说话人分离),并构建 Web 应用。过程中解决了长音频(30 分钟 / 1–2 小时)在 MPS 上 OOM / 静默卡死的问题。

本文不重复项目能力说明,只讲"怎么把它跑稳、跑长"。能力研究与部署步骤见 README.md,Web 后端实现见 webapp/app.py

0. 一句话结论

不要在 Apple Silicon 上一次性推理超长音频。 端到端音频模型会把整段音频堆叠成一个巨型张量送编码器,自注意力矩阵大小 ∝ 音频长度²,几分钟可以、30 分钟必炸。正确做法是按 ≤300s 分块推理、块间重叠、时间戳偏移拼接、每块后释放 MPS 缓存

1. 部署:把"能跑"变成"稳定跑"

1.1 固定依赖版本,杜绝解析回溯

torch>=2.8 + 未固定版本的 pip install -e . 会让 uv 陷入 version-resolution 回溯死循环(解析到 2.13、多个 transformers 版本,半小时不收敛)。

M2 Max 本地部署 MOSS-Transcribe-Diarize:离线多说话人音频转写 Web 应用完整实战

基于 OpenMOSS/MOSS-Transcribe-Diarize 的本地部署,并构建了一个 Web 应用:用户上传音频/视频,模型自动完成 转写 + 说话人分离(Diarization)+ 时间戳 + 声学事件感知,返回带说话人标签的结构化字幕。

mindmap
  root((MOSS-Transcribe-Diarize<br>本地部署与Web应用))
    模型与能力
      端到端音频理解(0.9B)
      联合ASR与说话人分离
      输出Sxx标签与时间戳
      声学事件感知
      支持50+语言
    部署环境
      Apple Silicon M2 Max
      Python 3.12 + venv
      PyTorch 2.11 + Transformers 5.10
      HF镜像下载
      FastAPI后端 + 静态前端
    长音频处理策略
      自动分块(默认300秒)
      块间重叠(15秒)
      绝对时间偏移与去重
      逐块释放MPS缓存
      跨块标签不对齐(需外部聚类)
    Web应用功能
      拖拽上传音视频
      异步任务轮询
      彩色说话人标签与时间轴
      点击段落定位播放
      导出SRT/JSON/TXT
      一键复制全文
    性能与边界
      RTF小于1(MPS加速)
      单块小于等于300秒稳定
      需注意MPS OOM风险
      支持环境变量调参

一、项目能力研究

定位

MOSS-Transcribe-Diarize 是 OpenMOSS 团队开源的 端到端(end-to-end)音频理解模型,当前版本 0.9B(2026-07-09 开源)。它一次性联合完成「语音识别 + 说话人分离」,而非传统 pipeline(ASR + 独立的 speaker diarization 再对齐)。

  • 2026-07-14 获 INTERSPEECH 2026 第二届 MLC-SLM 挑战赛第一名(覆盖 14 种语言)。
  • 更强版本 MOSS-Transcribe-Diarize Pro 即将以 API 形式提供。

核心能力

能力 说明
长音频多说话人转写 面向会议、电话、播客、访谈、讲座、视频等杂乱多说话人录音
说话人分离(Diarization) 输出一致的说话人标签 [S01] [S02]
时间戳 秒级对齐,格式 [start][Sxx]text[end]
声学事件感知 可选输出,标注非语音声学事件
多语言 支持 50+ 种语言

JiuwenSwarm 架构设计、工作原理与核心模块深度剖析

JiuwenSwarm 是什么?

JiuwenSwarm 是一个华为云开源的分布式 AI 多智能体协同与能力自进化系统。简单说,它是一个让 AI 智能体像团队一样协作、并且越用越聪明的系统。

核心特色

1. 三种执行模式,适配不同场景

模式 怎么工作 适合
Plan 模式 单 Agent 深度推理,自带任务规划 Rail,边思考边执行 复杂任务、多步骤分析
Performance 模式 卸掉规划护栏,直问直答,延迟最低 快速问答、简单查询
Swarm 模式 Leader 拆解任务,组建多 Agent 团队并行协作,可跨机器 大型复杂工作、多角色分工
flowchart LR
    M["用户输入"] --> P{模式选择}
    P -->|agent.plan| A1["单 agent 深度规划<br/>+ task planning rail"]
    P -->|agent.fast| A2["单 agent 快速响应<br/>- heavy rail"]
    P -->|team| A3["leader 拆解任务<br/>+ teammate 分布式执行"]
    A1 --> R["输出结果"]
    A2 --> R
    A3 --> R

2. 可部署可扩展

Gateway + AgentServer 双进程架构,支持:

  • 多用户隔离SessionMap(channel_id, user_id, mode, project_dir) 四元组独立缓存 Agent 实例
  • 多端接入:Web / TUI / 桌面端 / 飞书 / 钉钉 / 企微 / Telegram / Discord
  • 分布式:Swarm 模式下可用 pyzmq + PostgreSQL 跨机协作,Leader 在主节点,Teammate 跑在工作机

3. 技能自进化——越用越聪明

这是最创新的部分。系统不训练模型权重,而是通过一个确定性状态机流水线自动迭代 Skill 定义

audio2sub — 音频转字幕工具

基于 OpenAI Whisper 的命令行工具,将音频文件批量转写为 VTT / SRT 格式字幕。

环境要求

依赖 说明
Python ≥ 3.8
PyTorch Whisper 的运行时依赖,自动安装
openai-whisper 语音识别引擎
ffmpeg 音频解码,系统级安装

安装步骤

1. 安装 ffmpeg

  • macOS:
brew install ffmpeg
  • Ubuntu / Debian:
sudo apt update && sudo apt install ffmpeg

2. 安装 openai-whisper

pip install openai-whisper

该命令会自动拉取 torch 等依赖。首次运行时 Whisper 模型文件会下载到 ~/.cache/whisper/

⚠️ macOS 环境注意事项

使用系统 Python 或 miniconda 安装 whisper:

# miniconda(推荐,已预装 torch)
/opt/miniconda/bin/pip install openai-whisper

# 或系统 Python
/usr/bin/python3 -m pip install openai-whisper

脚本文件

编写文件:audio2sub.py

海量文本去重与相似度检索:从 Jaccard 到 MinHash 的完整技术指南

问题背景:为什么百亿级去重不可能暴力求解?

在互联网大数据场景中,如何从海量数据(如百亿网页、千万级商品描述、巨大的开源代码仓库)中快速找出重复或高度相似的内容?这是一个极其经典的工业界痛点。

最朴素的想法是:对文章进行分词,转成集合后两两比对。若有 NN 篇文档,需要比较 N(N1)2\frac{N(N-1)}{2} 次。当 N=107N = 10^7(一千万)时,比较次数约为 50 万亿次。即便单次比较仅需 1 微秒,也需要 1.6 年 才能跑完。这种 O(N2)O(N^2) 复杂度的算法会导致服务器直接卡死崩溃。

本文将结合数学原理、算法推导与工程实战,深入拆解 Jaccard 相似度 的直觉陷阱,以及 MinHash(最小哈希) 算法如何对高维稀疏数据完成降维打击,最终给出可直接落地的工业级实现方案。

一、Jaccard 相似度:精准度量及其直觉陷阱

Jaccard 相似度(Jaccard Similarity) 是衡量两个集合重合度的标准数学方法。其核心思想非常直观:看两个集合的交集(共同拥有的元素)占它们并集(总共拥有的元素)的比例。

数学公式定义为:

J(A,B)=ABABJ(A, B) = \frac{|A \cap B|}{|A \cup B|}

1. 经典直觉陷阱:为什么你常常会算错?

彻底搞懂 uv pip、uv add 和 uv tool 的核心区别

在 Python 工具链大洗牌的今天,Astral 团队推出的 uv 已经成为了无可争议的“速度之王”。它不仅能用 Rust 带来百倍的速度提升,还展现出了统一 Python 生态的野心。

然而,很多刚从 pippoetry 迁移过来的开发者,在看到 uv pipuv adduv tool 这三个都在“装包”的命令时,难免会产生疑问:它们难道不是重合的吗?为什么装个包还要分三种命令?

我们就来彻底拆解这三者的设计哲学和应用场景,帮你建立起最清晰的 uv 工作流。

💡 一分钟核心速览

其实,这是 uv 为了彻底解决 Python 长期以来“全局环境污染”“虚拟环境混乱”以及“工具与项目依赖混淆”等痛点,而设计的三套完全独立的工作流。

命令 对应传统工具 管理的目标对象 核心作用
uv pip pip / pip-tools 底层虚拟环境中的包 作为原生 pip 的超快替代品,直接向当前激活的环境中塞入依赖。
uv add poetry add / pdm add 当前声明式项目的依赖 现代项目管理工作流。自动管理 pyproject.tomluv.lock
uv tool pipx 全局可执行工具(如 ruff, black 在完全隔离的专用环境中安装 CLI 工具,并自动暴露到全局,绝不污染项目。

🔍 深度对比:为什么它们不能互相替代?

Reachy Mini 机器人

Reachy Mini

2025年12月买的 Reachy Mini 机器人,近5个月终于到手了。

购买链接

介绍

Reachy Mini 是由法国机器人公司 Pollen Robotics 开发的一款开源的桌面级人形机器人,旨在为教育、研究和创意项目提供一个灵活且易于使用的平台。Reachy Mini 是 Reachy 机器人的小型版本,具有相似的功能和设计,但体积更小,更适合在桌面环境中使用。

硬件版本

功能特性 Wireless (无线版) Lite (轻量版)
价格 449449 299
电机与机械结构 9 个伺服电机 9 个伺服电机
头部运动 6 自由度 (pitch, roll, yaw, x, y, z) 6 自由度 (pitch, roll, yaw, x, y, z)
身体旋转 ±160° ±160°
天线 2 个动力感应天线 2 个动力感应天线
摄像头 广角摄像头 广角摄像头
麦克风 4 麦克风阵列 4 麦克风阵列
扬声器 5W 扬声器 5W 扬声器
板载算力 树莓派 CM 4 (16GB 存储) -
加速计 内置 IMU -
Wi-Fi 连接 支持 -
独立模式 支持 需通过 USB 连接控制
供电方式 电池供电 + 电源适配器 (7.3V / 5A) 仅限电源适配器 (7.3V / 5A)

开箱与初体验 Welcome to Reachy Mini!

三款顶级 AI 智能体架构深度拆解:从 Rust 原生高性能到 Python 极简主义

ZeroClaw:极致性能的 Rust 原生运行时。 凭借 <10ms 冷启动与 <5MB 内存占用,它证明了智能体可以像嵌入式插件一样轻盈。通过 Landlock 内核级沙箱与 Trait 驱动的模块化设计,ZeroClaw 定义了高并发、资源受限环境下的工业级标准。

IronClaw:坚不可摧的安全防御系统。 针对企业级痛点,它构建了包含隐私泄露检测、Docker 容器化隔离与任务状态机的深度防御体系,确保智能体在拥有自主权的同时,不逾越安全红线。

nanobot:大道至简的 Python 扩展框架。 仅用 4000 行代码便实现了基于 Markdown 的“人类可读”记忆系统。它通过 MCP 协议与插件化技能包,展现了极简主义架构下惊人的生态连接力。

ZeroClaw 项目架构设计分析

项目概述

ZeroClaw 是一个Rust 优先的高性能自主智能体运行时,专注于提供安全、高效、可扩展的智能体执行环境。它采用严格的架构设计原则,实现了在资源受限设备上的高性能运行,同时保持了强大的扩展能力。

核心架构特点

SenseVoice

SenseVoice 是具有音频理解能力的音频基础模型,包括语音识别(ASR)、语种识别(LID)、语音情感识别(SER)和声学事件分类(AEC)或声学事件检测(AED)。

SenseVoice

核心功能 🎯

SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测

  • 多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。
  • 富文本识别:
    • 具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。
    • 支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。
  • 高效推理: SenseVoice-Small 模型采用非自回归端到端框架,推理延迟极低,10s 音频推理仅耗时 70ms,15 倍优于 Whisper-Large。
  • 微调定制: 具备便捷的微调脚本与策略,方便用户根据业务场景修复长尾样本问题。
  • 服务部署: 具有完整的服务部署链路,支持多并发请求,支持客户端语言有,python、c++、html、java 与 c# 等。

架构图

  • 语音识别(ASR)
  • 语言识别(LID)
  • 语音情感识别(SER)
  • 音频事件检测(AED,比如笑声、掌声、背景音乐、咳嗽等)
  • 逆文本归一化(ITN)

安装

克隆代码库

SimulStreaming — 实时流式语音识别工具包

SimulStreaming 实现了 Whisper 模型的同步翻译和转录功能(在语音识别领域被称为流式传输)。SimulStreaming 采用了最先进的同步策略 AlignAtt,这使其具备极高的速度和效率。

安装

git clone https://github.com/ufal/SimulStreaming
cd SimulStreaming
pip install -r requirements.txt

从音频文件进行实时模拟

WhisperLiveKit - 实时语音识别

WhisperLiveKit 演示

实时、完全本地化的语音转文本,带说话人识别功能

WhisperLiveKit 架构

构建 WhisperLiveKit

运行 pytorch 容器 - CUDA (JetsonThor)

docker run -it \
    --ipc=host \
    --net=host \
    --runtime=nvidia \
    --name=whisperlivekit \
    -v ~/.cache:/root/.cache \
    -v /models:/models \
    nvcr.io/nvidia/pytorch:25.10-py3 \
    bash

生成证书

mkdir -p .cert && cd .cert

openssl req -x509 -newkey rsa:4096 \
  -keyout key.pem \
  -out cert.pem \
  -days 365 \
  -nodes \
  -subj "/C=CN/ST=ShanDong/L=JiNan/O=LNSoft/OU=LNSoft/CN=localhost/emailAddress=wjj@163.com"

参数解释:

  • -x509:生成自签名证书
  • -newkey rsa:4096:新建 4096 位 RSA 密钥
  • -keyout key.pem:输出私钥文件
  • -out cert.pem:输出证书文件
  • -days 365:证书有效期 365 天
  • -nodes:不加密私钥(即无需输入密码)
  • -subj:直接指定证书主题,跳过交互式输入

探索多模态大模型 GLM-4.1V-Thinking

本文档介绍了多模态大模型GLM-4.1V-Thinking,这是一个基于 GLM-4-9B-0414 的开源视觉语言模型,通过强化学习显著提升了其性能。文档详细阐述了该模型在设计图转代码(Design2Code)任务上的卓越表现,能将设计图转换为高质量的HTML/CSS代码,并提供了与Qwen-2.5-VL-32B-Instruct的对比示例。此外,资源还展示了如何通过智谱API免费使用GLM-4.1V-Thinking进行图像识别,并给出了一个安全检测系统的代码示例,该系统能够识别图像中的火灾、烟雾以及人员安全帽佩戴情况,并进行坐标标注,强调了模型在实际应用中的潜力。

模型介绍

基于 GLM-4-9B-0414 基座模型,我们推出新版VLM开源模型 GLM-4.1V-9B-Thinking ,引入思考范式,通过课程采样强化学习 RLCS(Reinforcement Learning with Curriculum Sampling)全面提升模型能力, 达到 10B 参数级别的视觉语言模型的最强性能,在18个榜单任务中持平甚至超过8倍参数量的 Qwen-2.5-VL-72B。 论文 GLM-4.1V-Thinking:通过可扩展强化学习实现通用多模态推理

模型文件

在线体验

基准性能

DXT(桌面扩展)开发指南

本文档主要介绍了 DXT (桌面扩展) 的开发指南,它是一种将 MCP 服务器 转换为可分发扩展的工具。文档详述了如何使用 DXT 工具初始化、验证和打包 扩展,并提供了 目录结构示例。此外,还强调了在打包 Python 依赖项时需要注意的 跨平台兼容性问题,特别是在不同架构(如 arm64 macOS 与 x86_64 Linux)之间。最终目标是创建一个 .dxt 文件,其中包含所有必需的服务器文件和元数据,以便于分发和管理。

graph TD
    A[DXT扩展] -->|打包| B(calculator-mcp-server)
    B -->|元数据和配置| C[manifest.json]
    B -->|实现| D[server/*.py]
    B -->|依赖库| E[server/lib/]
    B -->|图标| F[icon.png]
    
    G[MCPHub] -->|运行| H[MCP Servers]
    H -->|包含| B
    H -->|管理| I[其他 MCP Servers]
    
    J[开发者] -->|开发| B
    J -->|使用| K[DXT工具]
    K -->|初始化| C
    K -->|打包| A
    
    M[用户] -->|上传/安装 DXT扩展| G
    P[MCP客户端] -->|调用| G
    M[用户] -->|使用| P
    
    style A fill:#f9f,stroke:#333
    style G fill:#bbf,stroke:#333
    style B fill:#9f9,stroke:#333
    style K fill:#ff9,stroke:#333
    style P fill:#ccf,stroke:#333

DXT 的核心是包含您的整个 MCP 服务器和 manifest.json 的简单 zip 文件。因此,将本地 MCP 服务器转换为扩展非常直接:您只需将所有必需文件放入一个文件夹,创建一个 manifest.json,然后创建一个压缩包。

DXT 工具

用于构建桌面扩展(Desktop Extensions)的工具。

安装

npm install -g @anthropic-ai/dxt

检查版本

dxt --version
0.2.0

dxt 命令

  • init [选项] [目录]:创建一个新的 DXT 扩展清单
  • validate <清单文件>:验证 DXT 清单文件
  • pack [目录] [输出文件]:将目录打包成 DXT 扩展
  • unpack <dxt文件> [输出目录]:解压 DXT 扩展文件
  • sign [选项] <dxt文件>:签署 DXT 扩展文件
  • verify <dxt文件>:验证 DXT 扩展文件的签名
  • info <dxt文件>:显示 DXT 扩展文件的信息
  • unsign <dxt文件>:从 DXT 扩展文件中移除签名
  • help [命令]:显示指定命令的帮助信息

Desktop Extensions (DXT)

桌面扩展(DXT)是一种 zip 格式的软件包,旨在简化本地 MCP 服务器的安装和分发。它类似于其他应用程序扩展,通过包含一个本地 MCP 服务器及其功能的 manifest.json 文件,允许用户实现一键安装。该项目不仅提供扩展规范和用于创建 DXT 文件的 CLI 工具,还开源了 Claude for macOS and Windows 中用于加载和验证 DXT 扩展的代码,旨在为 MCP 服务器构建一个开放且可移植的生态系统。开发者只需将 MCP 服务器文件、manifest.json 放入文件夹并打包成 .dxt 文件,即可轻松创建扩展,从而方便地在支持 DXT 的应用程序中运行本地 AI 工具。

桌面扩展 (DXT)

桌面扩展 (.dxt) 是一种 zip 压缩包,其中包含一个本地 MCP 服务器和一个 manifest.json 文件,该文件描述了服务器及其功能。其格式在理念上类似于 Chrome 扩展 (.crx) 或 VS Code 扩展 (.vsix),使用户能够一键安装本地 MCP 服务器。

本仓库提供三个组件:MANIFEST.md 中的扩展规范,一个用于创建扩展的 CLI 工具(参见 CLI.md),以及 Claude for macOS and Windows 用于加载和验证 DXT 扩展的代码 (src/index.ts)。

DXT Manifest.json 规范

该文档概述了 DXT Manifest.json 规范,这是一个用于定义扩展元数据和配置的JSON文件标准。它详细说明了 manifest.json 文件的结构,包括 必填字段 如版本、名称、作者和服务器配置,以及 可选字段 如显示名称、描述、存储库信息和屏幕截图。此外,规范还涵盖了 兼容性要求(针对客户端、平台和运行时)、服务器配置(支持Python、Node.js和二进制类型,并允许平台特定覆盖和变量替换),以及 用户可配置选项 的定义和传递方式。最后,文档解释了如何声明扩展提供的 工具和提示,并支持动态生成这些功能。

Manifest 结构

manifest.json 文件包含所有扩展的元数据和配置。大多数字段是可选的。

一个只包含必填字段的基本 manifest.json 如下所示:

FastMCP 实战:构建计算器 MCP 服务器与客户端

该文档详细介绍了如何使用 FastMCP 框架来构建和集成计算器 MCP 服务器与客户端。它首先指导用户初始化并设置开发环境,包括创建虚拟环境和安装 FastMCP。接着,文档展示了MCP 服务器的开发过程,通过 main.py 文件定义了加、减、乘、除、幂等计算工具,并配置了项目元数据文件 pyproject.toml。此外,文档还提供了构建和发布服务器到 PyPI 的步骤,以及运行 MCP 服务器的方法,包括使用 MCP Inspector 进行调试和通过 FastMCP CLI 运行。最后,文档展示了MCP 客户端的开发,演示了客户端如何调用服务器上的工具,并深入探讨了将 MCP 客户端与 OpenAI 集成,实现通过自然语言与计算器服务器进行交互的能力。

创建 MCP 服务器

初始化

uv init calculator-mcp-server
cd calculator-mcp-server

创建虚拟环境

uv venv
Using CPython 3.10.9 interpreter at: /opt/miniconda/bin/python3.10
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

激活虚拟环境

source .venv/bin/activate

MCPHub 自定义服务器配置及内网部署(二)

本文档指导用户构建一个本地 PyPI 源,以便持久化存储 Python 包并进行离线安装。接着,文档说明了自定义 MCPHub 配置,包括定义 MCP 服务器市场中的服务(例如:mcp-server-time, calculator-mcp-server)以及调整 MCPHub 自身的运行时设置,例如指定本地 PyPI 源和用户认证信息。

架构图

graph TD
    subgraph Docker Host
        A[Local PyPI Server] -->|Serves| B[MCPHub]
        B -->|Stores Data| C[PostgreSQL]
        B -->|Reads Config| D[Custom Config Files]
    end

    subgraph A[Local PyPI Server]
        A1[pypiserver Container] --> A2[./pypi_packages Volume]
    end

    subgraph B[MCPHub]
        B1[mcphub Container] --> B2[Registry Volume]
        B1 --> B3[servers.json]
        B1 --> B4[mcp_settings.json]
        B1 --> B5[pip.conf]
    end

    subgraph C[PostgreSQL]
        C1[pgvector Container] --> C2[./postgres Volume]
    end

    subgraph D[Custom Config Files]
        D1[servers.json] --> D2[Server Marketplace]
        D3[mcp_settings.json] --> D4[Runtime Settings]
        D5[pip.conf] --> D6[PyPI Config]
    end

    A -->|Fallback to| E[Official PyPI]
    B -->|Depends On| A
    B -->|Depends On| C

搭建本地 PyPI 源

拉取 pypiserver 镜像

docker pull pypiserver/pypiserver

创建存储 Python 包的目录

Docker 容器是隔离的,容器内的数据默认会随着容器的删除而丢失。为了持久化你的 Python 包,你需要将宿主机上的一个目录挂载到容器内部。

mkdir pypi_packages

下载 mcp-server-time 及其依赖包

把需要部署的 MCP 服务器及其依赖包存储到 pypi_packages 目录中,以便在内网环境中使用。

pip download mcp-server-time --dest ./pypi_packages

最好到 mcphub 容器中进行下载

  • 📌 calculator-mcp-server
pip download calculator-mcp-server --dest /app/registry -i https://pypi.org/simple/ --resume-retries 3