当前位置: 首页 > 知识库问答 >
问题:

通过macOS中的命令行与Siri交互

姜博
2023-03-14

我在手机上使用Siri和手表在移动中创建提醒。当我在办公室时,我不想使用Siri来打扰安静,所以我通常使用与提醒应用程序集成的Alfred工作流,或者直接使用提醒应用程序。

但是,两者都有一个相当笨重的界面,如果我可以在命令行中键入:

$ siri "remind me to check stack overflow for responses to my question in 15 minutes"

MacOS Sierra已经将Siri引入桌面,但到目前为止,除了大声说话之外,我还无法找到与Siri互动的方法,聚光灯也无法将Siri与自然语言理解相匹配。

苹果已经发布了Siri SDK,但它似乎主要是为了向Siri添加功能,而不是为了公开Siri API。

苹果是否向macOS上的Siri公开了任何类型的API,从而可以通过命令行、系统调用或其他可执行文件发出Siri请求?

注意:我知道这个问题可以在询问不同、超级用户或Unix中找到更好的归宿

共有3个答案

严修谨
2023-03-14

正如Brad Parks所提到的,您可以从辅助功能菜单启用“键入Siri”。您可以使用模拟按键与Siri交互。

我创建了一个简单的Python脚本,当从命令行调用时,它的行为就像您的问题中请求的那样。

该脚本使用键盘Python模块。

#!/usr/bin/python
import sys
import time
import keyboard

def trigger_siri():
    keyboard.press('command+space')
    time.sleep(0.3)
    keyboard.release('command+space')
    time.sleep(0.2)  # Wait for Siri to load

if __name__=='__main__':
    trigger_siri()
    keyboard.write(sys.argv[1])
    keyboard.send('enter')
鲜于温书
2023-03-14

这不是来自命令行,而是更靠近。。。我还没有测试过,但在High Sierra中,有一种方法可以使用辅助功能设置,使您能够使用键盘询问Siri问题。

从这里钩住:https://www.macworld.co.uk/news/mac-software/how-use-siri-on-mac-3536158/

龚凌
2023-03-14

我今天想要的是同样的功能-我让它工作了,但可以改进:https://youtu.be/VRLGCRrReog

TLDR是流氓阿米巴使用环回,并将Siri的输入麦克风更改为环回。然后使用例如终端中的说命令。

 类似资料:
  • 一些注意事项: 1。我最初使用的TestNG jar来自java项目中的maven repo。下面的所有方法都是用maven testNG jar和新的TestNG6.9.12下载进行测试的。 2。我可以从Eclipse中运行这个文件。只有当我尝试从命令行运行时才有问题。 3。最终目标是通过javafx应用程序按钮触发命令行来运行测试。如果提供的解决方案避免在cmd中键入绝对路径,因为应用程序将在

  • MOAC母链客户端使用了和以太坊类似的交互式命令行。用户可以在命令行(console)中执行内置的JAVA script命令或者利用脚本(script),输出结果显示在命令行中。 这里使用的chain3对象,是MOAC参考以太坊,而开发的一套javascript库,目的是让应用程序能够与MOAC的VNODE和SCS节点进行通信。注意,这里有两层,moac启动了一个MOAC VNODE节点,cons

  • 本文向大家介绍通过什么命令查找执行命令?相关面试题,主要包含被问及通过什么命令查找执行命令?时的应答技巧和注意事项,需要的朋友参考一下 答案: which 只能查可执行文件 whereis 只能查二进制文件、说明文档,源文件等  

  • 问题内容: 我发现了几个用于通过Java类运行cmd命令的代码段,但我无法理解。 这是打开cmd的代码 我找到了一些其他链接来添加其他命令,例如cd http://www.coderanch.com/t/109753/Linux-UNIX/exec-command-cd-command-java 如何使用Java打开命令提示符并插入命令? 谁能帮助我了解如何CD目录,例如: 然后在该目录上运行其他

  • 问题内容: 我有一个CentOS 5.7 linux服务器,并使用php5.3.x。 在pfSense系统上,您可以使用php网页重新启动需要root权限的服务。 我正在尝试做类似的事情,我已经写了一些php代码来执行shell命令。例如,重新启动sshd服务: 我试图通过exec函数执行该命令,但是它需要root权限,但是我们拥有apache用户权限。 我遇到了一些解决方案: “以root用户运

  • 我找到了几个通过Java类运行cmd命令的代码片段,但我无法理解。 这是打开命令的代码 我还找到了一些添加其他命令的链接,比如cdhttp://www.coderanch.com/t/109753/Linux-UNIX/exec-command-cd-command-java 如何使用Java打开命令提示符并插入命令? 有人能帮我了解如何cd目录,例如: 然后在该目录上运行其他命令?