利用IFTTT与Webhook实现Google Assistant声控电脑锁屏
1. 从语音指令到物理锁屏一个被忽视的自动化场景“嘿谷歌锁上我的电脑。” 这句话听起来像是科幻电影里的桥段但如果你恰好是Google智能家居生态的用户并且你的电脑就在几步之外这个想法就会变得非常诱人。想象一下你正窝在沙发里看剧突然需要起身去厨房或接个电话电脑屏幕上还开着一些私人或工作文档。此时你既不想走过去手动操作又担心屏幕内容被旁人瞥见。如果只需动动嘴皮子就能让电脑瞬间进入锁屏状态无疑是一种既优雅又实用的体验。这不仅仅是懒人福音更是一个典型的“场景自动化”需求。它连接了两个看似独立的领域以Google Assistant为代表的智能语音助手和我们的个人电脑PC。然而当你真正尝试去实现它时会发现这条路并非坦途。市面上并没有一个官方的、开箱即用的解决方案。Google Assistant擅长控制智能灯、调节恒温器TemperatureControl甚至切换智能插座模式Modes但对于直接向一台Windows或macOS电脑发送“锁屏”指令却显得无能为力。这中间缺失的一环正是我们今天要深入探讨和动手填补的。这个项目的核心价值在于利用现有的、成熟的技术组件搭建一座沟通语音世界与桌面系统的桥梁。它不涉及高深莫测的黑客技术而是对自动化工具链的创造性组合。对于智能家居爱好者、效率追求者或是任何希望减少重复性手动操作的用户来说实现这个功能的过程本身就是一次绝佳的自动化思维训练。接下来我将带你从零开始拆解这个需求并一步步构建一个稳定、可靠的“声控锁屏”系统。2. 技术方案选型为什么是IFTTT任务自动化要实现“Hey Google”触发PC锁屏我们需要解决一个根本问题指令的跨平台路由与执行。Google Assistant的指令无法直接抵达你的电脑因为它俩不在同一个通信频道上。因此我们必须引入一个“中间人”或“触发器”来翻译并传递这个指令。纵观现有的技术栈主要有几条路径可走Google Assistant 智能设备模拟寻找或开发一个能被Google Assistant识别为“设备”的虚拟开关其开关动作能触发电脑端的某个操作。这条路看似最直接但门槛极高。你需要一个公开的、符合Google智能家居协议如Smart Home的服务器处理OAuth认证和设备状态同步这对于个人项目来说过于沉重。Google Assistant 自定义App/Service开发一个在电脑上常驻的后台服务并让它通过某种方式如Google Assistant SDK直接与Assistant对话。这同样复杂涉及SDK集成、OAuth配置和后台服务开发稳定性维护成本高。Google Assistant IFTTT 本地执行器推荐方案这是最务实、最快捷的方案。其核心思想是利用IFTTTIf This Then That这个成熟的自动化平台作为“中间人”。Google Assistant可以轻松触发IFTTT Applet小程序而IFTTT则可以通过Webhook网络钩子向你的电脑发送一个信号。电脑上只需运行一个轻量级的服务监听这个Webhook收到信号后执行锁屏命令即可。为什么我强烈推荐第三条路径让我们对比一下开发与维护成本方案1和2需要持续的服务器维护或复杂的本地服务开发。方案3几乎无需编码或只需极简脚本依赖的都是稳定、免费的服务IFTTT基础功能和成熟的开源工具。可靠性IFTTT作为全球最大的自动化平台之一其与Google Assistant的集成经过多年打磨非常稳定。本地执行器只负责最简单的“接收-执行”动作出错的概率极低。扩展性一旦打通了IFTTT到本地电脑的通道你将打开一扇新世界的大门。你不仅可以锁屏还可以通过不同的语音指令让电脑执行其他操作比如播放/暂停音乐、启动某个程序、静音等等。只需在IFTTT上创建新的Applet并在本地服务中添加对应的处理逻辑即可。因此我们的技术架构最终确定为Google Assistant 作为输入 → IFTTT 作为逻辑处理与转发中心 → Webhook 作为传输协议 → 运行在PC上的本地服务如curl配合计划任务或使用Node-RED、Home Assistant等作为最终执行器。3. 实战搭建四步构建你的声控锁屏系统下面我们进入具体的实操环节。我将以 Windows 系统为例进行演示macOS 和 Linux 的思路完全一致只是锁屏命令和后台服务运行方式略有不同。3.1 第一步在IFTTT上创建核心AppletIFTTT是整个系统的中枢神经。首先你需要一个IFTTT账号免费版足够使用。创建新Applet登录IFTTT后点击右上角你的头像选择“Create”。点击“If This”。选择触发器This在搜索框中输入“Google Assistant”并选择它。你会看到多个触发器类型我们需要的是“Say a simple phrase”。点击它。配置语音指令What do you want to say?: 这里填写你希望对着Google设备手机、音箱等说的完整指令。例如Lock my computerWhats another way to say it? (optional): 可以添加同义句提高识别率。例如Secure my PC,Lock the PCWhat do you want the Assistant to say in response?: 这是执行成功后Assistant的语音回复。例如Okay, locking your computer now.这能给你一个明确的执行反馈。语言选择英语即可识别率更高。配置好后点击“Create trigger”。选择动作Then That点击“Then That”搜索“Webhooks”并选择它。选择“Make a web request”。这是整个流程的关键IFTTT将通过这个Webhook通知你的电脑。配置WebhookURL: 这是你本地服务的接收地址。由于我们的服务将在本地运行需要一个能让公网访问的临时地址。这里我们使用一个极其重要的工具ngrok。我们先跳过等第二步搭建好本地服务后再来填写。先留空。Method: 选择POST。虽然GET更简单但POST更规范适合传递可能的未来参数。Content Type: 选择application/json。Body: 可以留空或者传递一个简单的JSON对象用于标识例如{action: lock_screen}。这有助于你的本地服务区分不同的指令如果你未来扩展了其他功能。我们先写{action: lock}。暂存Applet先不要点击“Finish”。记下这个未完成的Applet我们配置完本地服务后再回来补全URL。3.2 第二步在PC上搭建本地Webhook接收服务我们的电脑需要有一个“耳朵”来监听IFTTT发来的信号。有多种方式可以实现这里介绍两种最轻量级的方案。方案A使用Python快速搭建一个微型HTTP服务器推荐给有一定编程基础的用户Python几乎预装在所有系统上非常适合做这种小工具。创建脚本文件新建一个文件命名为lock_server.py。编写服务器代码from http.server import HTTPServer, BaseHTTPRequestHandler import json import subprocess import logging # 配置日志方便调试 logging.basicConfig(levellogging.INFO, format%(asctime)s - %(message)s) class RequestHandler(BaseHTTPRequestHandler): def do_POST(self): # 1. 读取请求数据 content_length int(self.headers[Content-Length]) post_data self.rfile.read(content_length) try: data json.loads(post_data.decode(utf-8)) action data.get(action) logging.info(fReceived request with action: {action}) except: action None logging.warning(Received non-JSON or malformed request) # 2. 验证并执行锁屏命令 # 这里可以扩展根据不同的action执行不同命令 if action lock: # Windows锁屏命令 subprocess.run([rundll32.exe, user32.dll,LockWorkStation], shellTrue) # macOS命令: subprocess.run([pmset, displaysleepnow]) # Linux (GNOME)命令: subprocess.run([gnome-screensaver-command, -l]) logging.info(Computer lock command executed.) response {status: success, message: Computer locked.} status_code 200 else: logging.warning(fUnknown action: {action}) response {status: error, message: Unknown action.} status_code 400 # 3. 返回响应 self.send_response(status_code) self.send_header(Content-type, application/json) self.end_headers() self.wfile.write(json.dumps(response).encode(utf-8)) # 可选响应GET请求用于测试服务是否存活 def do_GET(self): self.send_response(200) self.send_header(Content-type, text/plain) self.end_headers() self.wfile.write(bLock Server is running.) if __name__ __main__: server_address (, 5000) # 监听本地所有网卡的5000端口 httpd HTTPServer(server_address, RequestHandler) logging.info(Starting lock server on port 5000...) httpd.serve_forever()运行服务在命令行中进入脚本所在目录运行python lock_server.py。如果提示模块缺失通常http.server是标准库的一部分。服务将在后台运行监听本机的5000端口。方案B使用Node-RED推荐给智能家居/自动化爱好者如果你已经在使用Node-RED管理其他家庭自动化这将是最优雅的方式。安装并启动Node-RED如果尚未安装。在流程编辑器中拖入一个http in节点。配置方法为POSTURL设置为/lock或其他你喜欢的路径。拖入一个function节点连接到http in节点之后。在函数中编写逻辑解析请求体判断动作。代码非常简单// 解析JSON body var payload JSON.parse(msg.payload); if (payload.action lock) { // 将执行命令的消息传递给下一个节点 msg.payload lock; return msg; } // 如果不是锁定指令可以返回null来终止流程 return null;拖入一个exec节点连接到function节点之后。在“命令”栏中填写对应系统的锁屏命令。对于Windows填入rundll32.exe user32.dll,LockWorkStation。记得勾选“将输出捕获到msg.payload”。最后拖入一个http response节点连接到exec节点之后用于给IFTTT返回成功响应。部署流程。此时Node-RED的内置服务器默认端口1880就会提供一个接收端点例如http://你的电脑内网IP:1880/lock。关键一步使用ngrok暴露本地服务到公网无论使用方案A还是B我们的服务都运行在家庭或公司的内网中IFTTT在公网上是无法直接访问的。ngrok的作用就是为你的本地服务创建一个临时的、安全的公网URL。前往 ngrok 官网注册一个免费账号并下载客户端。按照指南在终端中通过ngrok authtoken 你的token命令认证你的客户端。假设你的本地服务运行在http://localhost:5000Python方案或http://localhost:1880Node-RED方案。在终端运行# 对于Python方案 ngrok http 5000 # 或对于Node-RED方案 # ngrok http 1880运行后ngrok会显示一个Forwarding地址例如https://abcd1234.ngrok-free.app - http://localhost:5000。这个https://abcd1234.ngrok-free.app就是你的公网访问地址。请复制这个地址。3.3 第三步连接IFTTT与本地服务现在回到之前未完成的IFTTT Applet编辑页面。在Webhook动作的URL字段中填入你的ngrok地址并加上你的服务端点。对于Python方案如果你在代码中没有特殊路径处理POST请求直接发送到根路径即可。所以URL就是https://abcd1234.ngrok-free.app对于Node-RED方案URL需要包含你设置的路径https://abcd1234.ngrok-free.app/lockBody字段保持为{action: lock}。点击“Finish”完成Applet创建。3.4 第四步测试与优化基础测试确保你的本地服务正在运行ngrok隧道也处于活动状态。然后对你的Google Assistant设备手机或音箱说“Hey Google, Lock my computer”。你应该能听到设定的回复并且电脑屏幕立即被锁定。处理ngrok地址变动ngrok免费版的URL在每次重启后都会变化。这意味着IFTTT里的Webhook URL会失效。有几种解决方案使用付费版ngrok付费版可以保留固定的子域名。使用动态DNSDDNS配合路由器端口转发如果你有公网IP这是更稳定的一劳永逸的方案。在路由器上设置端口转发如将外网5000端口转发到内网电脑的5000端口并申请一个DDNS域名如花生壳。这样IFTTT中的URL就可以固定为http://你的域名:5000。但此方法需要网络知识且依赖于家庭宽带的公网IP很多运营商已不提供。使用云函数/服务器作为中继进阶在腾讯云、阿里云等平台部署一个极简的云函数。这个云函数的唯一作用就是接收IFTTT的请求然后转发到你当前的ngrok地址。你可以在本地写一个脚本每当ngrok重启获得新地址后就自动调用云函数的API去更新这个转发地址。这实现了动态寻址。让本地服务开机自启为了真正实现“随时待命”你需要配置本地服务随系统启动。Windows可以将运行Python脚本或Node-RED的命令做成一个批处理文件.bat然后将其放入“启动”文件夹按WinR输入shell:startup打开。macOS/Linux可以创建launchd服务或systemd单元。4. 安全考量与隐私边界将锁屏这种安全相关操作与语音指令绑定安全是首要考虑因素。我们必须严格界定这个自动化的工作边界防止误触发或恶意触发。指令唯一性与复杂性在IFTTT设置语音指令时避免使用过于简单或常见的短语如“锁屏”。使用“Lock my computer”或“Secure my PC”这样相对完整、独特的句子能有效降低误唤醒的概率。不要设置像“OK Google”这样容易被日常对话触发的词作为指令的一部分。网络通信安全使用HTTPSngrok免费版提供的是HTTPS地址这保证了IFTTT到ngrok隧道入口的传输是加密的。这是最基本的安全保障。请求验证关键这是最重要的安全加固层。IFTTT发出的Webhook请求任何知道URL的人都可以模拟。因此你的本地服务必须验证请求是否真的来自IFTTT。IFTTT Webhooks服务允许你设置一个“密钥”Secret。在IFTTT的Webhook设置页面找到你的服务设置可以添加一个密钥。在本地服务代码中你需要读取HTTP请求头中的X-IFTTT-Service-Key字段并与你设置的密钥进行比对。只有匹配的请求才执行锁屏操作。这能有效防止他人通过猜测或扫描你的ngrok地址来恶意锁屏。示例代码补充Python方案IFTTT_SECRET_KEY your_secret_key_here # 从环境变量或配置文件中读取更安全 class RequestHandler(BaseHTTPRequestHandler): def do_POST(self): # 验证密钥 received_key self.headers.get(X-IFTTT-Service-Key) if received_key ! IFTTT_SECRET_KEY: self.send_response(403) self.end_headers() logging.warning(Invalid or missing IFTTT service key.) return # ... 原有的处理逻辑 ...执行权限最小化本地服务运行锁屏命令时应以当前登录用户的权限执行这通常是足够的。不要为了图方便而让服务以系统最高权限如Windows的SYSTEMLinux的root运行这会将风险放大。物理边界意识这个方案的核心是“在同一局域网内通过语音便捷地触发一个安全操作”。它不是一个远程锁屏方案。如果你在办公室想锁住家里的电脑这需要完全不同的、更复杂且风险更高的远程桌面或管理协议绝不建议通过这种简单的Webhook方式实现。明确这个边界能帮助你正确评估和使用该功能。5. 举一反三扩展你的语音控制PC能力一旦你成功搭建了“声控锁屏”这个基础管道你会发现其潜力远不止于此。同一个架构可以轻松扩展出无数自动化场景。关键在于你的本地服务能够解析不同的“action”并执行对应的命令或脚本。以下是一些扩展思路你只需在IFTTT创建新的Applet使用不同的语音短语但指向同一个Webhook URL并在Body中传递不同的action值如{action: play_pause}。然后在本地服务的代码中添加对应的判断和执行逻辑。媒体控制“Hey Google, pause the music”→ 模拟按下系统的“媒体暂停”键。可以使用pyautogui库Python或nircmd工具Windows发送按键事件。“Hey Google, next track”/“Hey Google, volume up”同理。应用程序控制“Hey Google, open my editor”→ 执行启动代码编辑器如VS Code的命令。“Hey Google, start my presentation”→ 启动PPT并进入全屏放映模式。系统状态查询需服务能返回信息这需要更复杂的双向通信。一个思路是语音指令触发后本地服务执行一个脚本获取信息如CPU温度然后将数据通过另一个Webhook如IFTTT的“Webhook to Google Assistant”或推送服务如Pushbullet发送到你的手机。实现起来更复杂但并非不可能。与智能家居场景联动“Hey Google, Im leaving”→ 这个Applet可以同时执行多个动作通过Webhook锁屏你的电脑同时通过IFTTT关闭智能灯调节恒温器TemperatureControl到节能模式Modes。这就是自动化“场景”的魅力。实现这些扩展时一个良好的实践是将动作与执行命令的映射关系抽象成配置文件如一个JSON文件这样新增功能时就不需要频繁修改主服务代码只需更新配置并重启服务即可。整个搭建过程从需求分析、方案选型到安全加固是一次完整的微型系统设计实践。它教会我们的不仅是几行代码更是一种解决问题的思路如何利用现有工具以最小成本、最可靠的方式将不同生态的产品连接起来创造符合个人需求的独特体验。当你第一次用语音成功锁屏那种“魔法成真”的成就感正是驱动技术爱好者不断探索的原动力。

