<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[网尘的技术专栏]]></title><description><![CDATA[一位资深系统架构师、70后大龄码农、擅长.net core、微服务、前端Vue、大数据ETL、系统DevOps运维、CentOS等，关注我，和我一起平坑码代码，组团打怪兽。]]></description><link>https://blog.csdn.net/webmote</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; webmote]]></copyright><item><title><![CDATA[用 NVIDIA Nemotron 3 Super + .NET 构建有记忆的多轮对话]]></title><link>https://blog.csdn.net/webmote/article/details/163725902</link><guid>https://blog.csdn.net/webmote/article/details/163725902</guid><author>webmote</author><pubDate>Thu, 13 Aug 2026 14:48:41 +0800</pubDate><description><![CDATA[英伟达免费的大模型Nemotron最大的优点就是免费，可商用以及支持单卡部署，极大降低了大模型私有化的难度，鉴于此，咱们就来尝尝鲜吧。由于我手头没有显卡支持，只好退而求其次，使用英伟达免费的线上模型尝试了...]]></description><category></category></item><item><title><![CDATA[小智设备 WebSocket 语音流控优化实战]]></title><link>https://blog.csdn.net/webmote/article/details/161883790</link><guid>https://blog.csdn.net/webmote/article/details/161883790</guid><author>webmote</author><pubDate>Thu, 11 Jun 2026 11:08:00 +0800</pubDate><description><![CDATA[本文探讨了在AI语音代理服务中实现WebSocket音频流控的设计方案。针对ESP32设备与服务端通信中出现的卡顿问题，提出基于信用额度（credit-based）的流控机制，以解决TCP自带流控在实时语音场景的不足。文章详细分析了协议设计要点，包括独立协商握手、运行期消息类型定义和方向语义规范，强调应用层流控对音频帧时序管理的关键作用。通过对比MQTT+UDP与WebSocket的优劣，解释了选择WebSocket的公网适应性考量，并指出WebRTC在嵌入式设备的实现瓶颈。]]></description><category></category></item><item><title><![CDATA[从零打造虚拟小智：用浏览器模拟 IoT 设备的实践之路]]></title><link>https://blog.csdn.net/webmote/article/details/161725872</link><guid>https://blog.csdn.net/webmote/article/details/161725872</guid><author>webmote</author><pubDate>Fri, 05 Jun 2026 17:55:48 +0800</pubDate><description><![CDATA[本文介绍了虚拟小智模拟器（SimDevice）的开发过程，旨在通过浏览器模拟基于ESP32的AI语音对话设备。开发背景源于硬件调试的效率瓶颈，提出了基于WebSocket/MQTT的浏览器模拟方案，无需真实设备即可测试AI服务。 技术架构采用三层设计：1）前端通过Web Codecs API和ScriptProcessor处理音频编解码；2）ASP.NET Core服务端桥接层（SimDeviceBridge）解决跨域和自定义Header问题；3）后端连接小智AI服务器。重点攻克了OTA激活流程的模拟，以及]]></description><category></category></item><item><title><![CDATA[ESP32 小智设备通讯协议调试实战指南，以及工具开发]]></title><link>https://blog.csdn.net/webmote/article/details/161676423</link><guid>https://blog.csdn.net/webmote/article/details/161676423</guid><author>webmote</author><pubDate>Thu, 04 Jun 2026 10:21:24 +0800</pubDate><description><![CDATA[小智是一款运行嵌入式固件（Esp32）的 AI 硬件设备，通过 WebSocket /MQTT 与后端实时通信——上行发 Opus 音频帧，下行收 TTS 语音和 JSON 控制消息。

开发初期的流程是：改固件 → 烧录 → 连设备 → 靠耳朵判断效果。效率极低，问题复现困难。于是决定做一个 Web 通讯调试平台，直接在浏览器里观察设备通信、发送 TTS、回放录音，把调试循环压缩到秒级。

这篇文章记录整个平台从 0 到生产的关键决策和踩坑过程。]]></description><category></category></item><item><title><![CDATA[【大模型对接】 定制自己的Agent——A2A 对接阿里开发避坑指南]]></title><link>https://blog.csdn.net/webmote/article/details/161461493</link><guid>https://blog.csdn.net/webmote/article/details/161461493</guid><author>webmote</author><pubDate>Wed, 27 May 2026 21:34:09 +0800</pubDate><description><![CDATA[本文介绍了基于.NET开发符合阿里云百炼A2A 0.2.5协议的Agent服务实践。作者通过开发闹钟服务和微信通知两个Agent，详细阐述了技术选型、协议实现和开发过程中的关键问题。文章重点分析了Microsoft.Agents.AI框架的集成要点，包括版本兼容性、命名空间变更等常见陷阱，并展示了从单Agent到多Agent的演进过程。开发中特别强调了协议版本号、JSON序列化规范等细节问题，为.NET开发者接入A2A协议提供了实用参考。]]></description><category></category></item><item><title><![CDATA[从 ESP32-S3 到 AI 多模态：一次嵌入式学习与踩坑之旅]]></title><link>https://blog.csdn.net/webmote/article/details/160861075</link><guid>https://blog.csdn.net/webmote/article/details/160861075</guid><author>webmote</author><pubDate>Thu, 07 May 2026 17:05:45 +0800</pubDate><description><![CDATA[2026年以来，一直沉寂，主要原因有两个：AI和嵌入式。

