[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"consumer-news-detail-1010":3,"consumer-news-interaction-1010":39,"consumer-news-related-1010":42},{"detail":4,"item":35},{"card":5,"schemaVersion":22,"fields":23,"content":29},{"id":6,"kind":7,"targetType":8,"targetId":9,"subtype":7,"typeLabel":10,"title":11,"subtitle":12,"summary":13,"coverUrl":14,"badgeText":15,"href":16,"sourceName":12,"meta":17,"metrics":19,"tags":20,"resolved":21},"NEWS_ARTICLE:1010","news","NEWS_ARTICLE",1010,"资讯","SimdPaddleOCR发布——一个纯 C# 的完整 OCR 推理库","博客园","今天正式发布 SimdPaddleOCR（NuGet: Sdcb.SimdPaddleOCR）。这是一个完全用 C# 编写的完整 OCR 推理引擎。它不依赖 Paddle Inference，不依赖 ONNX Runtime，也不需要附带 OpenCV 的原生动态链接库。 如果你现在去翻这个 Git","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F233608\u002F202609\u002F233608-20260906155908909-476674853.png","","\u002Fnews\u002F1010",[18],"2026",{},[],true,"consumer-content-detail-v1",{"sourceName":12,"authorName":24,"summary":13,"description":13,"publishTime":25,"updateTime":26,"sourceUrl":27,"language":28},".NET骚操作","2026-09-07T08:50","2026-09-11T15:22:03","https:\u002F\u002Fwww.cnblogs.com\u002Fsdcb\u002Fp\u002F22863347\u002F20260907-simdpaddleocr-intro","中文",{"format":30,"policy":31,"normalized":21,"html":32,"text":33,"wordCount":34,"hasBody":21},"HTML","NEWS_CONTENT_V1","\u003Cp>今天正式发布 \u003Cstrong>SimdPaddleOCR\u003C\u002Fstrong>（NuGet: \u003Ccode>Sdcb.SimdPaddleOCR\u003C\u002Fcode>）。这是一个完全用 C# 编写的完整 OCR 推理引擎。它不依赖 Paddle Inference，不依赖 ONNX Runtime，也不需要附带 OpenCV 的原生动态链接库。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fi1.wp.com\u002Fimg2024.cnblogs.com\u002Fblog\u002F233608\u002F202609\u002F233608-20260906155908909-476674853.png?w=720&amp;quality=65&amp;strip=all\" alt=\"github-repo\">\u003C\u002Fp>\n\u003Cp>如果你现在去翻这个 GitHub 仓库的侧边栏，会看到语言统计条是纯紫色的——\u003Cstrong>100% C#\u003C\u002Fstrong>。在托管环境里从头跑到尾，没有第二种语言。\u003C\u002Fp>\n\u003Cp>维护 PaddleSharp 和 OpenVINO.NET 这些年，我见过太多项目在生产环境里遇到五花八门的报错。C++ 引擎本身很强，P\u002FInvoke 写起来也不难，真正的痛点永远在\u003Cstrong>部署和分发\u003C\u002Fstrong>：Windows x64 跑通了，换到 Linux ARM 就报错；开发机没问题，客户机缺 \u003Ccode>.so\u003C\u002Fcode>、缺 VC++ 运行时、或者 CPU 指令集不匹配。你以为你只是在调用一个 OCR，实际上你被迫维护了一套跨平台的原生发行矩阵。\u003C\u002Fp>\n\u003Cp>SimdPaddleOCR 的核心目的，就是把 OCR 推理这件脏活累活，彻底拉回我们熟悉的托管世界。没有 native 依赖，就没有“换个环境就跑不起来”的破事。\u003C\u002Fp>\n\u003Ch2>它能做什么？\u003C\u002Fh2>\n\u003Cp>官方的 PaddleOCR 是一个庞大的文档 AI 生态，而这个库的定位非常聚焦：\u003Cstrong>场景 OCR 的端到端推理\u003C\u002Fstrong>。它完整实现了 PP-OCRv6 的 DET（检测） + CLS（方向分类） + REC（识别） 链路。\u003C\u002Fp>\n\u003Cp>为了做到 100% 托管，库里自带了一个轻量级的 C# ONNX 解释器。模型直接打包进程序集资源里，加载时不需要往磁盘解压临时文件。\u003C\u002Fp>\n\u003Cp>还有一点很关键：\u003Cstrong>它的核心 API 只接收纯粹的 8-bit BGR 内存数据。\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>以前做 PaddleSharp 时，为了示例好写，我把图像解码强行绑定在了 OpenCvSharp 上。结果就是，调用方哪怕只是想传个图，也得被迫引入一套 OpenCV 的原生 runtime。\u003C\u002Fp>\n\u003Cp>这一次，选择权完全交还给你。无论你的项目里用的是 ImageSharp、SkiaSharp、OpenCvSharp 还是最古老的 \u003Ccode>System.Drawing\u003C\u002Fcode>，只要把图像转成 BGR 字节数组塞给它，推理就能跑。不越俎代庖去处理文件 IO，也不强绑任何图像库。\u003C\u002Fp>\n\u003Ch2>性能表现\u003C\u002Fh2>\n\u003Cp>大家最关心的肯定是：纯 C# 写的推理，速度会不会很拉垮？\u003C\u002Fp>\n\u003Cp>在这个项目初期，我参考了 \u003Ccode>lw.PPOCR.C\u003C\u002Fcode>（一份非常优秀的纯 C PP-OCRv6 tiny 推理引擎）。经过对 C# 内存布局和 SIMD 指令的深度重构，现在的结论是：\u003Cstrong>在同等模型下，C# 版本的端到端速度比纯 C 版本更快\u003C\u002Fstrong>（当然，代价是托管内存的上涨，这点原生的 C 依然更具优势）。\u003C\u002Fp>\n\u003Cp>GitHub Actions，win-x64，tiny 模型，同一份 99 张测试图（不含 warmup），端到端均值：\u003C\u002Fp>\n\u003Ctable>\n \u003Cthead>\n  \u003Ctr>\n   \u003Cth>workers\u003C\u002Fth>\n   \u003Cth>C#\u003C\u002Fth>\n   \u003Cth>C\u003C\u002Fth>\n   \u003Cth>C 相对 C#\u003C\u002Fth>\n  \u003C\u002Ftr>\n \u003C\u002Fthead>\n \u003Ctbody>\n  \u003Ctr>\n   \u003Ctd>1\u003C\u002Ftd>\n   \u003Ctd>296.6 ms\u003C\u002Ftd>\n   \u003Ctd>485.7 ms\u003C\u002Ftd>\n   \u003Ctd>慢 1.64×\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n   \u003Ctd>4\u003C\u002Ftd>\n   \u003Ctd>168.4 ms\u003C\u002Ftd>\n   \u003Ctd>393.3 ms\u003C\u002Ftd>\n   \u003Ctd>慢 2.34×\u003C\u002Ftd>\n  \u003C\u002Ftr>\n \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>具体它是如何利用 .NET 的 \u003Ccode>Vector&lt;T&gt;\u003C\u002Fcode>、甚至在 Zen 5 上榨取 AVX-512 性能的，我会在周三的连载里放详细的对照表。\u003C\u002Fp>\n\u003Cp>在目标框架上，它同时支持 \u003Ccode>net10.0\u003C\u002Fcode> 和 \u003Ccode>netstandard2.0\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Cul>\n \u003Cli>如果你用最新的 .NET 10，能吃满完整的硬件 SIMD 加速，且完美支持 NativeAOT。\u003C\u002Fli>\n \u003Cli>如果你在维护老旧的 .NET Framework 4.8 遗留系统，它一样能跑。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>(注：当前版本仅支持 CPU 推理，暂无 GPU 计划)\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch2>十分钟跑起来\u003C\u002Fh2>\n\u003Cp>在你的项目里装上核心包和 tiny 中文模型（装 tiny 会自动传递引用方向分类包 \u003Ccode>TextLineOrientation\u003C\u002Fcode>）：\u003C\u002Fp>\n\u003Cpre>\u003Ccode>dotnet add package Sdcb.SimdPaddleOCR\ndotnet add package Sdcb.SimdPaddleOCR.Models.ChineseV6Tiny\n# 这里以 ImageSharp 为例，你也可以换成自己喜欢的解码库\ndotnet add package SixLabors.ImageSharp --version 3.1.11\n\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>一段最基础的 ImageSharp 3 解析图片并进行 OCR 的完整代码：\u003C\u002Fp>\n\u003Cpre>\u003Ccode>using Sdcb.SimdPaddleOCR;\nusing Sdcb.SimdPaddleOCR.Models.ChineseV6Tiny;\nusing SixLabors.ImageSharp;\nusing SixLabors.ImageSharp.PixelFormats;\n\n\u002F\u002F 加载模型（模型在程序集内，直接读取）\nusing PaddleOcrAll ocr = await PaddleOcrAll.LoadAsync(ChineseV6TinyModels.Default);\n\n\u002F\u002F 用第三方库读图并提取 BGR 像素\nusing Image&lt;Bgr24&gt; image = await Image.LoadAsync&lt;Bgr24&gt;(\"sample.jpg\");\nbyte[] bgr = new byte[image.Width * image.Height * 3];\nimage.CopyPixelDataTo(bgr);\n\n\u002F\u002F 核心推理\nPaddleOcrResult result = ocr.Run(bgr, image.Width, image.Height);\nConsole.WriteLine(result.Text);\n\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>(仓库 README 里也提供了 SkiaSharp、OpenCvSharp5 和 WinForms \u003Ccode>LockBits\u003C\u002Fcode> 的跑法代码。)\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch2>包与模型选择\u003C\u002Fh2>\n\u003Ctable>\n \u003Cthead>\n  \u003Ctr>\n   \u003Cth>NuGet 包\u003C\u002Fth>\n   \u003Cth>作用说明\u003C\u002Fth>\n  \u003C\u002Ftr>\n \u003C\u002Fthead>\n \u003Ctbody>\n  \u003Ctr>\n   \u003Ctd>\u003Ccode>Sdcb.SimdPaddleOCR\u003C\u002Fcode>\u003C\u002Ftd>\n   \u003Ctd>纯托管推理核心库（支持 \u003Ccode>net10.0;netstandard2.0\u003C\u002Fcode>）\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n   \u003Ctd>\u003Ccode>Sdcb.SimdPaddleOCR.ModelProvider\u003C\u002Fcode>\u003C\u002Ftd>\n   \u003Ctd>模型契约（通常被自动传递引用）\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n   \u003Ctd>\u003Ccode>Sdcb.SimdPaddleOCR.Models.ChineseV6Tiny\u003C\u002Fcode>\u003C\u002Ftd>\n   \u003Ctd>PP-OCRv6 tiny 模型包\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n   \u003Ctd>\u003Ccode>Sdcb.SimdPaddleOCR.Models.ChineseV6Small\u003C\u002Fcode>\u003C\u002Ftd>\n   \u003Ctd>PP-OCRv6 small 模型包\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n   \u003Ctd>\u003Ccode>Sdcb.SimdPaddleOCR.Models.ChineseV6Medium\u003C\u002Fcode>\u003C\u002Ftd>\n   \u003Ctd>PP-OCRv6 medium 模型包\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n   \u003Ctd>\u003Ccode>Sdcb.SimdPaddleOCR.Models.TextLineOrientation\u003C\u002Fcode>\u003C\u002Ftd>\n   \u003Ctd>文本行方向 CLS 模型包\u003C\u002Ftd>\n  \u003C\u002Ftr>\n \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fi1.wp.com\u002Fimg2024.cnblogs.com\u002Fblog\u002F233608\u002F202609\u002F233608-20260906155916217-917614040.png?w=720&amp;quality=65&amp;strip=all\" alt=\"nuget\">\u003C\u002Fp>\n\u003Cp>建议日常使用无脑选 \u003Cstrong>Tiny\u003C\u002Fstrong>，体积小速度快。如果有更高的字准要求，再往 Small 或 Medium 提。\u003C\u002Fp>\n\u003Cp>当然，如果你本地已经有了自己的 ONNX 文件和字典，核心库也支持直接从本地路径加载，不强求使用模型包。许可证方面为 Apache-2.0，模型来源细节请参考仓库内的 \u003Ccode>THIRD-PARTY-NOTICES.md\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Chr>\n\u003Cp>如果你的 .NET 项目以前因为原生依赖的部署灾难而对 OCR 敬而远之，现在可以试试这个纯托管的解法。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>开源仓库：\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsdcb\u002FSimdPaddleOCR\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\u002F\u002Fgithub.com\u002Fsdcb\u002FSimdPaddleOCR\u003C\u002Fa>\u003Cbr>\u003Cstrong>NuGet 搜索：\u003C\u002Fstrong> \u003Ccode>Sdcb.SimdPaddleOCR\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>喜欢的朋友可以点个 Star，或者在 Issues 里提建议和问题。\u003C\u002Fp>\n\u003Cp>也可以加入 SimdPaddleOCR 微信群：\u003Cimg src=\"https:\u002F\u002Fi1.wp.com\u002Fio.starworks.cc\u002Fcv-public\u002F2026\u002Focr-wxg-qr.png?w=720&amp;quality=65&amp;strip=all\" alt=\"\">\u003C\u002Fp>\n\u003Cp>如果微信过期，请加入 C# \u002F .NET 计算机视觉交流 QQ 群：\u003Cstrong>579060605\u003C\u002Fstrong>。\u003C\u002Fp>","今天正式发布 SimdPaddleOCR（NuGet: Sdcb.SimdPaddleOCR）。这是一个完全用 C# 编写的完整 OCR 推理引擎。它不依赖 Paddle Inference，不依赖 ONNX Runtime，也不需要附带 OpenCV 的原生动态链接库。 如果你现在去翻这个 GitHub 仓库的侧边栏，会看到语言统计条是纯紫色的——100% C#。在托管环境里从头跑到尾，没有第二种语言。 维护 PaddleSharp 和 OpenVINO.NET 这些年，我见过太多项目在生产环境里遇到五花八门的报错。C++ 引擎本身很强，P\u002FInvoke 写起来也不难，真正的痛点永远在部署和分发：Windows x64 跑通了，换到 Linux ARM 就报错；开发机没问题，客户机缺 .so、缺 VC++ 运行时、或者 CPU 指令集不匹配。你以为你只是在调用一个 OCR，实际上你被迫维护了一套跨平台的原生发行矩阵。 SimdPaddleOCR 的核心目的，就是把 OCR 推理这件脏活累活，彻底拉回我们熟悉的托管世界。没有 native 依赖，就没有“换个环境就跑不起来”的破事。 它能做什么？ 官方的 PaddleOCR 是一个庞大的文档 AI 生态，而这个库的定位非常聚焦：场景 OCR 的端到端推理。它完整实现了 PP-OCRv6 的 DET（检测） + CLS（方向分类） + REC（识别） 链路。 为了做到 100% 托管，库里自带了一个轻量级的 C# ONNX 解释器。模型直接打包进程序集资源里，加载时不需要往磁盘解压临时文件。 还有一点很关键：它的核心 API 只接收纯粹的 8-bit BGR 内存数据。 以前做 PaddleSharp 时，为了示例好写，我把图像解码强行绑定在了 OpenCvSharp 上。结果就是，调用方哪怕只是想传个图，也得被迫引入一套 OpenCV 的原生 runtime。 这一次，选择权完全交还给你。无论你的项目里用的是 ImageSharp、SkiaSharp、OpenCvSharp 还是最古老的 System.Drawing，只要把图像转成 BGR 字节数组塞给它，推理就能跑。不越俎代庖去处理文件 IO，也不强绑任何图像库。 性能表现 大家最关心的肯定是：纯 C# 写的推理，速度会不会很拉垮？ 在这个项目初期，我参考了 lw.PPOCR.C（一份非常优秀的纯 C PP-OCRv6 tiny 推理引擎）。经过对 C# 内存布局和 SIMD 指令的深度重构，现在的结论是：在同等模型下，C# 版本的端到端速度比纯 C 版本更快（当然，代价是托管内存的上涨，这点原生的 C 依然更具优势）。 GitHub Actions，win-x64，tiny 模型，同一份 99 张测试图（不含 warmup），端到端均值： workers C# C C 相对 C# 1 296.6 ms 485.7 ms 慢 1.64× 4 168.4 ms 393.3 ms 慢 2.34× 具体它是如何利用 .NET 的 Vector\u003CT>、甚至在 Zen 5 上榨取 AVX-512 性能的，我会在周三的连载里放详细的对照表。 在目标框架上，它同时支持 net10.0 和 netstandard2.0。 如果你用最新的 .NET 10，能吃满完整的硬件 SIMD 加速，且完美支持 NativeAOT。 如果你在维护老旧的 .NET Framework 4.8 遗留系统，它一样能跑。 (注：当前版本仅支持 CPU 推理，暂无 GPU 计划) 十分钟跑起来 在你的项目里装上核心包和 tiny 中文模型（装 tiny 会自动传递引用方向分类包 TextLineOrientation）： dotnet add package Sdcb.SimdPaddleOCR dotnet add package Sdcb.SimdPaddleOCR.Models.ChineseV6Tiny # 这里以 ImageSharp 为例，你也可以换成自己喜欢的解码库 dotnet add package SixLabors.ImageSharp --version 3.1.11 一段最基础的 ImageSharp 3 解析图片并进行 OCR 的完整代码： using Sdcb.SimdPaddleOCR; using Sdcb.SimdPaddleOCR.Models.ChineseV6Tiny; using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; \u002F\u002F 加载模型（模型在程序集内，直接读取） using PaddleOcrAll ocr = await PaddleOcrAll.LoadAsync(ChineseV6TinyModels.Default); \u002F\u002F 用第三方库读图并提取 BGR 像素 using Image\u003CBgr24> image = await Image.LoadAsync\u003CBgr24>(\"sample.jpg\"); byte[] bgr = new byte[image.Width * image.Height * 3]; image.CopyPixelDataTo(bgr); \u002F\u002F 核心推理 PaddleOcrResult result = ocr.Run(bgr, image.Width, image.Height); Console.WriteLine(result.Text); (仓库 README 里也提供了 SkiaSharp、OpenCvSharp5 和 WinForms LockBits 的跑法代码。) 包与模型选择 NuGet 包 作用说明 Sdcb.SimdPaddleOCR 纯托管推理核心库（支持 net10.0;netstandard2.0） Sdcb.SimdPaddleOCR.ModelProvider 模型契约（通常被自动传递引用） Sdcb.SimdPaddleOCR.Models.ChineseV6Tiny PP-OCRv6 tiny 模型包 Sdcb.SimdPaddleOCR.Models.ChineseV6Small PP-OCRv6 small 模型包 Sdcb.SimdPaddleOCR.Models.ChineseV6Medium PP-OCRv6 medium 模型包 Sdcb.SimdPaddleOCR.Models.TextLineOrientation 文本行方向 CLS 模型包 建议日常使用无脑选 Tiny，体积小速度快。如果有更高的字准要求，再往 Small 或 Medium 提。 当然，如果你本地已经有了自己的 ONNX 文件和字典，核心库也支持直接从本地路径加载，不强求使用模型包。许可证方面为 Apache-2.0，模型来源细节请参考仓库内的 THIRD-PARTY-NOTICES.md。 如果你的 .NET 项目以前因为原生依赖的部署灾难而对 OCR 敬而远之，现在可以试试这个纯托管的解法。 开源仓库： https:\u002F\u002Fgithub.com\u002Fsdcb\u002FSimdPaddleOCR NuGet 搜索： Sdcb.SimdPaddleOCR 喜欢的朋友可以点个 Star，或者在 Issues 里提建议和问题。 也可以加入 SimdPaddleOCR 微信群： 如果微信过期，请加入 C# \u002F .NET 计算机视觉交流 QQ 群：579060605。",2851,{"id":6,"kind":7,"title":11,"summary":13,"image":14,"href":16,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":38},"#2563eb","16 \u002F 10",[7,8],{"targetType":8,"targetId":9,"likedByMe":40,"likeCount":41,"commentCount":41,"contentLikeCount":41,"contentCommentCount":41,"sourceLikeCount":41,"sourceCommentCount":41},false,0,[43,52,58,64,73,80,86,93],{"id":44,"kind":7,"title":45,"summary":46,"image":47,"href":48,"meta":49,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":50},"NEWS_ARTICLE:927","HelloCrab - 短视频开源爬虫，仅供学习参考","HelloCrab 基于 Avalonia、Playwright、AI与 FFmpeg 的跨平台桌面采集器，支持9大平台，以及 Android、iOS、Browser 远程控制端。 Made By ChatGPT &amp; Vincent with ❤ 平台 是否接入 哔哩哔哩 ✅ 抖音 ✅ 快手","https:\u002F\u002Fwww.cnblogs.com\u002Fhupo376787\u002Fp\u002FScreenshot\u002FWindows.jpg","\u002Fnews\u002F927","2026 · 软件开发",[51],"软件开发",{"id":53,"kind":7,"title":54,"summary":55,"image":15,"href":56,"meta":49,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":57},"NEWS_ARTICLE:929",".NET 异常处理的\"暗门\"：代码里写满 catch，你依然能抓住它——从一个 AI Agent 运行时的源码说起","一个健壮的系统，必然到处都是有意的 catch；异常被消化不等于问题不存在。 观测与韧性，是一个硬币的两面——降级逻辑保证系统不崩，FirstChance 保证你能看见它为什么降级。","\u002Fnews\u002F929",[51],{"id":59,"kind":7,"title":60,"summary":61,"image":15,"href":62,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":63},"NEWS_ARTICLE:928","架构师化繁为简，执行者化简为繁","新手改三天，你改三行——反而是你显得更不重要。因为化繁为简做得越纯熟，产出看起来越小。这篇聊聊两种能力的辩证关系，以及为什么'看不见'的那部分工作，恰恰是最难的部分。","\u002Fnews\u002F928",[7,8],{"id":65,"kind":7,"title":66,"summary":67,"image":68,"href":69,"meta":70,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":71},"NEWS_ARTICLE:930","基于 vLLM+Nginx 构建负载均衡推理集群","企业内部私有环境部署大模型推理集群时，很容易遇到流量调度混乱、节点负载失衡、会话上下文丢失、接口缺少鉴权防护等一系列问题，单 vLLM 推理节点难以支撑并发请求。本文基于 Ubuntu 22.04 系统环境，搭建 Nginx + vLLM-Semantic-Router + vLLM-Router","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F1379525\u002F202609\u002F1379525-20260910165534385-2022408098.png","\u002Fnews\u002F930","2026 · 人工智能",[72],"人工智能",{"id":74,"kind":7,"title":75,"summary":76,"image":77,"href":78,"meta":70,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":79},"NEWS_ARTICLE:932","2026年AI编程工具大全，33个主流工具一次看懂","事情是这样的，前两天看到一张图，是某个社区官网的「支持的工具」清单，我数了数，整整31个AI编程工具。 两年前这份清单撑死5个，现在直接31个，而且我居然每一个都认识。。。 干脆整理成一篇，顺手把最近字节的TraeWork和豆包工作也补了进来，凑成33个。 今天给大家推荐一遍，每个工具说说它是干什么","https:\u002F\u002Fimage.kjdaohang.com\u002Fimg\u002F20260909210838518.png","\u002Fnews\u002F932",[72],{"id":81,"kind":7,"title":82,"summary":83,"image":15,"href":84,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":85},"NEWS_ARTICLE:931","SH 中文化样例数据使用手册","在数据库演示与 PoC 场景中，Oracle 自带的 SH 示例模式虽然经典，但英文维度数据往往让国内演示效果打折扣。笔者整理了一套方案：保留 SH 标准英文对象名，同时装载中文化维度数据，并按参数生成可复现的销售历史数据，方便个人测试与概念验证。 01 | 环境准备 使用前请确认满足以下条件： O","\u002Fnews\u002F931",[7,8],{"id":87,"kind":7,"title":88,"summary":89,"image":90,"href":91,"meta":49,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":92},"NEWS_ARTICLE:933","写给 C++ 工程师的 OpenClaw.NET 上手指南：用你熟悉的 C++ 思维，跑起一个生产级 AI Agent","它像一个「基于 boost.asio + REST 端点的常驻服务」——对外是 HTTP \u002F WebSocket \u002F 各 IM 的 webhook，对内跑着一个能调工具、读写记忆、跨渠道对话的 AI Agent——只不过协程不用你手写 promise_type，内存不用你管 new\u002Fdelete。","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F510\u002F202609\u002F510-20260905070811424-1837144874.jpg","\u002Fnews\u002F933",[51],{"id":94,"kind":7,"title":95,"summary":96,"image":97,"href":98,"meta":70,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":99},"NEWS_ARTICLE:935","[Agent Memory \u002F 强化学习] MemPO源码学习笔记 ---（1）--- 总体","[Agent Memory \u002F 强化学习] MemPO源码学习笔记 （1） 总体 目录[Agent Memory \u002F 强化学习] MemPO源码学习笔记 （1） 总体0x00 概要0x01 基础 &amp; 背景1.1 用RL训练记忆系统的要点1.2 主要难点1.3 主要思路1.4 RL训练方案1.","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F1850883\u002F202609\u002F1850883-20260906190854637-986949885.jpg","\u002Fnews\u002F935",[72]]