相关新闻

基于STM32的脑电信号采集系统设计:从模拟前端到数字滤波

基于STM32的脑电信号采集系统设计:从模拟前端到数字滤波

1. 项目概述:当STM32遇上脑电波最近在捣鼓一些生物信号采集的项目,发现脑电图(EEG)这个领域对硬件的要求其实挺有意思的。传统的EEG设备要么是大型的医疗仪器,要么是价格不菲的科研套件,对于想入门做点小实…

2026/8/19 6:01:46 阅读更多 →
嵌入式开发利器:AstroGrep正则搜索与代码分析实战指南

嵌入式开发利器:AstroGrep正则搜索与代码分析实战指南

1. 项目概述:为什么我们需要一个强大的嵌入式代码搜索工具? 如果你是一名嵌入式软件工程师,或者正在管理一个由C、C、汇编语言构成的复杂项目,你一定经历过这样的场景:为了修复一个由某个全局变量引发的诡异Bug&#x…

2026/8/19 6:01:46 阅读更多 →
如何用AlpacaEval自动评估模型性能:五分钟跑通你的第一个模型对比报告

如何用AlpacaEval自动评估模型性能:五分钟跑通你的第一个模型对比报告

如何用AlpacaEval自动评估模型性能:五分钟跑通你的第一个模型对比报告 【免费下载链接】alpaca_eval An automatic evaluator for instruction-following language models. Human-validated, high-quality, cheap, and fast. 项目地址: https://gitcode.com/gh_mi…

