自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

m0_56366541的博客

这是代码马喽githubczy的博客!

  • 博客(108)
  • 收藏
  • 关注

原创 远端沙箱 HTTP 长轮询能力-下篇

HTTP长轮询适合小规模、网络复杂场景,但受Redis连接池限制;WebSocket适合高并发、低延迟场景,但需管理长连接和心跳。选型依据:规模小选长轮询,并发大选WebSocket。注意网关超时、连接池调节和PubSub订阅逻辑。

2026-09-08 15:08:04 358

原创 远端沙箱 HTTP 长轮询能力设计

远端沙箱执行器将工具执行从服务端路由到用户端侧,通过Redis中转命令与结果,支持HTTP长轮询和WebSocket两种模式。消息协议基于JSON,以request_id关联命令和结果。HTTP长轮询流程包括端侧阻塞拉取命令、执行后回传,服务端订阅结果通道并支持超时取消。安全上实现鉴权与路径校验。

2026-09-08 15:04:28 318

原创 tf-idf讲解

包含某个词的文档数量。例如有 10 个工具描述:其中 9 个包含“工具”其中 2 个包含“搜索”其中 1 个包含“天气”那么:DF(“工具”) = 9DF(“搜索”) = 2DF(“天气”) = 1“逆”就是取倒数(或类似操作)。一个词的 DF 越高,说明它越常见,区分能力越弱;DF 越低,说明它越稀有,区分能力越强。因此 IDF 大致可以定义为:如果 DF = 总文档数(即词出现在所有文档中),则 IDF = log(1) = 0,表示该词没有任何区分能力。

2026-08-25 15:06:27 248

原创 Hermes 工具检索(Tool Search)逻辑分析

tool_call本质上是软件工程中的「懒加载(lazy loading)」:把「工具的 schema 文档」从全量预先加载,改为按需加载。

2026-08-25 15:03:53 453

原创 Agno 本地沙箱实现分析

Agno项目并未实现传统进程级沙箱,而是采用"路径边界+命令白名单+人工确认"的组合机制控制本地环境执行权限。其核心安全措施包括:通过路径规范化检查和符号链接防御确保操作范围受限;拦截危险shell符号并实施命令白名单;关键操作需人工确认(HITL)。项目明确声明这仅是路径作用域边界而非进程隔离,建议对不可信代码应使用容器或VM等真实沙箱环境。安全机制通过多层级工具类实现,其中Workspace类结合读后写校验和超时控制提供最高防护等级。

2026-08-19 15:22:40 179

原创 20260811-mcp最新协议源码拆解

本次更新主要优化了连接协议和进程内通信机制:1)三种连接模式(auto/legacy/modern),支持智能降级和版本指定;2)引入DirectDispatcher实现进程内直接调用,跳过序列化/握手等环节;3)将协议元信息改为每请求携带,支持无握手协商;4)用server/discover替代initialize握手;5)新增基于HTTP头的路由机制,支持网关直接转发;6)实现无状态HTTP传输,单次请求自包含。核心改进在于减少协议开销,提升进程内通信效率,同时保持向后兼容。

2026-08-12 11:06:10 238

原创 MCP 2026-07-28 版本完整变更总结(基于官方博客原文)

摘要:MCP协议迎来重大更新,核心变革为从有状态双向流改为无状态请求/响应模型,涉及路由、缓存、鉴权等全链路升级。主要变化包括:采用无状态协议移除会话机制,引入MRTR多轮往返请求替代服务端推送,优化列表接口缓存能力,升级安全鉴权体系,任务系统转正,并提供12个月过渡期。四大SDK同步更新,主流云厂商已适配新协议。本次更新包含破坏性变更,但提供完整迁移文档和长期兼容支持。

2026-08-11 09:14:30 577

原创 更加优雅的类型检查与传参---mcp源码分析

1.不管选哪个 transport,都会一次性弹出 host、port、sse_path、json_response 等全部几十种参数,分不清哪个参数属于哪种传输方式,极易传错。我们如果要实现一个函数适配多个不同的入口,传统方法就是这样子做,定义一个入口函数,设置动态传入参数。如果想要更加优雅的类型检查与传参,python还提供了另外一种方式给我们使用,2.某个模式根本不需要其他参数,但类型检查器不会报错,运行时多余参数丢进。,底层函数不识别就会静默异常,调试极难。重载 2:transport="sse"

2026-06-10 22:46:35 185

