10分钟学会使用.Net技术开发一个Ai智能体应用-小智esp32
在当今数字化的时代,语音交互技术正以前所未有的速度发展,为人们的生活和工作带来了极大的便利。XiaoZhiSharp 作为一款使用 C# 语言编写的 “小智SDK”,为开发者提供了一个强大而灵活的工具,能够轻松实现跨平台的语音交互应用。今天,我们就来深入了解一下这个项目。
一、项目简介
XiaoZhiSharp(XiaoZhi SDK & Client)是使用 C# 语言编写的 小智SDK 开发工具包,它为开发者提供了便捷的方式来集成 AI 智能体功能到自己的应用中。该 SDK 不仅提供了丰富的 API,还附带了一个 ConsoleApp 、MauiBlazorApp 示例,方便开发者快速上手。
二、环境准备
2.1 安装 .NET SDK
确保你已经安装了 .NET 8.0 或更高版本。你可以从 [.NET 官方网站] 下载并安装适合你操作系统的版本。
2.2 克隆项目
打开终端或命令提示符,执行以下命令克隆扣子 Coze 项目:
github
git clone https://github.com/zhulige/xiaozhi-sharp.git
cd xiaozhi-sharp
gitcode
git clone https://gitcode.com/zhulige/xiaozhi-sharp
cd xiaozhi-sharp
三、添加 NuGet 包
你可以使用以下命令添加 XiaoZhiSharp NuGet 包到你的项目中:
dotnet add package XiaoZhiSharp --version 1.0.6
四、配置项目
服务器地址:
https://xiaozhi.me
或
https://coze.nbee.net
五、示例代码
5.1 Agent
using XiaoZhiSharp;
using XiaoZhiSharp.Protocols;
XiaoZhiAgent agent = new XiaoZhiAgent();
agent.OnMessageEvent += Agent_OnMessageEvent;
agent.OnOtaEvent += Agent_OnOtaEvent;
await agent.Start(); // 会自动进行OTA检查,然后连接WebSocket
private static Task Agent_OnMessageEvent(string type, string message)
{
LogConsole.InfoLine($"[{type}] {message}");
return Task.CompletedTask;
}
private static Task Agent_OnOtaEvent(OtaResponse? otaResponse)
{
if (otaResponse != null)
{
LogConsole.InfoLine("OTA检查完成,获取到服务器配置信息");
// 处理OTA响应数据,包括WebSocket URL、Token、MQTT配置等
}
return Task.CompletedTask;
}
5.2 MCP
/XiaoZhiSharp_ConsoleApp/McpTools
[McpServerToolType]
public sealed class Chrome_Tool
{
[McpServerTool, Description("打开网站")]
public static string OpenUrl(string url)
{
return OpenUrlInChrome(url);
}
public static string OpenUrlInChrome(string url)
{
try
{
// 如果URL为空,使用默认主页
if (string.IsNullOrEmpty(url))
url = "https://www.google.com";
// 在Windows上,使用Process.Start()直接打开URL
// 系统会自动选择默认浏览器
Process.Start(new ProcessStartInfo(url) { UseShellExecute = true });
return "网站打开成功";
}
catch (Exception ex)
{
Console.WriteLine($"打开浏览器时出错: {ex.Message}");
// 如果上述方法失败,尝试直接启动Chrome
//TryOpenChromeDirectly(url);
return "网站打开失败";
}
}
}
语音尝试 帮我打开百度、帮我搜索今天最新的新闻。
六、贡献与反馈
如果你在使用过程中发现了项目中的问题,或者有任何改进的建议,欢迎随时提交 Issue 或者 Pull Request。你还可以加入项目的社区,分享经验、提出建议或获取帮助。
七、总结
通过本文的介绍,你已经学会了如何使用 .NET 技术开发一个基于小智的 AI 智能体应用。小智还提供了丰富的功能和便捷的MCP,让开发者可以轻松集成 AI 智能体功能到自己的应用中。希望你能在实际项目中发挥小智MCP的强大能力,开发出更加优秀的应用。
以上就是使用 .NET 技术开发一个 AI 智能体应用 - 小智Sharp的详细步骤,希望对你有所帮助!
10分钟学会使用.Net技术开发一个Ai智能体应用-小智esp32的更多相关文章
- 10分钟学会搭建Android开发环境 Eclipse: The import android.support cannot be resolved
10分钟学会搭建Android开发环境_隋雨辰 http://v.youku.com/v_show/id_XNTE2OTI5Njg0.html?from=s1.8-1-1.2 The import a ...
- 10分钟学会Linux
10分钟学会Linux有点夸张,可是能够让一个新手初步熟悉Linux中最重要最主要的知识,本文翻译的英文网页在众多Linux入门学习的资料中还是很不错的. 英文地址:http://freeengine ...
- 10分钟学会VS NuGet包私有化部署
前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...
- UWP开发入门(十九)——10分钟学会在VS2015中使用Git
写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支持.考虑到现在Git很火,作为微软系的程序员也不得不学一点防身,以免被开 ...
- 10分钟学会Less开发环境搭建与初体验
Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. 今天看一下,10分钟能不能手把手快速教会你Le ...
- 【译】10分钟学会Pandas
十分钟学会Pandas 这是关于Pandas的简短介绍主要面向新用户.你可以参考Cookbook了解更复杂的使用方法 习惯上,我们这样导入: In [1]: import pandas as pd I ...
- 【C/C++】10分钟教你用C++写一个贪吃蛇附带AI功能(附源代码详解和下载)
C++编写贪吃蛇小游戏快速入门 刚学完C++.一时兴起,就花几天时间手动做了个贪吃蛇,后来觉得不过瘾,于是又加入了AI功能.希望大家Enjoy It. 效果图示 AI模式演示 imageimage 整 ...
- C# 10分钟完成百度语音技术(语音识别与合成)——入门篇
我们已经讲了人脸识别(入门+进阶).图片识别(入门).下面是链接: C# 10分钟完成百度人脸识别——入门篇 C# 30分钟完成百度人脸识别——进阶篇(文末附源码) C# 10分钟完成百度图片提取文字 ...
- 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发
前言 我们之前聊过 10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡:https://www.cnblogs.com/xiongze520/p/103087 ...
- 10分钟极速入门dash应用开发
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,几天前我发布了由我开源维护的dash通用网页组件库fac的0 ...
随机推荐
- 如何使用 MySQL 的 EXPLAIN 语句进行查询分析?
如何使用 MySQL 的 EXPLAIN 语句进行查询分析? EXPLAIN 是 MySQL 提供的分析 SQL 查询执行计划的工具,用于了解查询语句的执行过程,帮助优化查询性能. 1. EXPLAI ...
- Python requests代理(Proxy)使用教程
Python requests代理(Proxy)使用教程 在 Python 的 requests 库中,使用代理服务器可以让你通过不同的网络路由发送 HTTP 请求.代理服务器可以帮助隐藏真实 IP ...
- stackbd:在一个块设备上堆叠另一个块设备
stackbd 是一个虚拟的块设备,它作为另一个块设备的前端,如 USB 闪存盘或循环设备.它将I/O请求传递给底层设备,同时它打印请求信息用于调试.它还有可能修改请求. 堆叠块设备(stackbd) ...
- liunx git 免密码登录
vscode远程git或在linux环境使用git时,每次clone都要输入帐号密码,很不方便,可以使用下面一行命令,系统会记录你输入的下一次帐号密码.(明文记录,注意规避风险) # 执行 g ...
- 成语答题小程序v3.0
自从开源成语答题小程序以来不断完善功能,并且不断修复bug,成语答题小程序v3版本完善了很多功能 1.增加了原生模板广告,设置原生模板广告后可以设置首页或答题页是否显示原生模板广告 2.增加了背景设置 ...
- 盈亏平衡之"盈亏平衡点和总可变成本和总收入和利润和边际收益"
案例1 案例2 案例3 因为他这里没有按2w件来算,而是按4w件 利润 = 总收入 - 总成本 总收入 = 产量 * 单价 总成本 = 固定成本 + 变动成本 变动成本 = 单件可变成本 * 产量 案 ...
- HarmonyOS NEXT开发实战教程--招聘app
这一周忙到起飞,只能在周末发个文章.今天的内容比较简单,是一个招聘app,适合新手友友参考,大佬们可以直接忽略. 看一下效果图: 这是一个比较常见的应用,大家做这类应用建议大家先分析一下应用和页面的结 ...
- 【语义分割专栏】先导篇:常用数据集(VOC、Camvid、Cityscape、ADE20k、COCO)
目录 前言 mask模式 PASCAL-VOC2012 下载 数据集简介 数据加载(dataloader) CamVid 下载 数据集简介 数据加载(dataloader) Cityscape 下载 ...
- AI工程师跑路了-怎么办?
从雪山飞狐到百年孤独 百无聊赖中翻开了又一本金庸的小说<雪山飞狐>,江湖侠气,快意恩仇瞬间跃然纸上,唯有最后胡斐那一刀才让读者回到了现实.之前刚读了<明朝那些事儿>,最后重 ...
- 阅读类元服务开发笔记---week4
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...