想做AI相关内容的产品，那么就绕不开嵌入式硬件开发，而嵌入式就是我的短板，几度彷徨，几度放弃，最终还是决定干起来，可能没有专业的嵌入式工程师干得好，但至少会改代码，下载烧录。

而AI的发展更是迅猛，随着claude的应用，几乎可以脱手给这些ai工具去编程，能留下的就是`古法编程非遗传承人`这个头衔了。

不管怎么发展，多学点也许无益收入，但爱好在此，也可以聊慰平生了......]]></description><category></category></item><item><title><![CDATA[【免费】推荐阿里云用户免费领取ESA服务，CDN的升级版]]></title><link>https://blog.csdn.net/webmote/article/details/154568535</link><guid>https://blog.csdn.net/webmote/article/details/154568535</guid><author>webmote</author><pubDate>Sat, 08 Nov 2025 12:07:50 +0800</pubDate><description><![CDATA[阿里云边缘安全加速(ESA)服务提供全球分布式边缘网络支持，包含3200多个节点，为多行业提供网络加速、安全防护和边缘计算解决方案。相比传统CDN，ESA配置更灵活简便，支持实时域名监测。用户可在阿里云官网免费领取1个月试用基础版，国际站用户更可无限次获取Entrance版。作者在文末以轻松幽默的方式号召读者&quot;冲吧&quot;，并互动邀请点赞收藏。文章同时穿插了作者近期因骨折失业，转型自由职业的个人经历。]]></description><category></category></item><item><title><![CDATA[家人们，谁能懂，前端编程最大的痛苦:不是写代码而是编译错误]]></title><link>https://blog.csdn.net/webmote/article/details/150264103</link><guid>https://blog.csdn.net/webmote/article/details/150264103</guid><author>webmote</author><pubDate>Tue, 12 Aug 2025 10:16:36 +0800</pubDate><description><![CDATA[为什么前端人的头发比后端少，🤕很多人以为，程序员秃头是因为熬夜写代码。
错！错！错！
真正让人发量告急的，是编译错误。]]></description><category></category></item><item><title><![CDATA[DeepSeek私域数据训练实战：.NET 9封装Anything LLM API全解析]]></title><link>https://blog.csdn.net/webmote/article/details/148433330</link><guid>https://blog.csdn.net/webmote/article/details/148433330</guid><author>webmote</author><pubDate>Wed, 04 Jun 2025 20:03:58 +0800</pubDate><description><![CDATA[.NET 9封装Anything LLM API实践指南 本文介绍了使用.NET 9框架封装Anything LLM API的开发实践。Anything LLM是一款功能强大的开源LLM管理工具，提供模型管理、知识库构建和对话系统等功能。作者分享了SDK的模块化设计架构，包含核心类结构、初始化配置、HTTP请求处理和统一响应机制。重点展示了认证服务模块的实现，通过HttpClient处理RESTful API调用，并采用JSON序列化配置优化性能。文中还提供了错误处理和日志记录的最佳实践，为开发者集成AI能]]></description><category></category></item><item><title><![CDATA[【自爆】搭建AI环境学习需要花费多少成本？——为了学习Deepseek，我搞了个大家伙~~~]]></title><link>https://blog.csdn.net/webmote/article/details/148256188</link><guid>https://blog.csdn.net/webmote/article/details/148256188</guid><author>webmote</author><pubDate>Wed, 28 May 2025 07:45:00 +0800</pubDate><description><![CDATA[本文记录了作者从零开始搭建本地AI模型（DeepSeek）的完整历程。文章首先阐述了选择本地部署的三大原因：隐私保护、成本可控和低延迟。随后详细介绍了硬件配置方案（RTX 4090显卡+64GB内存），Windows环境下通过Ollama工具快速部署模型的步骤，以及使用ChatboxAI和AnythingLLM实现对话交互与私有数据训练的实践。作者分享了3.4万元的硬件投入明细，并建议初学者可先通过云服务体验再考虑本地部署。最后展望了多卡系统升级和应用场景拓展计划，强调掌握核心AI技术的价值。全文以&quo]]></description><category></category></item><item><title><![CDATA[从小白到大神——.NET下理解注入服务的作用域概念]]></title><link>https://blog.csdn.net/webmote/article/details/146418463</link><guid>https://blog.csdn.net/webmote/article/details/146418463</guid><author>webmote</author><pubDate>Fri, 21 Mar 2025 15:06:31 +0800</pubDate><description><![CDATA[首先，让我们回顾一下依赖注入的基本概念。依赖注入是一种设计模式，它允许我们将对象的创建和依赖关系的管理从代码中分离出来。简单来说，就是让你的代码更加灵活、可测试和可维护。在.NET中，依赖注入是通过接口和类来实现的。我们可以通过来注册服务，然后通过来获取这些服务的实例。在某些情况下，我们可能需要自定义服务的作用域。例如，我们可能希望某个服务在特定的条件下才创建实例，或者在特定的条件下才释放实例。自定义服务工厂我们可以使用AddScoped和方法的另一个重载来注册自定义服务工厂。]]></description><category></category></item><item><title><![CDATA[分布式服务的链式日志跟踪基础——理解和使用DiagnosticSource和 DiagnosticListener]]></title><link>https://blog.csdn.net/webmote/article/details/146224142</link><guid>https://blog.csdn.net/webmote/article/details/146224142</guid><author>webmote</author><pubDate>Thu, 13 Mar 2025 11:26:19 +0800</pubDate><description><![CDATA[.NET 中有多种日志记录诊断信息的机制，包括 `TraceSource`、`EventSource`、`ILogger` 和 `DiagnosticSource`（本文的重点）。