2026/8/19 6:01:46 阅读更多 →

最新新闻

LLM智能体服务调度优化:从请求到会话的范式转变

LLM智能体服务调度优化:从请求到会话的范式转变

1. 项目概述:当LLM智能体服务遇上调度瓶颈最近在折腾LLM智能体应用落地的朋友,估计都遇到过这么个场景:你设计了一个多轮对话的客服机器人,或者一个能拆解复杂任务的编程助手,上线后一开始跑得挺欢,用户一多…

2026/8/19 7:11:05 阅读更多 →
AI Agent状态追踪:从事件溯源到可观测性架构的设计与实践

AI Agent状态追踪:从事件溯源到可观测性架构的设计与实践

1. 项目概述:为什么我们需要一个可追踪的Agent状态?在AI Agent开发领域,尤其是涉及复杂任务编排和代码生成的场景里,我们常常会陷入一种“黑盒”困境。你给Agent一个指令,比如“帮我写一个用户登录的API”,…

2026/8/19 7:11:05 阅读更多 →
RT-Thread动态模块加载:从可重定位文件到内存重定位的实战解析

RT-Thread动态模块加载:从可重定位文件到内存重定位的实战解析

1. 从链接器脚本到内存布局:理解可重定位文件的基础在嵌入式开发中,我们常常听到“可重定位文件”(Relocatable File)这个概念,尤其是在RT-Thread这类支持动态加载模块的实时操作系统中。但很多开发者,包括…