原创 Element Plus表格操作为什么要在 <template> 里再写一个 <template>?

外层<template>= 组件页面结构内层<template>插槽容器,用于接收表格行数据必须写的原因:要使用scope.row获取当前行Vue 语法规定:作用域插槽必须放在<template>上不写就拿不到行数据,按钮无法正常工作它不会多生成 DOM,只是 Vue 的语法结构。

2026-04-07 14:51:27 243

原创 Vue 3 组件生命周期

Vue 组件的生命周期,指的是。在这个过程的不同关键节点,Vue 会自动调用对应的「生命周期钩子函数」,允许开发者在特定时机执行自定义逻辑(如发起请求、操作DOM、清理资源等)。核心逻辑:每个.vue文件就是一个独立组件,浏览器对组件的操作仅3类——,生命周期就是把这3类操作拆分成精确的时间点,供开发者介入。

2026-04-03 14:24:21 642 1

原创 Python 函数式编程利器:Partial 与 ParamSpec 技术解析

partial 是 Pythonfunctools模块中的,核心作用是「冻结」一个函数的部分参数(位置参数或关键字参数),生成一个新的函数,新函数调用时只需传入剩余未被冻结的参数即可,无需重复传入固定参数,本质是对原函数的 “参数预设” 封装。

2026-03-27 17:22:38 423

原创 FastAPI 流式响应核心原理解析(含前端断开感知)

本文基于 FastAPI/Starlette 流式响应源码,结合实际业务接口(`/run` 接口),详细解析流式响应的工作机制、前端断开连接的感知逻辑,以及 ASGI 协议新旧版本的差异,帮助开发者从底层理解流式响应的实现原理。核心业务场景:后端通过 `StreamingResponse` 向前端推送 AI 推理结果、实时事件(SSE 协议),需解决「前端断开连接后,后端及时停止推流、释放资源」的问题。

2026-03-27 17:04:19 542

原创 python源码 @dataclass 详解

原本的dataclasses就是标准的装饰器,我们更加关心的是具体是怎么实现的,在这里将上面这段执行代码中的注释翻译一下,方便大家观看。这两段代码之间唯一的区别是第二段代码中添加上了@dataclass装饰器,其余部分一模一样,但是效果却有着很大的区别。光是目前了解到的就包括MRO,反向MRO,字段类型,类的__方法其实可以理解为类的属性,如何安全的去设置它们。,支持传参实例化、清晰打印、字段值比较,是数据类的 “完整可用状态”反向 MRO就是把 MRO 顺序倒过来,比如上面的例子反向后是。

2026-03-20 11:09:27 382

原创 对fastapi 原生后台任务 background_tasks 的研究

实际上的fastapi中对于BackgroundTasks只是重新super了StarletteBackgroundTasks中的add_tasks函数,直接看StarletteBackgroundTasks的源码。fastapi background_tasks 是引用starlette的background_tasks,然后starlette中实现的代码就几行,直接对着代码啃就行。starlette的background_tasks源码。__ call __:让实例能够像是函数一样调用。

2026-03-16 18:03:38 98

原创 websocket和webhook

Webhook本质上是基于HTTP POST请求的事件通知机制,核心特点是事件驱动和单向通信。当预设事件发生时(如新邮件、支付成功),服务端会向配置好的回调地址发送一个POST请求,通知接收方处理。与WebSocket的双向实时通信不同,Webhook采用短连接模式,请求完成后立即断开。其特殊性主要体现在三个方面:由系统事件自动触发、服务端到服务端的通信方向,以及必须包含验证机制。实际应用中,Webhook并非新技术,而是对POST请求在事件通知场景下的规范化使用方式,通过标准化验证流程确保安全性。开发者可

2026-02-27 17:05:36 820

原创 程序工厂函数与蓝图

from . import main # 导入当前包的main蓝图​# 注意:用@main.app_errorhandler,是全局错误处理;如果用@main.errorhandler,只处理蓝本内的错误​不再用,而是用(蓝图的修饰器);是 “全局生效”,是 “仅蓝本内生效”,这是蓝图错误处理的关键区别。from . import main # 导入main蓝图​# 用@main.route,而不是@app.route路由修饰器换成了蓝图的。

2026-02-26 15:44:08 680

原创 如何实现一个多租户的mcpserver?

