经 AI Skill Hub 精选评估,LmDotnet工具 获评「强烈推荐」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
LmDotnet工具 是一款基于 C# 开发的开源工具,专注于 LLM、C#、AI工具 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
LmDotnet工具 是一款基于 C# 开发的开源工具,专注于 LLM、C#、AI工具 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 克隆仓库 git clone https://github.com/achieveai/LmDotnetTools cd LmDotnetTools # 查看安装说明 cat README.md # 按 README 完成环境依赖安装后即可使用
# 查看帮助 lmdotnettools --help # 基本运行 lmdotnettools [options] <input> # 详细使用说明请查阅文档 # https://github.com/achieveai/LmDotnetTools
# lmdotnettools 配置说明 # 查看配置选项 lmdotnettools --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export LMDOTNETTOOLS_CONFIG="/path/to/config.yml"
// In Program.cs or Startup.cs
services.AddLmDotnet(configuration);
services.ValidateOpenRouterUsageConfiguration(configuration);
dotnet add package AchieveAi.LmDotnetTools.LmCore
dotnet add package AchieveAi.LmDotnetTools.OpenAIProvider
dotnet add package AchieveAi.LmDotnetTools.AnthropicProvider
```bash
using AchieveAi.LmDotnetTools.LmCore.Agents;
using AchieveAi.LmDotnetTools.LmCore.Messages;
using AchieveAi.LmDotnetTools.OpenAIProvider.Agents;
// Create an agent
var agent = new OpenClientAgent("MyAgent", openClient);
// Send a message
var messages = new[] { new TextMessage { Role = Role.User, Text = "Hello!" } };
var response = await agent.GenerateReplyAsync(messages);
LmDotnet includes comprehensive usage tracking for OpenRouter, providing automatic token and cost monitoring.
export ENABLE_USAGE_MIDDLEWARE=true export OPENROUTER_API_KEY=sk-or-your-api-key-here export USAGE_CACHE_TTL_SEC=300
csharp // Usage data automatically provided in dedicated UsageMessage var options = new GenerateReplyOptions { ModelId = "openai/gpt-4" }; var messages = await agent.GenerateReplyAsync(userMessages, options);
// Access usage information from UsageMessage var usageMessage = messages.OfType<UsageMessage>().LastOrDefault(); if (usageMessage != null) { var usage = usageMessage.Usage; Console.WriteLine($"Tokens: {usage.TotalTokens}, Cost: ${usage.TotalCost:F4}"); } ```
| Variable | Default | Description |
|---|---|---|
ENABLE_USAGE_MIDDLEWARE | true | Enable OpenRouter usage tracking |
OPENROUTER_API_KEY | - | OpenRouter API key (required for usage tracking) |
USAGE_CACHE_TTL_SEC | 300 | Usage cache TTL in seconds |
ENABLE_INLINE_USAGE | true | Prefer inline usage over fallback |
LmDotnet is a comprehensive .NET SDK for working with large language models (LLMs) from multiple providers including OpenAI, Anthropic, and OpenRouter.
// Custom middleware for logging, caching, etc.
public class CustomMiddleware : IStreamingMiddleware
{
public async Task<IAsyncEnumerable<IMessage>> InvokeStreamingAsync(
MiddlewareContext context, IStreamingAgent agent, CancellationToken cancellationToken)
{
// Pre-processing
yield return await agent.GenerateReplyStreamingAsync(context.Messages, context.Options, cancellationToken);
// Post-processing
}
}
LmDotnet 是一个专为 .NET 开发者设计的强大 SDK,旨在简化与多种大语言模型(LLM)的交互。它支持 OpenAI、Anthropic 和 OpenRouter 等主流 Provider,通过统一的接口屏蔽了不同模型 API 之间的差异,让开发者能够更高效地构建基于 AI 的应用程序。
LmDotnet 提供了一套功能完备的工具集:支持多 Provider 统一接口,兼容 Streaming 流式输出与传统的同步请求模式;内��可扩展的 Middleware Pipeline,方便进行日志记录、缓存及 Function Calls 处理;具备强类型的模型与响应定义,确保开发过程中的 Type Safety;同时针对高吞吐场景进行了性能优化,并针对 OpenRouter 提供了智能的 Usage 追踪与自动 Fallback 机制。
在使用 LmDotnet 之前,请确保您的项目已配置好依赖注入(Dependency Injection)环境。您需要在 Program.cs 或 Startup.cs 中通过 `services.AddLmDotnet(configuration)` 进行服务注册,并调用 `services.ValidateOpenRouterUsageConfiguration(configuration)` 来验证 OpenRouter 的配置有效性,以确保 Usage 追踪功能正常运行。
您可以通过 NuGet 包管理器快速安装 LmDotnet 的核心组件及对应的 Provider 插件。首先安装核心包 `AchieveAi.LmDotnetTools.LmCore`,随后根据您的需求添加特定的 Provider 包,例如 `AchieveAi.LmDotnetTools.OpenAIProvider` 或 `AchieveAi.LmDotnetTools.AnthropicProvider`。使用命令 `dotnet add package` 即可完成集成。
LmDotnet 的上手非常简单。通过引入对应的 Provider 命名空间,您可以轻松创建 Agent 实例(如 `OpenClientAgent`)。在发送消息时,只需构建 `TextMessage` 并调用 `GenerateReplyAsync` 方法,即可实现与 AI 的交互。对于 OpenRouter 用户,系统会自动处理 Token 消耗统计,您可以通过 `UsageMessage` 直接获取详细的消耗数据。
项目主要通过环境变量进行配置。您可以设置 `ENABLE_USAGE_MIDDLEWARE` 来开启 OpenRouter 的使用量追踪,并通过 `OPENROUTER_API_KEY` 提供必要的 API Key。此外,您还可以通过 `USAGE_CACHE_TTL_SEC` 配置 Usage 缓存的生存时间(TTL),以及利用 `ENABLE_INLINE_USAGE` 决定是否优先从 API 响应中读取使用量数据,实现零配置快速启动。
LmDotnet 是一个面向 .NET 生态的综合性 Large Language Model SDK。它不仅封装了 OpenAI、Anthropic 和 OpenRouter 的底层 API,还通过高度抽象的接口设计,为开发者提供了一套标准化的 LLM 调用规范,使其能够轻松应对复杂的 AI 应用开发场景。
LmDotnet 采用了灵活的 Middleware Pipeline 设计模式。开发者可以通过实现 `IStreamingMiddleware` 接口来自定义中间件,在消息流转过程中进行预处理或后处理。无论是实现自定义的日志记录、数据缓存,还是复杂的 Function Calls 逻辑,都可以通过在 Pipeline 中注入自定义 Middleware 来实现高度的可扩展性。
高质量的AI工具,易于使用和集成
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:LmDotnet工具 的核心功能完整,质量优秀。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | LmDotnetTools |
| 原始描述 | 开源AI工具:Bunch of Lm tools to connect and work with LLM calls。⭐10 · C# |
| Topics | LLMC#AI工具 |
| GitHub | https://github.com/achieveai/LmDotnetTools |
| License | MIT |
| 语言 | C# |
收录时间:2026-06-21 · 更新时间:2026-06-22 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。