登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
使用.NET开发一个跨平台功能完善的小智AI客户端 ...
使用.NET开发一个跨平台功能完善的小智AI客户端
[ 复制链接 ]
仟仞
2025-10-5 14:08:06
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前言
前面几篇文章已经把机器人硬件控制部分的开发讲得差不多了,包括屏幕控制、舵机驱动、语音交互等功能。但是之前的外形太过简单,可动角度不够多,所以我就新改进了一个版本,叫VerdiBot(阿荫),详细视频介绍地址请点击链接。
ESP32社区最火的AI对话机器人非小智AI莫属了,所以为了让自己做的机器人对话部分也足够的生动我就重新实现了一个.NET版本的小智客户端,打算后期集成更多的功能,并整理成了一个完整的开源项目——
Verdure Assistant(绿荫助手)
,这是一个基于.NET 9.0的多平台AI语音助手,支持Windows桌面、Android移动端、命令行以及Web API等多种使用方式。
这篇文章主要是给大家讲讲这个对话机器人项目的一些代码,方便想尝试的小伙伴快速上手体验。项目代码已经开源了,大家可以自己研究,遇到问题也欢迎提Issue讨论。
GitHub项目地址
:https://github.com/maker-community/Verdure.Assistant
问题解答
Q: 之前为什么特意做树莓派wifi配网的功能?
A: 之前的博客有网友说我浪费生命开发wifi配网功能,我在评论区也有讲过原因,现在我在这里再讲一遍,因为有时候我们拿着设备到新环境的时候,并不能时刻有可用的显示器和鼠标键盘,但是又需要联网,这时就可以使用wifi配网了。然后ssh连接到设备上就可以像服务器一样控制了。
Q: 支持哪些AI服务?
A: 目前主要对接的是小智AI服务,后续计划支持更多AI服务的接入,包括OpenAI等。项目采用了抽象设计,扩展起来比较方便。
Q: 项目使用什么技术栈?
A: 核心使用.NET 9.0,跨平台UI用.NET MAUI,Windows桌面使用的WinUI 3。网络音频编解码用的OpusSharp库,音频录制播放使用的最近社区刚有人开源的的SoundFlow库,这个库功能完善,使用方便,并且内置了多种音频格式解码的播放,所以我用它替换了之前的PortAudioSharp2,网络通信基于WebSocket和MQTT(未测试)。详细的技术点在GitHub的README里都有说明。
Q: 为什么要重新实现这个项目?
A: 目前小智AI机器人有免费的服务端可以使用,而且整个架构都很优雅,对比我之前的实现优点很多,所以重新实现一个客户端对于用户体验有很大的帮助,并且协议是公开的,以后如果想自己拓展实现服务端也是很轻松的。
项目整体架构
目录结构
项目采用清晰的分层架构,便于理解和扩展:
Verdure.Assistant/ ├── src/ # 源代码 │ ├── Verdure.Assistant.Core/ # 核心库(音频、网络、服务) │ ├── Verdure.Assistant.ViewModels/ # 共享视图模型(MVVM) │ ├── Verdure.Assistant.Console/ # 控制台应用 │ ├── Verdure.Assistant.WinUI/ # WinUI桌面应用 │ ├── Verdure.Assistant.MAUI/ # MAUI移动应用 │ └── Verdure.Assistant.Api/ # Web API服务 ├── tests/ # 测试项目 ├── docs/ # 技术文档 └── scripts/ # 构建脚本
复制代码
GitHub项目地址
:https://github.com/maker-community/Verdure.Assistant
核心功能模块
语音交互模块
:使用微软的语音认知服务的关键词唤醒,加载关键词唤醒模型文件不需要Azure订阅("你好小电"/"你好小娜")
src/Verdure.Assistant.Core/Services/WakeWords/KeywordSpottingService.cs
音频处理模块
:Opus编解码、SoundFlow音频播放、跨平台音频录制
src/Verdure.Assistant.Core/Services/Audio/AudioDataDistributor.cs
src/Verdure.Assistant.Core/Services/Audio/OpusSharpAudioCodec.cs
src/Verdure.Assistant.Core/Services/Audio/SoundFlowAudioPlayer.cs
src/Verdure.Assistant.Core/Services/Audio/SoundFlowAudioRecorder.cs
网络通信模块
:WebSocket实时通信、MQTT物联网协议
src/Verdure.Assistant.Core/Services/Protocols/WebSocketClient.cs
状态管理模块
:设备状态机、会话状态控制
src/Verdure.Assistant.Core/Services/StateMachine/ConversationStateMachine.cs
src/Verdure.Assistant.Core/Services/StateMachine/ConversationStateMachineContext.cs
音乐播放模块
:集成酷狗/酷我API、在线播放和缓存
src/Verdure.Assistant.Core/Services/KuwoMusicService
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
使用
NET
开发
一个
跨平台
相关帖子
FFmpeg开发笔记(九十四)基于Kotlin的国产开源推拉流框架anyRTC
.NET周刊【11月第3期 2025-11-16】
.NET 10 网络堆栈深度架构解析:HTTP/3、性能优化与后量子加密的融合演进
记录 Windows系统开启hyper-v ,部分端口被保留,导致端口不能使用而报错的问题
.NET周刊【11月第4期 2025-11-23】
Claude Code 使用 Skills
.Net-Avalonia学习笔记(目录)
如何使用DashVector的多向量检索
.NET周刊【11月第5期 2025-11-30】
.NET周刊【11月第5期 2025-11-30】
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
FFmpeg开发笔记(九十四)基于Kotlin的国产开源推拉流框架anyRTC
1
680
晾棋砷
2025-12-14
业界
.NET周刊【11月第3期 2025-11-16】
0
441
簧横
2025-12-14
业界
.NET 10 网络堆栈深度架构解析:HTTP/3、性能优化与后量子加密的融合演进
0
944
段干叶农
2025-12-14
安全
记录 Windows系统开启hyper-v ,部分端口被保留,导致端口不能使用而报错的问题
0
202
溜椎干
2025-12-15
业界
.NET周刊【11月第4期 2025-11-23】
0
145
浅皮懔
2025-12-15
安全
Claude Code 使用 Skills
0
219
王妍芳
2025-12-16
业界
.Net-Avalonia学习笔记(目录)
0
191
恙髡
2025-12-16
业界
如何使用DashVector的多向量检索
0
248
别萧玉
2025-12-16
业界
.NET周刊【11月第5期 2025-11-30】
0
361
背竽
2025-12-16
业界
.NET周刊【11月第5期 2025-11-30】
0
990
闻成
2025-12-16
回复
(6)
啦汇
2025-10-19 22:12:46
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
老僻贞
2025-10-21 12:28:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
唐嘉懿
2025-11-3 11:04:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
山芷兰
2025-11-4 14:46:59
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
唐嘉懿
2025-11-23 15:20:15
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
慎气
6 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
仟仞
6 天前
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994893
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
157
【译】初探 Visual Studio 2026 全新的用户
315
建筑渗漏治理的标准化实践:基于上海芮生建
48
Aspire 13:从.NET 编排工具到真正的多语言
997
用 .NET 最小化 API 构建高性能 API
394
VonaJS是如何做到文件级别精确HMR(热更新)
386
PHP 值对象实战指南:避免原始类型偏执
98
北京上门收酒机构排行|3家靠谱之选,卖酒
921
好拼|免费在线拼图工具又收到赞助啦
479
数据点的“社交距离”:衡量它们之间的相似
718
告别“草率编程”:Vibe Engineering 如何
10
字符串匹配算法
342
监听小工具-股票监控神奇九转分钟线信号触
427
国内GEO优化技术深度测评:核心维度全景对
366
Avalonia源码解读:Grid(网格控件)
239
研究 TikTok 爆款的人,一定要懂这类下载工
960
Java Optional 完全指南:优雅处理 null 的
26
全面封禁 Cursor!又一家大厂出手了
883
记一次MySQL binlog日志导致磁盘空间占满的
783
记一次MySQL binlog日志导致磁盘空间占满的
880
小白也能看懂的RLHF-PPO:原理篇