摘要:针对需要持续跟踪用户交互的mcpserver实例中多用户信息隔离问题,提出了基于FastMCP框架的解决方案。该方案利用框架自动生成的session_id实现会话隔离,通过会话管理器为每个用户创建独立存储空间,并采用LRU策略管理会话数量。关键技术包括自动会话识别、内存泄漏防护和降级兼容机制,有效解决了多用户数据混淆问题,同时避免了数据库存储的安全风险和身份标识传递的复杂性。

2026-01-22 17:00:18 485

原创 【Nextcloud】轻松搭建个人网盘,摆脱网盘付费限速烦恼!

本文详细介绍了在2核2G Ubuntu服务器上使用Docker Compose部署Nextcloud个人网盘的完整流程。主要内容包括:环境准备、Docker安装、数据目录配置、编写docker-compose.yml文件、容器启动与验证。重点解决了2G内存服务器可能遇到的初始化卡顿问题,并提供了文件上传的多种方法(客户端/网页/命令行)及优化技巧。还详细说明了多账号共享设置,包括内部账号共享和外部链接分享。最后给出了2G内存服务器的优化方案和常见问题排查方法,特别适合家庭用户搭建私有云存储系统。

2025-12-31 11:22:07 1090

原创 【a2ui协议】AI智能体如何安全生成交互界面

A2UI是一种声明式界面协议,旨在解决AI智能体安全生成可视化用户界面的问题。其核心原理是通过JSON格式描述UI结构,客户端用原生组件渲染,实现文本到交互界面的转化。A2UI支持组件抽象、数据绑定和跨平台兼容,适用于chatbot等对话场景,能动态生成表单、列表等15种标准组件。虽然提升了交互体验,但A2UI无法替代传统表单系统,且UI仅存在于当前对话会话中。该协议实现了"服务端定义UI+客户端渲染+实时更新"的闭环交互模式。

2025-12-26 08:55:18 1724

原创 IBM MCP网关的帽子戏法:如何实现的REST2MCP、A2A2MCP、MCP2Tools

入口是。它先按名字把工具 ORM 取出来,做启用/可达性校验,然后根据分派→ 走REST 适配器(我们关心的部分)→ 用 SSE / Streamable HTTP 去调用上游 MCP 服务器 (A2A 还有一支,但与 REST→MCP 无关)“自动读取并注册远端 MCP 工具”*的本质是:**用和“调用远端工具”相同的会话**(on SSE/Streamable),在之后调用*工具枚举 API),再把每个工具映射成你本地的ToolCreate并通过落库。注册后,使用时仍走你的MCP 分支(你已实现),按。

2025-11-04 15:19:40 1369

原创 从文件上传到 MCP 调用:文件标识传递机制的实现原理

在类似于cherry studio这样的平台上,如果直接上传文件,它会直接调用内部的文件处理工具对其进行读取解析成数据流,然后并不会给mcp工具传递数据流,即使你的mcp工具写着能够接受数据流也白搭。后端在完成处理后,将生成结果文件(如 ZIP、JSON、结构化数据等)返回给 MCP,随后再传递给大模型。在大模型生态中,实现文件上传、分析与处理的高效协作,关键在于**“文件标识传递”**机制。一开始的时候我推测外部的mcp文件处理工具和大模型以及智能体之间的交互有两种可能,一是读取了数据流,然后给mcp。

2025-11-04 14:59:55 639

原创 leetdoe 3346-3347 执行操作后元素的最高频率