`TraceSource` 是一种较旧的选项，已很少用于新代码。`ILogger` 是一种简单的结构化日志记录抽象，适用于许多应用程序，但在某些情况下（例如类库项目的开发）需要额外的库依赖。

`EventSource` 和 `DiagnosticSource` 之间的区别较为微妙，并没有明确的指导来说明何时选择哪种方式。不过]]></description><category></category></item><item><title><![CDATA[在 IIS 中怎么设置程序环境变量，而无需重启？]]></title><link>https://blog.csdn.net/webmote/article/details/146204208</link><guid>https://blog.csdn.net/webmote/article/details/146204208</guid><author>webmote</author><pubDate>Wed, 12 Mar 2025 14:36:20 +0800</pubDate><description><![CDATA[方法作用范围适用场景主要缺点系统环境变量影响所有进程简单通用影响过大注册表修改 W3SVC/WAS仅影响 IIS更精确的控制需要重启 IIS精细控制应用池适用于特定 App Pool配置管理复杂IIS UI 配置适用于个别应用可视化管理过于繁琐appcmd.exe适用于自动化可脚本化管理语法较晦涩如果你希望设置环境变量影响整个系统，使用系统环境变量方法；如果你只想影响IIS 相关进程，使用注册表修改；如果你需要针对特定应用池，使用或IIS UI。]]></description><category></category></item><item><title><![CDATA[.net 奇葩问题调试经历之4——ThreadAbortException引发的无限循环问]]></title><link>https://blog.csdn.net/webmote/article/details/146203372</link><guid>https://blog.csdn.net/webmote/article/details/146203372</guid><author>webmote</author><pubDate>Wed, 12 Mar 2025 14:00:56 +0800</pubDate><description><![CDATA[在.NET里，如果你想搞点并行/并发编程，通常会用到Task这些现代编程神器。不过，有些时候你可能还是会手动管理线程，比如调用**Thread.Start()**之类的。但说实话，现在直接操作线程的场景已经不多了。大多数情况下，你应该用Task和ThreadPool来调度任务，用来处理异步操作。不过，如果你真的有一个正在运行的线程，而你又想让它“停下来”，通常会使用这种“合作式取消”机制。但有时候，你可能控制不了线程里的代码（比如第三方库），这时候你就得祭出“核武器”——。只在里有效，]]></description><category></category></item><item><title><![CDATA[.net 奇葩问题调试经历之3——使用了grpc通讯类库后，内存一直增长......]]></title><link>https://blog.csdn.net/webmote/article/details/146049452</link><guid>https://blog.csdn.net/webmote/article/details/146049452</guid><author>webmote</author><pubDate>Wed, 05 Mar 2025 19:08:14 +0800</pubDate><description><![CDATA[回顾整个内存持续增长问题的排查历程，历经诸多曲折与挑战。但路虽远行则将至、事虽难做则必成,虽然很难熬，但一定要扛过来。从最初的代码审查和内存分析，到尝试解决循环引用问题、调整 gRPC 配置，每一步都倾注了大量的时间和精力，但问题始终未能得到解决，压力随之而来，没办法，高技术行业就是如此！直到我们通过全面的性能测试和深入研究.NET 运行时配置，才最终揪出问题的元凶 —— 默认使用的模式。]]></description><category></category></item><item><title><![CDATA[快速上手——.net封装使用DeekSeek-V3 模型]]></title><link>https://blog.csdn.net/webmote/article/details/145469755</link><guid>https://blog.csdn.net/webmote/article/details/145469755</guid><author>webmote</author><pubDate>Thu, 06 Feb 2025 13:17:51 +0800</pubDate><description><![CDATA[通过本文，我们详细介绍了如何使用.NET 9 调用DeepSeek的API进行文本生成。我们从创建项目、安装必要的NuGet包，到编写代码、运行实例，一步步展示了整个过程。此外，我们还介绍了DeepSeek的API收费模式，帮助开发者更好地了解如何控制成本。在新的一年里，AI技术将继续引领创新潮流。希望本文能为你提供一些启发，帮助你在AI领域取得更大的成就。祝大家新年快乐，技术更上一层楼！你学废了吗？]]></description><category></category></item><item><title><![CDATA[Fabric.js 入门教程：扩展自定义对象的完整实践（V6）]]></title><link>https://blog.csdn.net/webmote/article/details/144699526</link><guid>https://blog.csdn.net/webmote/article/details/144699526</guid><author>webmote</author><pubDate>Tue, 24 Dec 2024 18:16:44 +0800</pubDate><description><![CDATA[Fabric.js 是一个功能强大的 HTML5 Canvas 库，用于构建交互式、可编辑的图形应用程序。本篇文章将通过逐步扩展 Fabric.js 的对象，创建一个名为ComNode的自定义节点组件，帮助读者从入门到精通 Fabric.js 的对象扩展功能。访问， 下面全部代码可在内访问。ComNodeFabric.js 使用属性作为核心控制点。我们将添加icon// 自定义属性Fabric.js 提供了控制点功能，可以通过定义。示例中使用静态方法覆盖_render。]]></description><category></category></item><item><title><![CDATA[做一个FabricJS.cc的中文文档网站——面向markdown编程]]></title><link>https://blog.csdn.net/webmote/article/details/143980230</link><guid>https://blog.csdn.net/webmote/article/details/143980230</guid><author>webmote</author><pubDate>Fri, 22 Nov 2024 19:01:46 +0800</pubDate><description><![CDATA[世界变化真的好快，从asp，php的后端构建WEB，到现在流行的前后端分离，甚至于最近逐渐火热的前端全栈，感觉技术就是一个圆圈，又一次体会了分久必合，合久必分的伟大预言。大家有没有玩过Vite Press，这整个一面向MarkDown编程，最后生成静态WEB，再次回到了html的原生起点。不过这次使用的不是Press，但也是vite生态圈的一员，Astro这个技术框架，大致原理同Press，都是编译产生HTML静态页面。前端技术真是多啊，何况换在这个卷王时代，不知道各位前端小伙伴换号吗？]]></description><category></category></item><item><title><![CDATA[微软官方重磅发布了《C#13/.NET9中文手册》]]></title><link>https://blog.csdn.net/webmote/article/details/143872252</link><guid>https://blog.csdn.net/webmote/article/details/143872252</guid><author>webmote</author><pubDate>Tue, 19 Nov 2024 09:19:18 +0800</pubDate><description><![CDATA[手册的第三部分是关于如何构建和部署跨平台应用程序的实用指南，包含使用ASP.NET Core 9.0构建Web应用程序的章节，以及利用Xamarin.Forms进行移动应用开发的实战案例。这种清晰而系统的分层次教学，既考虑了入门者的学习需求，也为有经验的开发者提供了深入的技术探讨和实用的项目实践，充分体现了“融合创新”的理念。该手册由微软的技术专家根据最新的.NET9编写，涵盖了从基础到高级的知识，适合不同技术水平的学习者，成为程序开发学习的利器。还好，一大早的没有错过几个亿！以上信息够不够劲爆？]]></description><category></category></item><item><title><![CDATA[【爆】7年开发经验全栈工程师！山东15岁初中生靠开源项目赚数百万]]></title><link>https://blog.csdn.net/webmote/article/details/143503309</link><guid>https://blog.csdn.net/webmote/article/details/143503309</guid><author>webmote</author><pubDate>Tue, 05 Nov 2024 10:57:05 +0800</pubDate><description><![CDATA[据了解，Chat Nio是一个一站式大型语言模型（LLM）管理平台，集成了包括OpenAI、Midjourney、Claude等在内的多个主流大模型和服务，在GitHub上获得了超过3k star。根据他的分享，他就读于山东的重点高中，爬虫、逆向、大数据、前端、后端是他在放学后与信息小组留下来一起学会的，他还在各类赛事中斩获了省、市级的冠军。中考后，项目完成收购交接，“zmh”继续主导项目未来，并同时开展几个新项目，成为CTO。7年开发经验全栈工程师！7年开发经验全栈工程师！7年开发经验全栈工程师！]]></description><category></category></item></channel></rss>