[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-curiosity-ai--catalyst":3,"tool-curiosity-ai--catalyst":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":32,"env_os":90,"env_gpu":91,"env_ram":91,"env_deps":92,"category_tags":101,"github_topics":102,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":111,"updated_at":112,"faqs":113,"releases":143},6811,"curiosity-ai\u002Fcatalyst","catalyst","🚀 Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.","Catalyst 是一款专为速度打造的 C# 自然语言处理（NLP）库，灵感源自著名的 Python 库 spaCy。它旨在解决 .NET 生态中高性能文本分析工具匮乏的痛点，让开发者无需依赖外部服务或切换编程语言，即可在 Windows、Linux、macOS 甚至 ARM 设备上高效运行复杂的 NLP 任务。\n\n这款工具非常适合 .NET 开发者、数据工程师及研究人员使用，特别是那些需要在生产环境中构建快速、跨平台文本分析应用的技术团队。Catalyst 的核心亮点在于其极致的性能：采用纯 C# 编写，拥有非破坏性的分词引擎，在常规 CPU 上每秒可处理超过 100 万个标记，且几乎不使用正则表达式以避免性能瓶颈。\n\n功能方面，Catalyst 开箱即用，提供基于 Universal Dependencies 项目的预训练模型，支持命名实体识别、词性标注、语言检测及词形还原。它还灵活支持自定义训练词嵌入（如 FastText 和 StarSpace）及文档向量，并允许用户通过简单的代码定义规则来捕捉特定缩写或语义模式。所有语言模型均通过 NuGet 包独立分发，结合高效的二进制序列","Catalyst 是一款专为速度打造的 C# 自然语言处理（NLP）库，灵感源自著名的 Python 库 spaCy。它旨在解决 .NET 生态中高性能文本分析工具匮乏的痛点，让开发者无需依赖外部服务或切换编程语言，即可在 Windows、Linux、macOS 甚至 ARM 设备上高效运行复杂的 NLP 任务。\n\n这款工具非常适合 .NET 开发者、数据工程师及研究人员使用，特别是那些需要在生产环境中构建快速、跨平台文本分析应用的技术团队。Catalyst 的核心亮点在于其极致的性能：采用纯 C# 编写，拥有非破坏性的分词引擎，在常规 CPU 上每秒可处理超过 100 万个标记，且几乎不使用正则表达式以避免性能瓶颈。\n\n功能方面，Catalyst 开箱即用，提供基于 Universal Dependencies 项目的预训练模型，支持命名实体识别、词性标注、语言检测及词形还原。它还灵活支持自定义训练词嵌入（如 FastText 和 StarSpace）及文档向量，并允许用户通过简单的代码定义规则来捕捉特定缩写或语义模式。所有语言模型均通过 NuGet 包独立分发，结合高效的二进制序列化技术，使得模型的加载与部署变得异常轻便。无论是构建智能搜索、内容分类还是信息抽取系统，Catalyst 都能为 .NET 项目提供坚实且高速的自然语言处理能力。","\n[![Nuget](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fv\u002FCatalyst.svg?maxAge=0&colorB=brightgreen)](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FCatalyst\u002F) [![Build Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcuriosity-ai_catalyst_readme_3323fe13e747.png)](https:\u002F\u002Fdev.azure.com\u002Fcuriosity-ai\u002Fmosaik\u002F_build\u002Flatest?definitionId=10&branchName=master)\n\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fmaster\u002FCatalyst\u002Fcatalyst.png?token=ACDCOAYAIML2KGJTHTJP27C5KGCEC\"\u002F>\n\n\u003Ca href=\"https:\u002F\u002Fcuriosity.ai\">\u003Cimg src=\"https:\u002F\u002Fcuriosity.ai\u002Fmedia\u002Fcat.color.square.svg\" width=\"100\" height=\"100\" align=\"right\" \u002F>\u003C\u002Fa>\n\n_**catalyst**_ is a C# Natural Language Processing library built for speed. Inspired by [spaCy's design](https:\u002F\u002Fspacy.io\u002F), it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.\n\n[![Gitter](https:\u002F\u002Fbadges.gitter.im\u002Fcuriosityai\u002Fcatalyst.svg)](https:\u002F\u002Fgitter.im\u002Fcuriosityai\u002Fcatalyst?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n## ⚡ Features\n- Fast, modern pure-C# NLP library, supporting [.NET standard 2.0](https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fdotnet\u002Fstandard\u002Fnet-standard)\n- Cross-platform, runs anywhere [.NET core](https:\u002F\u002Fdotnet.microsoft.com\u002Fdownload) is supported - Windows, Linux, macOS and even ARM\n- Non-destructive [tokenization](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FBase\u002FFastTokenizer.cs), >99.9% [RegEx-free](https:\u002F\u002Fblog.codinghorror.com\u002Fregex-performance\u002F), >1M tokens\u002Fs on a modern CPU\n- Named Entity Recognition ([gazeteer](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FSpotter.cs), [rule-based](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FPatternSpotter.cs) & [perceptron-based](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FAveragePerceptronEntityRecognizer.cs))\n- Pre-trained models based on [Universal Dependencies](https:\u002F\u002Funiversaldependencies.org\u002F) project\n- Custom models for learning [Abbreviations](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FSpecial\u002FAbbreviationCapturer.cs) & [Senses](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FSpotter.cs#L214)\n- Out-of-the-box support for training [FastText](https:\u002F\u002Ffasttext.cc\u002F) and [StarSpace](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FStarSpace) embeddings (pre-trained models coming soon)\n- Part-of-speech tagging\n- Language detection using [FastText](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FSpecial\u002FFastTextLanguageDetector.cs) or [cld3](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FSpecial\u002FLanguageDetector.cs)\n- Efficient binary serialization based on [MessagePack](https:\u002F\u002Fgithub.com\u002Fneuecc\u002FMessagePack-CSharp\u002F)\n- Pre-built models for [language packages](https:\u002F\u002Fwww.nuget.org\u002Fpackages?q=catalyst.models) ✨\n- Lemmatization ✨ (using lookup tables ported from [spaCy](https:\u002F\u002Fgithub.com\u002Fexplosion\u002Fspacy-lookups-data))\n\n\n## Language Packages ✨\nAll language-specific data and models are provided as NuGet packages, you can find all packages [here](https:\u002F\u002Fwww.nuget.org\u002Fpackages?q=catalyst.models). \n\nThe new models are trained on the latest release of [Universal Dependencies v2.7](https:\u002F\u002Funiversaldependencies.org\u002F).\n\nWe've also added the option to store and load models using streams:\n`````csharp\n\u002F\u002F Creates and stores the model\nvar isApattern = new PatternSpotter(Language.English, 0, tag: \"is-a-pattern\", captureTag: \"IsA\");\nisApattern.NewPattern(\n    \"Is+Noun\",\n    mp => mp.Add(\n        new PatternUnit(P.Single().WithToken(\"is\").WithPOS(PartOfSpeech.VERB)),\n        new PatternUnit(P.Multiple().WithPOS(PartOfSpeech.NOUN, PartOfSpeech.PROPN, PartOfSpeech.AUX, PartOfSpeech.DET, PartOfSpeech.ADJ))\n));\nusing(var f = File.OpenWrite(\"my-pattern-spotter.bin\"))\n{\n    await isApattern.StoreAsync(f);\n}\n\n\u002F\u002F Load the model back from disk\nvar isApattern2 = new PatternSpotter(Language.English, 0, tag: \"is-a-pattern\", captureTag: \"IsA\");\n\nusing(var f = File.OpenRead(\"my-pattern-spotter.bin\"))\n{\n    await isApattern2.LoadAsync(f);\n}\n`````\n\n\n## ✨ Getting Started\n\nUsing _**catalyst**_ is as simple as installing its [NuGet Package](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FCatalyst), and setting the storage to use our online repository. This way, models will be lazy loaded either from disk or downloaded from our online repository. **Check out also some of the [sample projects](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Ftree\u002Fmaster\u002Fsamples)** for more examples on how to use _**catalyst**_.\n\n\n```csharp\nCatalyst.Models.English.Register(); \u002F\u002FYou need to pre-register each language (and install the respective NuGet Packages)\n\nStorage.Current = new DiskStorage(\"catalyst-models\");\nvar nlp = await Pipeline.ForAsync(Language.English);\nvar doc = new Document(\"The quick brown fox jumps over the lazy dog\", Language.English);\nnlp.ProcessSingle(doc);\nConsole.WriteLine(doc.ToJson());\n```\n\nYou can also take advantage of C# lazy evaluation and native multi-threading support to process a large number of documents in parallel:\n\n```csharp\nvar docs = GetDocuments();\nvar parsed = nlp.Process(docs);\nDoSomething(parsed);\n\nIEnumerable\u003CIDocument> GetDocuments()\n{\n    \u002F\u002FGenerates a few documents, to demonstrate multi-threading & lazy evaluation\n    for(int i = 0; i \u003C 1000; i++)\n    {\n        yield return new Document(\"The quick brown fox jumps over the lazy dog\", Language.English);\n    }\n}\n\nvoid DoSomething(IEnumerable\u003CIDocument> docs)\n{\n    foreach(var doc in docs)\n    {\n        Console.WriteLine(doc.ToJson());\n    }\n}\n```\n\nTraining a new [FastText](https:\u002F\u002Ffasttext.cc\u002F) [word2vec](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWord2vec) embedding model is as simple as this:\n\n```csharp\nvar nlp = await Pipeline.ForAsync(Language.English);\nvar ft = new FastText(Language.English, 0, \"wiki-word2vec\");\nft.Data.Type = FastText.ModelType.CBow;\nft.Data.Loss = FastText.LossType.NegativeSampling;\nft.Train(nlp.Process(GetDocs()));\nft.StoreAsync();\n```\n\nFor fast embedding search, we have also released a C# version of the [\"Hierarchical Navigable Small World\" (HNSW)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1603.09320) algorithm on [NuGet](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FHNSW\u002F), based on our fork of Microsoft's [HNSW.Net](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fhnsw.net). We have also released a C# version of the \"Uniform Manifold Approximation and Projection\" ([UMAP](https:\u002F\u002Fumap-learn.readthedocs.io\u002Fen\u002Flatest\u002Fhow_umap_works.html)) algorithm for dimensionality reduction on [GitHub](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fumap-csharp) and on [NuGet](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FUMAP\u002F).\n\n\n\n## 📖 Links\n\n| Documentation     |                                                           |\n| ----------------- | --------------------------------------------------------- |\n| [Contribute]      | How to contribute to _**catalyst**_ codebase.             |\n| [Samples]         | Sample projects demonstrating _**catalyst**_ capabilities |\n| [![Gitter](https:\u002F\u002Fbadges.gitter.im\u002Fcuriosityai\u002Fcatalyst.svg)](https:\u002F\u002Fgitter.im\u002Fcuriosityai\u002Fcatalyst?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)  | Join our gitter channel                                    |\n\n[Contribute]: https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\n[Samples]: https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Ftree\u002Fmaster\u002Fsamples\n","[![Nuget](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fv\u002FCatalyst.svg?maxAge=0&colorB=brightgreen)](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FCatalyst\u002F) [![构建状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcuriosity-ai_catalyst_readme_3323fe13e747.png)](https:\u002F\u002Fdev.azure.com\u002Fcuriosity-ai\u002Fmosaik\u002F_build\u002Flatest?definitionId=10&branchName=master)\n\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fmaster\u002FCatalyst\u002Fcatalyst.png?token=ACDCOAYAIML2KGJTHTJP27C5KGCEC\"\u002F>\n\n\u003Ca href=\"https:\u002F\u002Fcuriosity.ai\">\u003Cimg src=\"https:\u002F\u002Fcuriosity.ai\u002Fmedia\u002Fcat.color.square.svg\" width=\"100\" height=\"100\" align=\"right\" \u002F>\u003C\u002Fa>\n\n_**catalyst**_ 是一个为速度而构建的 C# 自然语言处理库。它受到 [spaCy 的设计](https:\u002F\u002Fspacy.io\u002F) 启发，提供了预训练模型、开箱即用的词和文档嵌入训练支持，以及灵活的实体识别模型。\n\n[![Gitter](https:\u002F\u002Fbadges.gitter.im\u002Fcuriosityai\u002Fcatalyst.svg)](https:\u002F\u002Fgitter.im\u002Fcuriosityai\u002Fcatalyst?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n## ⚡ 特性\n- 快速、现代的纯 C# NLP 库，支持 [.NET 标准 2.0](https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fdotnet\u002Fstandard\u002Fnet-standard)\n- 跨平台，可在任何支持 [.NET Core](https:\u002F\u002Fdotnet.microsoft.com\u002Fdownload) 的环境中运行——Windows、Linux、macOS 甚至 ARM\n- 非破坏性 [分词](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FBase\u002FFastTokenizer.cs)，>99.9% [无正则表达式](https:\u002F\u002Fblog.codinghorror.com\u002Fregex-performance\u002F) ，在现代 CPU 上超过 100 万个标记\u002F秒\n- 命名实体识别（[词汇表](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FSpotter.cs)、[基于规则](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FPatternSpotter.cs) 和 [基于感知器](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FAveragePerceptronEntityRecognizer.cs))\n- 基于 [Universal Dependencies](https:\u002F\u002Funiversaldependencies.org\u002F) 项目的预训练模型\n- 自定义模型用于学习 [缩写](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FSpecial\u002FAbbreviationCapturer.cs) 和 [语义](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FEntityRecognition\u002FSpotter.cs#L214)\n- 开箱即用的支持 [FastText](https:\u002F\u002Ffasttext.cc\u002F) 和 [StarSpace](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FStarSpace) 嵌入的训练（预训练模型即将推出）\n- 词性标注\n- 使用 [FastText](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FSpecial\u002FFastTextLanguageDetector.cs) 或 [cld3](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCatalyst\u002Fsrc\u002FModels\u002FSpecial\u002FLanguageDetector.cs) 进行语言检测\n- 基于 [MessagePack](https:\u002F\u002Fgithub.com\u002Fneuecc\u002FMessagePack-CSharp\u002F) 的高效二进制序列化\n- 针对 [语言包](https:\u002F\u002Fwww.nuget.org\u002Fpackages?q=catalyst.models) 的预构建模型 ✨\n- 词形还原 ✨（使用从 [spaCy](https:\u002F\u002Fgithub.com\u002Fexplosion\u002Fspacy-lookups-data) 移植的查找表）\n\n\n## 语言包 ✨\n所有特定语言的数据和模型都以 NuGet 包的形式提供，您可以在 [这里](https:\u002F\u002Fwww.nuget.org\u002Fpackages?q=catalyst.models) 找到所有包。\n\n新模型是在最新发布的 [Universal Dependencies v2.7](https:\u002F\u002Funiversaldependencies.org\u002F) 数据集上训练的。\n\n我们还添加了使用流存储和加载模型的功能：\n`````csharp\n\u002F\u002F 创建并存储模型\nvar isApattern = new PatternSpotter(Language.English, 0, tag: \"is-a-pattern\", captureTag: \"IsA\");\nisApattern.NewPattern(\n    \"Is+Noun\",\n    mp => mp.Add(\n        new PatternUnit(P.Single().WithToken(\"is\").WithPOS(PartOfSpeech.VERB)),\n        new PatternUnit(P.Multiple().WithPOS(PartOfSpeech.NOUN, PartOfSpeech.PROPN, PartOfSpeech.AUX, PartOfSpeech.DET, PartOfSpeech.ADJ))\n));\nusing(var f = File.OpenWrite(\"my-pattern-spotter.bin\"))\n{\n    await isApattern.StoreAsync(f);\n}\n\n\u002F\u002F 从磁盘加载模型\nvar isApattern2 = new PatternSpotter(Language.English, 0, tag: \"is-a-pattern\", captureTag: \"IsA\");\n\nusing(var f = File.OpenRead(\"my-pattern-spotter.bin\"))\n{\n    await isApattern2.LoadAsync(f);\n}\n`````\n\n\n## ✨ 入门\n\n使用 _**catalyst**_ 就像安装它的 [NuGet 包](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FCatalyst) 并将存储设置为我们在线仓库一样简单。这样，模型将按需从磁盘加载或从我们的在线仓库下载。**请参阅一些 [示例项目](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Ftree\u002Fmaster\u002Fsamples)**，以获取更多关于如何使用 _**catalyst**_ 的示例。\n\n\n```csharp\nCatalyst.Models.English.Register(); \u002F\u002F 您需要预先注册每种语言（并安装相应的 NuGet 包）\n\nStorage.Current = new DiskStorage(\"catalyst-models\");\nvar nlp = await Pipeline.ForAsync(Language.English);\nvar doc = new Document(\"The quick brown fox jumps over the lazy dog\", Language.English);\nnlp.ProcessSingle(doc);\nConsole.WriteLine(doc.ToJson());\n```\n\n您还可以利用 C# 的惰性求值和原生多线程支持，并行处理大量文档：\n\n```csharp\nvar docs = GetDocuments();\nvar parsed = nlp.Process(docs);\nDoSomething(parsed);\n\nIEnumerable\u003CIDocument> GetDocuments()\n{\n    \u002F\u002F 生成几份文档，以演示多线程和惰性求值\n    for(int i = 0; i \u003C 1000; i++)\n    {\n        yield return new Document(\"The quick brown fox jumps over the lazy dog\", Language.English);\n    }\n}\n\nvoid DoSomething(IEnumerable\u003CIDocument> docs)\n{\n    foreach(var doc in docs)\n    {\n        Console.WriteLine(doc.ToJson());\n    }\n}\n```\n\n训练一个新的 [FastText](https:\u002F\u002Ffasttext.cc\u002F) [word2vec](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWord2vec) 嵌入模型就像下面这样简单：\n\n```csharp\nvar nlp = await Pipeline.ForAsync(Language.English);\nvar ft = new FastText(Language.English, 0, \"wiki-word2vec\");\nft.Data.Type = FastText.ModelType.CBow;\nft.Data.Loss = FastText.LossType.NegativeSampling;\nft.Train(nlp.Process(GetDocs()));\nft.StoreAsync();\n```\n\n为了快速进行嵌入搜索，我们还在 [NuGet](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FHNSW\u002F) 上发布了 [\"分层可导航小世界\" (HNSW)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1603.09320) 算法的 C# 版本，该版本基于我们对 Microsoft 的 [HNSW.Net](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fhnsw.net) 的分支。此外，我们还在 [GitHub](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fumap-csharp) 和 [NuGet](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FUMAP\u002F) 上发布了用于降维的 [\"均匀流形近似与投影\" ([UMAP](https:\u002F\u002Fumap-learn.readthedocs.io\u002Fen\u002Flatest\u002Fhow_umap_works.html)) 算法的 C# 版本。\n\n## 📖 链接\n\n| 文档     |                                                           |\n| ----------------- | --------------------------------------------------------- |\n| [贡献]      | 如何为 _**catalyst**_ 代码库做出贡献。             |\n| [示例]         | 展示 _**catalyst**_ 功能的示例项目 |\n| [![Gitter](https:\u002F\u002Fbadges.gitter.im\u002Fcuriosityai\u002Fcatalyst.svg)](https:\u002F\u002Fgitter.im\u002Fcuriosityai\u002Fcatalyst?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)  | 加入我们的 Gitter 论坛                                    |\n\n[贡献]: https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\n[示例]: https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Ftree\u002Fmaster\u002Fsamples","# Catalyst 快速上手指南\n\nCatalyst 是一个专为速度打造的 C# 自然语言处理（NLP）库，灵感来源于 Python 的 spaCy。它支持跨平台运行，提供预训练模型、实体识别、词性标注、语言检测以及 FastText\u002FStarSpace 嵌入训练等功能。\n\n## 环境准备\n\n- **操作系统**：Windows、Linux、macOS 或 ARM 架构设备\n- **运行时要求**：.NET Core 3.1+ 或 .NET 5\u002F6\u002F7\u002F8（需支持 [.NET Standard 2.0](https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fdotnet\u002Fstandard\u002Fnet-standard)）\n- **开发工具**：Visual Studio 2019+、VS Code 或 JetBrains Rider\n- **前置依赖**：无额外系统级依赖，所有功能通过 NuGet 包管理\n\n> 💡 提示：国内开发者若遇到 NuGet 下载缓慢，可配置国内镜像源（如阿里云、腾讯云或清华源）加速包安装。\n\n## 安装步骤\n\n1. 打开终端或包管理器控制台。\n2. 安装核心库：\n   ```bash\n   dotnet add package Catalyst\n   ```\n3. 根据所需语言安装对应的模型包（以英语为例）：\n   ```bash\n   dotnet add package Catalyst.Models.English\n   ```\n   > 其他语言模型包可在 [NuGet 搜索页](https:\u002F\u002Fwww.nuget.org\u002Fpackages?q=catalyst.models) 查找，例如 `Catalyst.Models.Chinese`（如有）。\n\n## 基本使用\n\n以下是最简单的文本处理示例，展示分词、实体识别和结果输出：\n\n```csharp\nusing Catalyst;\nusing Catalyst.Models;\n\n\u002F\u002F 注册语言模型（必须先执行）\nEnglish.Register();\n\n\u002F\u002F 设置模型存储路径（可选，默认使用在线仓库懒加载）\nStorage.Current = new DiskStorage(\"catalyst-models\");\n\n\u002F\u002F 创建 NLP 流水线\nvar nlp = await Pipeline.ForAsync(Language.English);\n\n\u002F\u002F 创建文档对象\nvar doc = new Document(\"The quick brown fox jumps over the lazy dog\", Language.English);\n\n\u002F\u002F 处理单个文档\nnlp.ProcessSingle(doc);\n\n\u002F\u002F 输出 JSON 结果\nConsole.WriteLine(doc.ToJson());\n```\n\n### 批量处理示例（利用多线程与懒加载）\n\n```csharp\nvar docs = GetDocuments();\nvar parsed = nlp.Process(docs);\nDoSomething(parsed);\n\nIEnumerable\u003CIDocument> GetDocuments()\n{\n    for(int i = 0; i \u003C 1000; i++)\n    {\n        yield return new Document(\"The quick brown fox jumps over the lazy dog\", Language.English);\n    }\n}\n\nvoid DoSomething(IEnumerable\u003CIDocument> docs)\n{\n    foreach(var doc in docs)\n    {\n        Console.WriteLine(doc.ToJson());\n    }\n}\n```\n\n### 训练自定义 FastText 词向量模型\n\n```csharp\nvar nlp = await Pipeline.ForAsync(Language.English);\nvar ft = new FastText(Language.English, 0, \"wiki-word2vec\");\nft.Data.Type = FastText.ModelType.CBow;\nft.Data.Loss = FastText.LossType.NegativeSampling;\nft.Train(nlp.Process(GetDocs()));\nawait ft.StoreAsync();\n```\n\n> 📌 更多示例项目请参考官方 [samples 目录](https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Ftree\u002Fmaster\u002Fsamples)。","某电商企业的 .NET 开发团队需要构建一个实时系统，用于从海量英文用户评论中自动提取产品缺陷实体（如“电池”、“屏幕”）并分析情感倾向。\n\n### 没有 catalyst 时\n- **性能瓶颈严重**：传统 C# NLP 库依赖大量正则表达式进行分词，处理速度缓慢，无法支撑每秒百万级的高并发评论流。\n- **开发成本高昂**：缺乏开箱即用的预训练模型，团队需手动收集语料并从头训练实体识别模型，耗时数周且效果不稳定。\n- **跨平台部署困难**：现有方案多绑定 Windows 环境或依赖沉重的 Python 运行时，难以在 Linux 容器或 ARM 架构的边缘设备上灵活部署。\n- **功能扩展受限**：自定义规则（如识别特定缩写或新出现的品牌名）实现复杂，难以动态更新模型以适应快速变化的电商术语。\n\n### 使用 catalyst 后\n- **极致处理速度**：利用 catalyst 纯 C# 编写的无正则分词引擎，轻松突破每秒 100 万 token 的处理阈值，实现评论数据的毫秒级响应。\n- **即时落地应用**：直接加载基于 Universal Dependencies 训练的预训练模型，无需额外数据准备，当天即可上线高精度的命名实体识别功能。\n- **全平台无缝运行**：凭借对 .NET Standard 2.0 的支持，将分析服务平滑部署至 Linux 容器集群及各类异构硬件，大幅降低运维复杂度。\n- **灵活定制能力**：通过内置的模式匹配器（PatternSpotter）和感知机模型，开发人员可用少量代码快速定义新规则，实时捕捉新兴产品缺陷词汇。\n\ncatalyst 让 .NET 开发者无需跳出舒适区，即可在原生环境中获得媲美 Python spaCy 的高性能自然语言处理能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcuriosity-ai_catalyst_fb092b78.png","curiosity-ai","Curiosity","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcuriosity-ai_f39ece1f.png","Knowledge graph for industrial AI",null,"hello@curiosity.ai","https:\u002F\u002Fcuriosity.ai","https:\u002F\u002Fgithub.com\u002Fcuriosity-ai",[82],{"name":83,"color":84,"percentage":85},"C#","#178600",100,839,84,"2026-04-09T01:02:04","MIT","Windows, Linux, macOS, ARM","未说明",{"notes":93,"python":94,"dependencies":95},"这是一个纯 C# 编写的自然语言处理库，无需 Python 环境。需通过 NuGet 安装主包及对应语言的模型包（如 catalyst.models.english）。支持跨平台运行（包括 ARM 架构）。首次运行时若配置了在线存储，会自动下载预训练模型；也可手动加载本地模型文件。","不需要 (基于 .NET\u002FC#)",[96,97,98,99,100],".NET Standard 2.0+",".NET Core","MessagePack-CSharp","HNSW.Net (可选)","UMAP (可选)",[13,14,15,35],[103,104,105,106,107,108,109,110],"nlp","natural-language-processing","artificial-intelligence","embeddings","csharp","machine-learning","natural-language-understanding","ai","2026-03-27T02:49:30.150509","2026-04-12T13:58:50.833081",[114,119,124,129,134,138],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},30724,"如何在本地存储模型以支持离线使用？","要实现在没有网络连接的情况下使用模型，需要正确配置存储路径。通常可以将代码中的 `Storage.Current = new OnlineRepositoryStorage(new DiskStorage(\"catalyst-models\"));` 替换为 `Storage.Current = new DiskStorage(\"catalyst-models\");`。但需注意，如果使用的是旧版本（如 1.0.25056），可能会遇到 Git LFS 指针文件未被正确解析的问题（表现为文件内容是文本而非二进制数据），导致抛出 `System.IO.FileNotFoundException`。该问题已在后续版本中修复，请确保升级到最新的 NuGet 包以获取包含正确二进制模型文件的版本。","https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fissues\u002F56",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},30725,"在 .NET Core 3.1 中调用 FastTextLanguageDetector 时抛出“集合已修改”异常怎么办？","这是一个已知 bug，发生在 .NET Core 3.1 环境下调用 `FastTextLanguageDetector.FromStoreAsync` 时，报错信息为 \"Collection was modified; enumeration operation may not execute.\"。原因是近期对 FT 模型进行的内存优化破坏了从磁盘加载分类器模型的逻辑。该问题已在最新版本中修复。如果您仍在使用旧版本，建议升级到最新的 Catalyst NuGet 包；或者临时将项目目标框架升级为 .NET 5 及以上版本即可正常工作。","https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fissues\u002F48",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},30726,"运行 Catalyst.Spacy.Test 时遇到 urllib3 和 OpenSSL 版本不兼容错误如何解决？","运行测试项目时若报错 \"urllib3 v2.0 only supports OpenSSL 1.1.1+\"，是因为项目依赖的 `Python.Included` 包版本过旧，其内置的 Python 环境编译时使用的 OpenSSL 版本过低。解决方案是更新 `Catalyst.Spacy` 包到最新版本，维护者已在提交 e2bb759 中升级了相关的 `Python.Included` 依赖。如果更新后仍遇到 \"Runtime.PythonDLL was not set\" 错误，请检查是否正确设置了 `Runtime.PythonDLL` 指向有效的 Python 运行时 DLL，或直接使用最新发布的包通常可自动解决此问题。","https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fissues\u002F95",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},30727,"如何使用 Catalyst 进行依存句法分析并获取结果？","要在 NLP 流水线中使用依存句法分析，首先需要初始化存储并创建管道，然后添加 `AveragePerceptronDependencyParser` 模型。示例代码如下：\n1. 设置存储：`Storage.Current = new OnlineRepositoryStorage(new DiskStorage(\"catalyst-models\"));`\n2. 创建管道：`var nlp = await Pipeline.ForAsync(Language.English);`\n3. 添加解析器：`nlp.Add(await AveragePerceptronDependencyParser.FromStoreAsync(Language.English, Version.Latest, \"\"));`\n4. 处理文档：`nlp.ProcessSingle(doc);`\n处理完成后，可以通过遍历文档中的 Token 访问 `DependencyType` 属性来获取依存关系类型。注意：早期版本中该属性可能返回空字符串，需确保模型加载成功且版本最新。","https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fissues\u002F44",{"id":135,"question_zh":136,"answer_zh":137,"source_url":118},30728,"为什么语言检测模型加载时会报找不到文件（FileNotFoundException）？","这通常是因为下载的模型文件实际上是 Git LFS 的指针文件（包含 version 和 oid 信息的文本），而不是真正的二进制模型数据。这种情况常见于旧版本的 NuGet 包（如 catalyst.1.0.25056.nupkg）。当代码尝试加载 `LanguageDetector.binz` 等资源时，由于内容格式错误会抛出 `System.IO.FileNotFoundException`。解决方法是升级到最新的 Catalyst 版本，维护者已修复了打包过程，确保发布到 NuGet 的文件包含正确的二进制数据。",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},30729,"使用保存的 FastText 模型进行预测时出现参数越界异常是什么原因？","在使用 `FastText.FromStoreAsync` 加载模型并调用 `Predict` 方法时，如果在 `ComputeHidden` 函数中抛出 \"Specified argument was out of range\" 异常，通常是因为模型文件与当前代码版本不兼容，或者模型在保存\u002F读取过程中损坏。这可能是由于训练时的词汇表索引与预测时的输入不匹配导致的。建议检查模型保存和加载的代码流程是否一致，并确保使用的是与训练代码相同版本的 Catalyst 库。如果问题持续，可能需要重新训练模型或检查输入数据的预处理步骤是否与训练时保持一致。","https:\u002F\u002Fgithub.com\u002Fcuriosity-ai\u002Fcatalyst\u002Fissues\u002F62",[]]