LeetCode 3347 题解摘要 题目要求对数组进行最多numOperations次操作(每次可调整元素值±k),求操作后数组中出现频率最高的元素的出现次数。 解题思路: 每个元素可调整到区间[nums[i]-k, nums[i]+k] 问题转化为找能使最多元素重合的目标值x 枚举所有可能的x值(从min(nums)-k到max(nums)+k) 使用前缀和快速统计可达x的元素数量 结果取min(可达数量, 原相同值数量+操作次数)的最大值 时间复杂度: O(n + (max(nums)-min(num

2025-10-22 14:59:55 955

原创 使用汉明算法与simhash去重

本文介绍了一个基于Simhash算法的文本去重函数simhash_dedup。该函数通过计算文本的64位Simhash指纹,并使用汉明距离(默认阈值为3)判断内容相似性,有效去除近似重复项。主要参数包括:字典列表(含待比较文本)、内容键名和相似度阈值。核心实现通过异或运算计算哈希差异位数,当差异位数小于阈值时判定为重复。适用于网页爬虫、新闻聚合等需要处理大量相似文本的场景,能够保留语义相似但非重复的内容。示例展示了如何去除只存在标点差异的近似重复文本。

2025-07-04 11:54:47 1183

原创 RRF (Reciprocal Rank Fusion) 排序算法详解

Reciprocal Rank Fusion (RRF) 算法,它是一种用于合并多个排名列表的方法。下面我将详细解释这个算法的工作原理和实现细节。RRF 是一种简单但有效的排名融合技术,它通过将多个排名列表中的项目位置进行加权组合,生成一个统一的排名。它的主要特点是:不需要预先知道各个排名列表的质量对排名靠前的项目给予更高的权重对异常值有较好的鲁棒性: 一个包含多个排名列表的列表,每个子列表都是一个有序的项目集合: 一个常数,用于控制低排名项目的贡献(默认值为60)rrf_scores = {}创建一

2025-07-04 11:27:05 2057

原创 (9/100)每日小游戏平台系列

跳跃小方块(Jumping Square)是一款轻松有趣的休闲小游戏,考验玩家的反应速度和操作技巧。玩家需要控制一个蓝色小方块,通过点击屏幕或按下空格键进行跳跃,躲避从右侧不断出现的障碍物,挑战更高的生存时间。

2025-02-18 09:40:03 600

原创 AI 百炼成神:逻辑回归, 垃圾邮件分类

通过本项目,你了解了如何使用。

2025-02-18 09:22:33 1190

原创 AI 百炼成神:线性回归,预测房价

我们开始第一个项目——。这是一个经典的机器学习入门项目,可以帮助你理解如何使用线性回归模型来预测连续的数值。为了演示线性回归,我们将使用一个常见的房价数据集:波士顿房价数据集(Boston Housing Dataset)。这个数据集包含了多个特征(如房间数、犯罪率、房龄等),并且目标变量是房价。接下来,我们可以使用 Python 的库来实现这个项目。

2025-02-17 13:18:51 2006

原创 (8/100)每日小游戏平台系列

(Whack-a-Mole)是一款经典的休闲游戏,玩家需要点击随机出现的地鼠,以获取分数。游戏时间有限,玩家需要在规定时间内尽可能多地击中地鼠,获得更高的分数。

2025-02-17 13:06:39 421

原创 AI 百炼成神:100 个项目玩转人工智能!

我深知 AI 领域的学习曲线陡峭,因此决定设计一个实践驱动的学习计划,让更多人能够通过一步步的项目实战,逐步掌握 AI 的核心技术。《AI 百炼成神:100 个项目玩转人工智能》是一份系统化的 AI 学习计划,旨在通过 100 个循序渐进的项目,从入门到精通人工智能。该计划涵盖了机器学习、计算机视觉、自然语言处理、强化学习等多个领域,适合希望通过实践掌握 AI 技术的学习者。强化学习、自动驾驶、AI 交易、DeepFake、智能调度等应用。:包括数据处理、图像识别、自然语言处理、强化学习、AI 应用等。

2025-02-16 20:17:49 745

原创 (7/100)每日小游戏平台系列

贪吃蛇(Snake Game)是一款经典的休闲小游戏,玩家控制一条不断移动的蛇,通过吃食物来增长长度,并尽量避免撞墙或撞到自己,以获得更高的分数。:可以增加排行榜、道具系统等功能。:进入游戏后,蛇会自动开始移动。随着得分提高,游戏难度逐渐增加。:经典玩法,操作简单,容易上手。:得分实时更新,失败时弹出提示。后蛇会变长,并且分数增加。,蛇的长度增加,得分+1。

2025-02-16 09:49:39 500

原创 (6/100)每日小游戏平台系列

玩家通过解答字谜来挑战自己的智慧和记忆力。每轮游戏会给出一个字谜,玩家需要根据字谜的提示猜出正确的答案。游戏提供提示功能,帮助玩家逐步接近正确答案。如果答案错误,系统会显示提示并鼓励玩家继续猜。按钮,生成一个新的字谜开始下一轮游戏。如果答案正确,系统会显示:“玩家在输入框中输入答案:“

2025-02-15 09:57:51 490

原创 (5/100)每日小游戏平台系列

数字迷宫游戏是一款基于迷宫探索的益智游戏。玩家从迷宫的起点出发,必须根据迷宫中的数字指示,选择正确的方向,通过迷宫最终到达终点。游戏的目标是尽快找到并到达终点。

2025-02-14 14:01:51 700

原创 (4/100)每日小游戏平台系列

是一款简单有趣的网页小游戏,旨在测试玩家的反应能力和专注度。通过随机高亮的颜色块,玩家需要快速点击正确的颜色,并在限定时间内挑战自己的反应速度。

2025-02-12 16:13:23 677

原创 (3/100)每日小游戏平台系列

在游戏中,你需要记住系统展示的颜色顺序,并按照相同的顺序点击颜色按钮。记忆力越强,得分越高!:当颜色序列较长时,可以尝试将其分为小组(如前两种颜色、后两种颜色),逐步记忆。: 按照系统展示的颜色顺序点击颜色按钮。:记忆力是可以通过练习提升的,多次挑战能帮助你更好地应对更长的序列。: 点击页面上的“开始游戏”按钮,系统会随机生成一段颜色序列。: 系统会依次高亮颜色按钮,请仔细观察并记住颜色的顺序。观察完颜色顺序后,按照记住的顺序依次点击对应的颜色按钮。每轮系统会随机展示颜色按钮的顺序,高亮颜色块以提示。

2025-02-11 17:01:15 575

原创 (2/100)每日小游戏平台系列

新增一个猜单词小游戏!游戏会从一个预设的单词列表中随机选择一个单词。玩家有 6 次机会来猜测单词,每次猜测后,系统会告诉玩家猜测的字母是否正确。玩家可以输入一个字母或一个完整的单词进行猜测。玩家每猜一次后,正确字母会显示在对应位置,错误的字母则会减少一次猜测机会。游戏在玩家猜对单词或者用完所有机会后结束。

2025-02-10 10:01:28 459

原创 (1/100)每日小游戏平台系列

准备开发一个一百天小游戏平台,使用Flask构建的简单游戏导航网站,无需登录,让大家在返工的同时也可以愉快的摸鱼玩耍。每天更新一个小游戏上传,看看能不能坚持一百天。这些小游戏主要使用前端语言进行构建,逻辑运行在前端,Flask 负责后台以及页面导航等功能。

2025-02-09 18:59:46 547

原创 (k8s)k8s部署mysql与redis(无坑版)

在开始之前,要确保我们的节点已经加入网络并且已经准备好,如果没有可以去看我前面发表的踩坑与解决的文章,希望能够帮到你。

2025-01-20 14:21:45 1802

原创 (k8s)部署redis,mysql与tomcat项目,同时干爆了服务器

Kubernetes 需要从能够访问的镜像仓库拉取镜像,而 Docker 本地仓库并不直接被 Kubernetes 访问。

2025-01-10 10:14:19 1083

原创 (k8s)k8s系列之命令手册速查

这是 Flannel DaemonSet 的一个特定 Pod 的名字。在实际环境中,Pod 的名字可能会有所不同。: 这是 Flannel DaemonSet 的一个特定 Pod 的名字。: 这是指定要读取的证书文件路径。在这个例子中,是 Kubelet 客户端的当前证书文件。Kubelet 是 Kubernetes 的一个关键组件,负责管理节点上的容器。选项指定了要查看的容器的名字。: 这个选项表示以人类可读的格式输出证书的详细信息。是用来获取指定 Pod 的详细信息的子命令。选项指定了命名空间,

2025-01-07 13:45:40 902

原创 (k8s)Flannel Error问题解决!

确保的配置中指定了正确的。检查配置,确保其与中的 CIDR 匹配。验证节点的 Pod CIDR 是否已经正确分配。如果仍然存在问题,尝试重新初始化kubeadm集群,确保指定了参数。通过确保在配置中启用和设置合适的,你告诉 Kubernetes 和 Flannel 网络插件如何分配 Pod 的 IP 地址。这样,Flannel 可以正确地为每个节点分配一个子网,并通过 Flannel 网络来连接各个节点的 Pod。这个配置是 Flannel 成功运行和集群内容器之间正常通信的关键。要注意!

2025-01-07 11:28:58 1497

逻辑回归, 垃圾邮件分类.7z

AI 百炼成神:逻辑回归, 垃圾邮件分类项目代码 文章地址:https://blog.youkuaiyun.com/m0_56366541/article/details/145697263

2025-02-18

AI 百炼成神:线性回归,预测房价项目带代码.7z

AI 百炼成神:线性回归,预测房价项目代码 文章在这个地址:https://blog.youkuaiyun.com/m0_56366541/article/details/145680498

2025-02-17

py-flask项目开发-截止日期计算器

py-flask项目开发-截止日期计算器

2022-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除