2026/8/19 7:11:05 阅读更多 →
基于ESP32与WS2812B的智能LED光影墙DIY全攻略

基于ESP32与WS2812B的智能LED光影墙DIY全攻略

1. 项目概述:当智能光影遇见家居美学几年前,当那些像蜂巢一样发光的智能墙板第一次出现在科技展会上时,我就被迷住了。它们不仅仅是灯,更像是一面会呼吸、能互动的数字画布。但动辄数千元的价格,让很多像我一样的爱好者…

2026/8/19 7:11:05 阅读更多 →
福特车顶气囊专利解析:翻滚事故中的主动安全新思路

福特车顶气囊专利解析:翻滚事故中的主动安全新思路

1. 从“被动防护”到“主动求生”:一个被忽视的碰撞场景作为一名在汽车后市场和改装领域摸爬滚打了十几年的老手,我见过太多关于安全的故事。从早期的安全带、到后来的ABS、ESP,再到如今琳琅满目的主动安全系统,汽车安全的进化史&…

2026/8/19 7:11:05 阅读更多 →
基于NE555的可调延时开关定时器电路设计与实践

基于NE555的可调延时开关定时器电路设计与实践

1. 项目概述:一个可调延时开关的诞生手头有个小项目,需要控制一个12V的直流风扇,要求在按下启动按钮后,风扇先延迟10秒再转起来,运行个大概5分钟,然后自动停止。听起来简单,市面上也有成品模块&…

2026/8/19 7:10:05 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/19 5:04:55 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →