在当今数字化的时代,语音交互技术正以前所未有的速度发展,为人们的生活和工作带来了极大的便利。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的更多相关文章

  1. 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 ...

  2. 10分钟学会Linux

    10分钟学会Linux有点夸张,可是能够让一个新手初步熟悉Linux中最重要最主要的知识,本文翻译的英文网页在众多Linux入门学习的资料中还是很不错的. 英文地址:http://freeengine ...

  3. 10分钟学会VS NuGet包私有化部署

    前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...

  4. UWP开发入门(十九)——10分钟学会在VS2015中使用Git

    写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支持.考虑到现在Git很火,作为微软系的程序员也不得不学一点防身,以免被开 ...

  5. 10分钟学会Less开发环境搭建与初体验

    Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. 今天看一下,10分钟能不能手把手快速教会你Le ...

  6. 【译】10分钟学会Pandas

    十分钟学会Pandas 这是关于Pandas的简短介绍主要面向新用户.你可以参考Cookbook了解更复杂的使用方法 习惯上,我们这样导入: In [1]: import pandas as pd I ...

  7. 【C/C++】10分钟教你用C++写一个贪吃蛇附带AI功能(附源代码详解和下载)

    C++编写贪吃蛇小游戏快速入门 刚学完C++.一时兴起,就花几天时间手动做了个贪吃蛇,后来觉得不过瘾,于是又加入了AI功能.希望大家Enjoy It. 效果图示 AI模式演示 imageimage 整 ...

  8. C# 10分钟完成百度语音技术(语音识别与合成)——入门篇

    我们已经讲了人脸识别(入门+进阶).图片识别(入门).下面是链接: C# 10分钟完成百度人脸识别——入门篇 C# 30分钟完成百度人脸识别——进阶篇(文末附源码) C# 10分钟完成百度图片提取文字 ...

  9. 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发

    前言 我们之前聊过 10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡:https://www.cnblogs.com/xiongze520/p/103087 ...

  10. 10分钟极速入门dash应用开发

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,几天前我发布了由我开源维护的dash通用网页组件库fac的0 ...

随机推荐

  1. 如何使用 MySQL 的 EXPLAIN 语句进行查询分析?

    如何使用 MySQL 的 EXPLAIN 语句进行查询分析? EXPLAIN 是 MySQL 提供的分析 SQL 查询执行计划的工具,用于了解查询语句的执行过程,帮助优化查询性能. 1. EXPLAI ...

  2. Python requests代理(Proxy)使用教程

    Python requests代理(Proxy)使用教程 在 Python 的 requests 库中,使用代理服务器可以让你通过不同的网络路由发送 HTTP 请求.代理服务器可以帮助隐藏真实 IP ...

  3. stackbd:在一个块设备上堆叠另一个块设备

    stackbd 是一个虚拟的块设备,它作为另一个块设备的前端,如 USB 闪存盘或循环设备.它将I/O请求传递给底层设备,同时它打印请求信息用于调试.它还有可能修改请求. 堆叠块设备(stackbd) ...

  4. liunx git 免密码登录

    vscode远程git或在linux环境使用git时,每次clone都要输入帐号密码,很不方便,可以使用下面一行命令,系统会记录你输入的下一次帐号密码.(明文记录,注意规避风险)   # 执行   g ...

  5. 成语答题小程序v3.0

    自从开源成语答题小程序以来不断完善功能,并且不断修复bug,成语答题小程序v3版本完善了很多功能 1.增加了原生模板广告,设置原生模板广告后可以设置首页或答题页是否显示原生模板广告 2.增加了背景设置 ...

  6. 盈亏平衡之"盈亏平衡点和总可变成本和总收入和利润和边际收益"

    案例1 案例2 案例3 因为他这里没有按2w件来算,而是按4w件 利润 = 总收入 - 总成本 总收入 = 产量 * 单价 总成本 = 固定成本 + 变动成本 变动成本 = 单件可变成本 * 产量 案 ...

  7. HarmonyOS NEXT开发实战教程--招聘app

    这一周忙到起飞,只能在周末发个文章.今天的内容比较简单,是一个招聘app,适合新手友友参考,大佬们可以直接忽略. 看一下效果图: 这是一个比较常见的应用,大家做这类应用建议大家先分析一下应用和页面的结 ...

  8. 【语义分割专栏】先导篇:常用数据集(VOC、Camvid、Cityscape、ADE20k、COCO)

    目录 前言 mask模式 PASCAL-VOC2012 下载 数据集简介 数据加载(dataloader) CamVid 下载 数据集简介 数据加载(dataloader) Cityscape 下载 ...

  9. AI工程师跑路了-怎么办?

    ​ 从雪山飞狐到百年孤独 百无聊赖中翻开了又一本金庸的小说<雪山飞狐>,江湖侠气,快意恩仇瞬间跃然纸上,唯有最后胡斐那一刀才让读者回到了现实.之前刚读了<明朝那些事儿>,最后重 ...

  10. 阅读类元服务开发笔记---week4

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...