- 博客(219)
- 收藏
- 关注
原创 React(二):构建一个简单的聊天助手学到的React知识
先来看下效果。非流式(基本不会用):流式:其实创建React项目一般都会直接使用组件库,比如Ant-Design,就比如构建聊天助手,其实使用Ant-Design-X就比较好,但是毕竟Ant-Design-X太新了,AI估计写的不太好,需要自己看文档,后面可以考虑用下Ant-Design-X。刚开始学习可以先不用组件,直接把界面交给AI,样式也直接让AI来写。等到对React有一些基础的了解了,就可以自己上手看组件库的文档,去使用组件库了。
2025-11-04 14:22:52
367
原创 React学习(一):使用react-router构建导航应用
由于C#用的真的太舒服了,导致我其它语言其它框架都只是浅浅的了解一下,没写过多少代码,就偶尔用下Python。现在AI时代其实熟练了一门语言,去学习其它语言其它框架其实是很方便的,AI就是最好的老师,基础知识你都不需要用很好的AI,国产的glm-4.6、kimi k2就够了。C#是我的舒适区,WPF也是我的舒适区,现在尝试跳出舒适区多接触一些新语言新框架。
2025-11-04 14:21:23
1066
原创 WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
最近新出了一个Microsoft Agent Framework框架,我感觉还挺有意思的,就通过它的那个例子,做了一个终端助手Agent。我觉得使用这个作为学习人在环上这个例子蛮合适的,因为对于需要执行敏感操作(如系统命令)的场景,人工审批机制显得尤为重要。本文以Rouyan为例,说明如何使用Microsoft Agent Framework创建一个能够执行终端命令并具备人工审批功能的WPF应用。在详细介绍之前,先来看看它的效果。
2025-10-20 09:18:15
1259
原创 学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
要介绍ReAct最好要知道它是从哪来的。ReAct这个概念出自《REACT : SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS》这篇很牛的论文。论文地址:https://arxiv.org/abs/2210.03629我们先来看下这篇论文的摘要:翻译:尽管大型语言模型(LLMs)在语言理解和交互式决策任务中展现了卓越的性能,但其推理能力(如思维链提示)与行为能力(如行动规划生成)以往主要被作为独立课题进行研究。
2025-10-16 11:11:09
475
原创 WPF应用绑定系统快捷键
通过 Win32 API 在用户态安装后,系统在键盘事件产生时会优先回调你提供的函数,让你的程序有机会观察、处理,甚至拦截按键,再将事件传递给系统或其他钩子。在代码中的应用:在 SetHook 方法中调用,获取当前进程主模块的句柄,作为 SetWindowsHookEx 的 hMod 参数,用于关联钩子到当前应用程序模块。意思是安装低级键盘钩子并返回钩子句柄,proc就是钩子的回调方法,然后传入当前这个模块,0表示对系统范围内所有线程生效(全局钩子)。用途:将钩子信息传递给钩子链中的下一个钩子过程。
2025-10-16 11:10:20
571
原创 Rouyan:使用WPFC#构建的基于LLM的快捷翻译小工具
都说技术服务于业务,对我个人而言可能谈不上有什么业务,但是确实有一些个人的需求。我很喜欢C#也很喜欢WPF,最近刚学了Stylet这个框架,就想着先试着用它搞一个解决自己阅读英文文献一些小需求的小工具,现在开源出来,希望也能帮助到跟我有一样需求的朋友。Rouyan是一个使用WPF/C#构建的基于LLM的快捷翻译(也能自定义其它功能)的小工具。Rouyan的简介是,说实话实现的功能用ChatBox类工具如CherryStudio也都能实现,所以没什么特别的,只是对我而言有些场景减少了复制粘贴。
2025-10-09 12:48:12
789
原创 WPF应用最小化到系统托盘
在现代桌面应用开发中,系统托盘(System Tray)功能已经成为用户体验的重要组成部分。特别是对于需要长时间运行的应用程序,如即时通讯工具、音乐播放器、系统监控工具等,最小化到系统托盘不仅可以节省任务栏空间,还能让应用在后台持续运行,随时为用户提供服务。本文以Rouyan这个WPF应用为例,说明在WPF中如何实现最小化到系统托盘。
2025-10-09 12:44:56
1151
原创 理解WPF Stylet中Command=“{s:Action 方法名}“的设计与实现
Stylet是我最近很喜欢使用的一个WPF框架,它的很多设计都体现了约定优于配置的思想。因此你会发现使用它非常方便,几乎不需要任何配置,开箱即用,只需知道它的一些约定即可。然后你点击这个按钮,就会触发对应ViewModel中的SayHello方法,使用起来非常简单方便。这背后Stylet框架做了什么呢?让我们揭开它的神秘面纱吧!!
2025-09-24 10:27:02
561
原创 WPF依赖属性学习
WPF 依赖属性(Dependency Property)是 WPF 框架的核心基础设施之一,它扩展了传统 .NET 属性的能力,为 WPF 提供数据绑定、动画、样式、继承值、属性值变更通知等高级功能。为什么需要设计依赖属性?因为依赖属性做到了CLR属性没做到的一些事情。1、数据驱动 UI 的动态性需要“可计算的值在 WPF 里,绑定的值、样式 Setter 的值、触发器的值、动画帧的值,都是事后才知道的,甚至可以在运行时不断切换来源。CLR 属性:值写死在一个私有字段里,谁最后 set 就留谁。
2025-09-23 09:08:51
846
原创 WPF原生实现命令例子
最近在学习Stylet中Command="{s:Action 方法名}"的设计与实现,但要弄明白这个之前,必须对原生实现命令比较熟悉,一想我也很久没有自己实现原生的命令了,之前都是用库来实现,所以今天先来回顾一下,在WPF中如何实现原生的命令。
2025-09-23 09:07:40
884
原创 公益站Agent Router注册送200刀额度竟然是真的
昨天看到说Agent Router邀请注册送100美刀,我就点了别人的链接,使用github注册了一个,确实得到了额度。邀请链接:https://agentrouter.org/register?如果你也是第一次使用的话,应该和我一样能得到200美刀的额度,够用一段时间了。但是今天测试了一下在Claude Code确实能用,而且速度也还可以!ANTHROPIC_AUTH_TOKEN:密钥。感兴趣的朋友也快来试试吧!使用 pnpm 安装(推荐)安装Claude Code。或使用 npm 安装。
2025-09-17 18:54:41
606
1
原创 Stylet启动机制详解:从Bootstrap到View显示
今天以这个demo为例,学习一下Stylet的启动机制。平常我们新建一个WPF程序结构是这样的:启动之后就是这样的:为什么启动之后是这样的呢?我们知道是因为在App.xaml中我们设置了。现在来看看的结构:我们发现它删掉了StartupUri,然后多了一个。说明启动起来就显示ShellView的玄机就在其中!!
2025-08-18 13:54:09
1133
原创 WPF Stylet可以如何实现导航功能?
本文是学习Stylet中导航Demo的总结,希望对你有所帮助。Demo所在的位置:先看一下导航的效果:首页通过上面导航到Page 2:Stylet导航功能的实现主要是通过实现的。!
2025-08-18 13:53:15
358
原创 如何更好地使用AI编程?
现在已经越来越依赖AI编程了,在实践AI编程的过程中,遇到了一个有意思的例子,分享给大家,希望对大家更好地使用AI编程有帮助。这是不是很像大模型还没出现以前,大家戏称的,直接叫我们写,可能有点印象,但是总也写不对,通过看别人的博客,吸取别人成功的经验,然后再应用到自己的项目中。
2025-08-14 19:18:16
426
原创 WPF优秀项目推荐:Stylet 一个非常轻量但强大的 ViewModel-First MVVM 框架
Stylet 是一个小型但功能强大的 ViewModel 优先的 MVVM 框架,适用于 WPF (.NET 4.5.2+ 和 .NET Core 3.0+),它允许您编写易于测试的可维护和可扩展的代码。Stylet 的目标是:解决没有框架时阻碍 MVVM 开发的障碍、烦恼和不便,使用简单但强大的概念。对于第一次接触您项目的人员来说是显而易见的:几乎没有什么魔法。易于验证/验证。代码行数较少,并附有非常全面的测试套件。代码编写良好且文档齐全。提供灵活性同时提供合理的默认值。
2025-08-14 19:17:17
683
原创 C#:wpf ui 4.0 是如何实现页面导航的?
wpf ui 是一款我比较喜欢的wpf ui界面开源库,目前已经获得了8.5颗stars,还是很受欢迎的:wpf ui在vs中也提供了快速开发模板:让wpf开发者可以快速进行应用开发,已经设置好了模板。但是我发现最新的模板的页面导航方式跟之前不一样了。先看下wpf ui的迁移文档:迁移计划本页概述了迁移时需要考虑的关键变更和重要细节。它突出了新功能、已更改的内容以及确保顺利过渡所需的步骤。这不是一份完整的逐步指南,而是一个快速参考,帮助您导航迁移过程中最关键的部分。抽象包。
2025-07-25 15:21:03
1154
原创 Qwen Code与Claude Coder Router体验
Qwen Code 是一个命令行 AI 工作流工具,源自 Gemini CLI,针对 Qwen3-Coder 模型进行了优化,增强了解析器支持和工具支持。
2025-07-25 15:20:15
1273
原创 适用于编程小白的Python学习01:Pandas初探
Python虚拟环境是一个独立的、隔离的Python运行环境,它允许你为每个项目安装独立的库和依赖项,而不会与系统中其他Python项目或全局Python环境发生冲突,从而有效地管理项目依赖、避免版本问题,并确保项目在不同机器上具有可复制性。各位编程小白们,大家好!踏上Python学习之旅的你,是否对海量数据感到一丝迷茫?面对表格中密密麻麻的数字和文字,是不是渴望能有一种工具,像魔术师一样,轻松驾驭它们,从中发现有价值的秘密?那么,恭喜你,你找对地方了!我们将开启Pandas的学习之旅。
2025-06-27 15:55:06
939
原创 适用于编程小白的Python学习01:Pandas初探
Python虚拟环境是一个独立的、隔离的Python运行环境,它允许你为每个项目安装独立的库和依赖项,而不会与系统中其他Python项目或全局Python环境发生冲突,从而有效地管理项目依赖、避免版本问题,并确保项目在不同机器上具有可复制性。各位编程小白们,大家好!踏上Python学习之旅的你,是否对海量数据感到一丝迷茫?面对表格中密密麻麻的数字和文字,是不是渴望能有一种工具,像魔术师一样,轻松驾驭它们,从中发现有价值的秘密?那么,恭喜你,你找对地方了!我们将开启Pandas的学习之旅。
2025-06-27 15:53:38
1064
原创 Python学习:PocketFlow中的RAG例子
想象RAG就像在AI回答问题之前给了它一个个人的研究图书馆员。以下是这个魔法如何发生的:文档收集:你把你的文档(公司手册、文章、书籍)提供给系统,就像书被添加到图书馆一样。切片:系统将这些文档分解成易于消化的小块——就像图书馆员将书籍按章节和部分划分,而不是处理整本书。嵌入:每个小块被转换成一种特殊的数字格式(向量),能够捕捉其含义——类似于创建能够理解概念而不仅仅是关键词的详细索引卡。索引:这些向量被组织在一个可搜索的数据库中——就像一个理解不同主题间关系的神奇卡片目录。检索。
2025-06-27 15:51:52
775
原创 C#学习:构建一个更真实的基于LLM的简历评估系统
昨天的Demo以txt文件为例进行说明,并且评估标准写死了,跟真实的简历评估系统差别太大了。今天分享的是经过改进后更加真实的基于LLM的简历评估系统。使用AI生成了5份不同的简历,如下所示:程序员A:程序员B:程序员C:程序员D:程序员E:- 具备前端开发能力- 使用过Vue""";效果:- 具备后端开发能力- 熟悉go语言""";
2025-05-29 15:57:27
433
原创 C#学习:基于LLM的简历评估程序
在pocketflow的例子中看到了一个基于LLM的简历评估程序的例子,感觉还挺好玩的,为了练习一下C#,我最近使用C#重写了一个。准备不同的简历:查看效果:不足之处是现实的简历应该是pdf格式的,后面可以考虑转化为图片然后用VLM来试试。全部代码已上传至GitHub,地址:https://github.com/Ming-jiayou/PocketFlowSharp/tree/main/PocketFlowSharpSamples.Console/Resume_Qualification_Demo。
2025-05-29 15:56:25
1209
转载 手把手教你使用C#创建一个WebSearchAgent
最近我对PocketFlow比较感兴趣,不仅是因为它是一个极简的LLM框架,更加让我觉得很不错的地方在于作者提供了很多方便学习的例子,就算没有LLM应用开发经验,也可以快速上手。我比较喜欢C#,也想为C#生态做一点小小的贡献,因此创建了PocketFlowSharp项目。PocketFlowSharp项目的愿景是助力.NET开发者开发LLM应用。在我个人在学习实践的过程中,我发现很多项目不是那么“新手友好的”,这也没有办法,开发者更关注的是代码实现,文档写起来确实也很费劲。
2025-05-16 15:12:42
725
原创 使用PocketFlowSharp创建一个Human_Evaluation示例
全部代码在:https://github.com/Ming-jiayou/PocketFlowSharp/tree/main/PocketFlowSharpSamples.Console/Human_Evaluation。有时候AI生成的结果我们并不满意在进入下一步之前,我们需要对AI生成的结果进行人工审核,同意了才能进入下一个流程。Human_Evaluation就是人工判断的一个简单示例。
2025-05-16 15:11:31
617
原创 使用PocketFlow构建Web Search Agent
本文介绍的是PocketFlow的cookbook中的pocketflow-agent部分。回顾一下PocketFlow的核心架构:每一个节点的架构:“Pocket Flow,一个仅用 100 行代码实现的 LLM 框架”
2025-05-13 15:30:50
1298
原创 Pocket Flow,一个仅用 100 行代码实现的 LLM 框架
PocketFlow是我最近在探索的一个LLM 框架,我觉得很有意思,因此推荐给大家。这个框架最大的特点就是:“Pocket Flow,一个仅用 100 行代码实现的 LLM 框架”。我很好奇,一个框架只有100行代码是怎么做到的,它又有什么魅力呢?正如作者所言现在的LLM框架过于臃肿了!臃肿的抽象:正如 Octomind 的工程团队所解释的:“LangChain 在最初对我们简单的功能需求与它的使用假设相匹配时很有帮助。但其高级抽象很快使我们的代码更难以理解并令人沮丧地难以维护。
2025-05-13 15:29:45
785
原创 使用C#构建一个同时问多个LLM并总结的小工具
在AI编程时代,如果自己能够知道一些可行的解决方案,那么描述清楚交给AI,可以有很大的帮助。但是我们往往不知道真正可行的解决方案是什么?我自己有过这样的经历,遇到一个需求,我不知道有哪些解决方案,就去问AI,然后AI输出一大堆东西,我一个个去试,然后再换个AI问,又提出了不同的解决方案。在换AI问与一个个试的过程中好像浪费了很多时间。突然出现了一个想法,不是可以一下子把问题丢给多个AI,然后再总结一下出现最多的三个方案。那么这三个方案可行的概率会大一点。
2025-05-09 12:23:31
613
原创 ESP32教程:通过WIFI控制LED灯的开关
setup()用于初始化,loop()用于重复执行。如何使用pinMode()设置引脚模式,以及如何使用控制数字输出(开关 LED)。如何使用Serial对象向电脑发送调试信息。如何包含库、设置 SSID/密码、启动连接、检查状态并获取 IP 地址。如何包含库、创建服务器对象、设置路由(将 URL 路径映射到处理函数)、启动服务器以及在loop()中处理客户端请求。了解请求 (访问 URL) 和响应 (服务器发送回的内容),以及简单的 HTTP 状态码 (200 OK) 和内容类型 (
2025-05-09 12:22:02
715
转载 使用这个工具,基于代码仓库直接生成教程文档,感觉比我自己写的还好
这是一个 Pocket Flow 的教程项目,一个仅100行代码的LLM框架。它爬取 GitHub 仓库,并从代码中构建知识库。它分析整个代码库以识别核心抽象及其交互方式,并将复杂的代码转化为带有清晰可视化内容的初学者友好教程。首先,我们定义一个服务多的就不放了,感兴趣的朋友可以去GitHub上看完整的,让我惊讶的地方是感觉gemini-2.5-pro-exp-03-25的图画的很不错,在教程中多放点这种图,会让读者更加清晰易懂。
2025-04-24 16:37:21
1134
原创 使用CAMEL实现RAG过程记录
本文为学习使用CAMEL实现RAG的学习总结。参考自官方cookbook,地址:https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag.html在官方cookbook分为了Customized RAG、Auto RAG、Single Agent with Auto RAG与Role-playing with Auto RAG四个部分。
2025-04-18 12:30:45
794
原创 使用CAMEL创建第一个Agent Society
🐫 CAMEL 是一个开源社区,致力于探索代理的扩展规律。相信,在大规模研究这些代理可以提供对其行为、能力和潜在风险的宝贵见解。为了促进这一领域的研究,实现了并支持各种类型的代理、任务、提示、模型和模拟环境。GitHub地址:https://github.com/camel-ai/camel。
2025-04-18 12:29:58
1020
原创 ESP32+Arduino入门(四):OLED屏随机显示古诗
我觉得去做一些简单又好玩的案例是入门很好的选择。在实践的过程中会碰到很多需求很多问题在解决这些需求这些问题的过程就是在学习的过程。今天我来分享一个随机显示古诗的案例,如果对此感兴趣可以跟我一起动手实践起来。
2025-04-12 14:53:09
735
原创 ESP32+Arduino入门(三):连接WIFI获取当前时间
NTPClient 是一个客户端程序,它使用网络时间协议(NTP)从网络时间服务器获取当前时间。环境中,Time是一个轻量级的库,主要用于处理 时间戳和 日期时间的计算、格式化和同步。网络时间协议(NTP):NTP 是一个互联网协议,用于在计算机系统之间同步时钟。ESP32内置了WIFI模块连接WIFI非常简单方便。本次分享的是在OLED屏上显示当前时间的案例。需要用到NTPClient。还需要安装一个Time库。需要先安装一下这个库。
2025-04-12 14:51:23
546
转载 ESP32+Arduino入门(一):开发环境搭建
作为一名硬件小白,在动手组装了一下小智AI之后,感觉还挺有意思的,也想开始学习ESP32了。ESP32 是乐鑫科技(Espressif Systems)推出的一款高性能、低功耗的 Wi-Fi 和蓝牙双模微控制器芯片,广泛应用于物联网(IoT)、智能家居、可穿戴设备等领域。经过调研推荐小白使用Arduino入门。Arduino 是一个基于易于使用的硬件和软件的开源电子平台。
2025-04-10 12:13:51
873
1
原创 AI工具推荐:使用AnythingLLM帮助你学习
AnythingLLM 是一个最容易使用的全能 AI 应用,可以进行 RAG、AI 代理等多种功能,无需编写代码或担心基础设施问题。GitHub地址:https://github.com/Mintplex-Labs/anything-llm官方网址:https://anythingllm.com/AnythingLLM是我体验之后觉得很好的一款开源软件,使用起来非常简单方便,对于有构建个人知识库需求的人非常合适。
2025-04-08 10:39:26
275
原创 通过TTS模型让猴哥给你讲个故事
TTS(Text-to-Speech,文本转语音)技术是一种将书面文本转换为口语语音的技术。这种技术广泛应用于各种场景,如语音助手、导航系统、有声读物、自动电话应答系统等。TTS系统的目的是为了让计算机能够“说出”人们能理解的语言,从而改善人机交互的体验,使得信息传递更加自然和亲切。本文简单介绍了TTS技术,使用了硅基流动提供的TTS模型,通过让猴哥给我们讲个故事的demo,了解TTS的用途,学习使用ffmpeg播放音频数据,希望对你有所帮助。
2025-04-08 10:38:18
1234
原创 C#连接小智服务器并将音频解码播放过程记录
最近小智很火,本文记录C#连接小智服务器并将音频解码播放的过程,希望能帮助到对此感兴趣的开发者。如果没有ESP-32也想体验小智AI,那么这两个项目很适合你。如果你有自定义服务端的需求,可以关注这个项目:如果没有硬件的话,对接小智服务端主要就是看通讯协议。
2025-04-02 10:04:29
790
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